class axl::sl::CircularBuffer

#include <axl_sl_CircularBuffer.h>

class CircularBuffer
{
public:
    // construction

    CircularBuffer();

    // methods

    bool
    isValid() const;

    bool
    isEmpty() const;

    bool
    isFull() const;

    size_t
    getBufferSize() const;

    bool
    setBufferSize(size_t size);

    size_t
    getDataSize() const;

    void
    clear();

    size_t
    readAll(sl::Array<char>* buffer);

    sl::Array<char>
    readAll();

    size_t
    read(
        void* p,
        size_t size
        );

    size_t
    write(
        const void* p,
        size_t size
        );

    size_t
    drop(size_t size);
};