diff options
-rw-r--r-- | src/util/StaticFifoBuffer.hxx | 136 |
1 files changed, 68 insertions, 68 deletions
diff --git a/src/util/StaticFifoBuffer.hxx b/src/util/StaticFifoBuffer.hxx index 81d03e43f..67645638e 100644 --- a/src/util/StaticFifoBuffer.hxx +++ b/src/util/StaticFifoBuffer.hxx @@ -46,87 +46,87 @@ template<class T, size_t size> class StaticFifoBuffer { public: - typedef size_t size_type; + typedef size_t size_type; public: - typedef WritableBuffer<T> Range; + typedef WritableBuffer<T> Range; protected: - size_type head, tail; - T data[size]; + size_type head, tail; + T data[size]; public: - constexpr - StaticFifoBuffer():head(0), tail(0) {} + constexpr + StaticFifoBuffer():head(0), tail(0) {} protected: - void Shift() { - if (head == 0) - return; + void Shift() { + if (head == 0) + return; - assert(head <= size); - assert(tail <= size); - assert(tail >= head); + assert(head <= size); + assert(tail <= size); + assert(tail >= head); - std::move(data + head, data + tail, data); + std::move(data + head, data + tail, data); - tail -= head; - head = 0; - } + tail -= head; + head = 0; + } public: - void Clear() { - head = tail = 0; - } - - bool IsEmpty() const { - return head == tail; - } - - bool IsFull() const { - return head == 0 && tail == size; - } - - /** - * Prepares writing. Returns a buffer range which may be written. - * When you are finished, call append(). - */ - Range Write() { - Shift(); - return Range(data + tail, size - tail); - } - - /** - * Expands the tail of the buffer, after data has been written to - * the buffer returned by write(). - */ - void Append(size_type n) { - assert(tail <= size); - assert(n <= size); - assert(tail + n <= size); - - tail += n; - } - - /** - * Return a buffer range which may be read. The buffer pointer is - * writable, to allow modifications while parsing. - */ - Range Read() { - return Range(data + head, tail - head); - } - - /** - * Marks a chunk as consumed. - */ - void Consume(size_type n) { - assert(tail <= size); - assert(head <= tail); - assert(n <= tail); - assert(head + n <= tail); - - head += n; - } + void Clear() { + head = tail = 0; + } + + bool IsEmpty() const { + return head == tail; + } + + bool IsFull() const { + return head == 0 && tail == size; + } + + /** + * Prepares writing. Returns a buffer range which may be written. + * When you are finished, call append(). + */ + Range Write() { + Shift(); + return Range(data + tail, size - tail); + } + + /** + * Expands the tail of the buffer, after data has been written to + * the buffer returned by write(). + */ + void Append(size_type n) { + assert(tail <= size); + assert(n <= size); + assert(tail + n <= size); + + tail += n; + } + + /** + * Return a buffer range which may be read. The buffer pointer is + * writable, to allow modifications while parsing. + */ + Range Read() { + return Range(data + head, tail - head); + } + + /** + * Marks a chunk as consumed. + */ + void Consume(size_type n) { + assert(tail <= size); + assert(head <= tail); + assert(n <= tail); + assert(head + n <= tail); + + head += n; + } }; #endif |