3#include <StormByte/buffer/shared.hxx>
93 std::
size_t AvailableBytes() const noexcept;
106 void Discard(const std::
size_t& length, const
Read::Position& mode) noexcept;
112 bool End() const noexcept;
118 bool Empty() const noexcept;
140 bool HasEnoughData(const std::
size_t& length) const;
147 std::
string HexData(const std::
size_t& column_size = 16) const;
153 bool IsEoF() const noexcept;
159 bool IsReadable() const noexcept;
171 std::
size_t Position() const noexcept;
185 void Seek(const std::ptrdiff_t& position, const
Read::Position& mode) const;
191 std::
size_t Size() const noexcept;
206 std::shared_ptr<
Shared> m_shared;
Exception class for buffer overflow errors.
Definition exception.hxx:48
A read-only interface for accessing a shared buffer.
Definition consumer.hxx:37
Consumer() noexcept
Default constructor.
A write-only interface for accessing a shared buffer.
Definition producer.hxx:43
A thread-safe version of the Simple buffer.
Definition shared.hxx:41
Namespace for buffer-related components in the StormByte library.
Namespace for read-related utilities in the StormByte library.
Namespace for buffer-related components in the StormByte library.
Definition consumer.hxx:19
Expected< Byte, T > ExpectedByte
Represents a single byte with error handling.
Definition typedefs.hxx:143
Expected< Data, T > ExpectedData
Represents a collection of bytes with error handling.
Definition typedefs.hxx:155
std::vector< Byte > Data
Represents collection of bytes stored in the buffer.
Definition typedefs.hxx:139
Status
Defines the status of the buffer during producer/consumer operations.
Definition typedefs.hxx:106