1#ifndef __RING_BUFFER_WRAPPER_H__
2#define __RING_BUFFER_WRAPPER_H__
22 bool empty()
noexcept;
33 size_t getMultiple(uint8_t *dst,
size_t len)
noexcept;
37 void clean()
noexcept;
40 T
get_as(
bool* ok)
noexcept;
60 if (!std::is_pod<T>::value) {
65 if (length() <
sizeof(T))
71 size_t len = peekMultiple(
static_cast<uint8_t*
>(&
data),
sizeof(T));
76 *ok = len ==
sizeof(T);
83 T
data = peek_as<T>(ok);
85 discardMultiple(
sizeof(T));
93 return length() /
sizeof(T);
virtual ~RingBufferWrapper() noexcept
size_t appendOne(uint8_t data) noexcept
size_t freeSpace() noexcept
T peek_as(bool *ok) noexcept
size_t peekOne(uint8_t *data) noexcept
T get_as(bool *ok) noexcept
size_t discardMultiple(size_t len) noexcept
size_t capacity() noexcept
size_t peekMultiple(uint8_t *dst, size_t len) noexcept
RingBufferWrapper(uint8_t *data, uint32_t len) noexcept
size_t numElements() noexcept
size_t getMultiple(uint8_t *dst, size_t len) noexcept
size_t getOne(uint8_t *data) noexcept
size_t appendMultiple(const uint8_t *data, size_t len) noexcept