Template Class PcBuffer#
Defined in File PcBuffer.h
Inheritance Relationships#
Base Types#
public Coral::PcBufferWriter< PcBuffer< depth, std::byte, sizeof(std::byte), NoopLock >, std::byte >(Template Class PcBufferWriter)public Coral::PcBufferReader< PcBuffer< depth, std::byte, sizeof(std::byte), NoopLock >, std::byte >(Template Class PcBufferReader)
Class Documentation#
-
template<std::size_t depth, typename element_t = std::byte, std::size_t alignment = sizeof(element_t), class Lock = NoopLock>
class PcBuffer : public Coral::PcBufferWriter<PcBuffer<depth, std::byte, sizeof(std::byte), NoopLock>, std::byte>, public Coral::PcBufferReader<PcBuffer<depth, std::byte, sizeof(std::byte), NoopLock>, std::byte># Public Types
Public Functions
-
inline PcBuffer(bool _auto_service = false, ServiceCallback _space_available = nullptr, ServiceCallback _data_available = nullptr)#
-
inline void set_space_available(ServiceCallback _space_available = nullptr)#
-
inline void set_data_available(ServiceCallback _data_available = nullptr)#
-
inline bool empty(void)#
-
inline bool full(void)#
-
inline void clear()#
-
inline void flush(void)#
Public Members
-
PcBufferState state#
Protected Functions
-
inline void service_data(bool required = false)#
-
inline void service_space(bool required = false)#
Protected Attributes
-
CircularBuffer<depth, element_t, alignment> buffer#
-
ServiceCallback space_available#
-
ServiceCallback data_available#
-
bool auto_service#
-
inline PcBuffer(bool _auto_service = false, ServiceCallback _space_available = nullptr, ServiceCallback _data_available = nullptr)#