Template Class CircularBuffer#

Inheritance Relationships#

Derived Type#

Class Documentation#

template<std::size_t depth, typename element_t = std::byte, std::size_t alignment = sizeof(element_t)>
class CircularBuffer#

Subclassed by Coral::MessageBuffer< depth, max_messages, element_t, alignment >

Public Functions

inline CircularBuffer()#
template<std::endian endianness, byte_size T>
inline std::size_t write(T elem)#
template<std::endian endianness, typename T>
inline std::size_t write(T elem)#
template<std::endian endianness, ifgen_struct T>
inline std::size_t write(const T *elem)#
template<std::endian endianness, byte_size T>
inline T read(void)#
template<std::endian endianness, typename T>
inline T read(void)#
template<std::endian endianness, ifgen_struct T>
inline void read(T *elem)#
inline std::size_t write_single(const element_t elem)#
inline std::size_t write_n(const element_t *elem_array, std::size_t count)#
inline element_t peek(void)#
inline void read_single(element_t &elem)#
inline element_t read_single(void)#
inline void read_n(element_t *elem_array, std::size_t count)#
inline void poll_metrics(uint32_t &_read_count, uint32_t &_write_count, bool reset = true)#
inline uint32_t write_count(bool reset = true)#
inline uint32_t read_count(bool reset = true)#
inline void reset(void)#
inline const element_t *head(void)#

Public Static Attributes

static constexpr std::size_t Depth = depth#

Protected Functions

inline std::size_t write_index(void)#
inline std::size_t read_index(void)#

Protected Attributes

std::array<element_t, depth> buffer#
BufferState state#