#ifndef _LIVOX_GEN1_MESH_STIMULUS_BUFFER_H #define _LIVOX_GEN1_MESH_STIMULUS_BUFFER_H #include #include #include namespace smo { namespace stim_buff { // Forward declaration class StimulusProducer; /** * MeshStimulusBuffer is a specialized StimulusBuffer for mesh data. */ class MeshStimulusBuffer : public StimulusBuffer { public: explicit MeshStimulusBuffer( StimulusProducer& parent, const std::shared_ptr& deviceAttachmentSpec, int histbuffMs, const StagingBuffer::IOEngineConstraints& inputEngineConstraints, const StagingBuffer::IOEngineConstraints& outputEngineConstraints, const SmoCallbacks& callbacks, cl_mem_flags flags) : StimulusBuffer( parent, deviceAttachmentSpec, histbuffMs, inputEngineConstraints, outputEngineConstraints, callbacks, flags) {} ~MeshStimulusBuffer() = default; // Non-copyable, movable MeshStimulusBuffer(const MeshStimulusBuffer&) = delete; MeshStimulusBuffer& operator=(const MeshStimulusBuffer&) = delete; MeshStimulusBuffer(MeshStimulusBuffer&&) = default; MeshStimulusBuffer& operator=(MeshStimulusBuffer&&) = default; }; } // namespace stim_buff } // namespace smo #endif // _LIVOX_GEN1_MESH_STIMULUS_BUFFER_H