|
StormByte C++ Library: Buffer module 1.2.0
StormByte-Buffer is the buffer module of the StormByte C++ suite.
|
Adapter that turns any WriteOnly buffer into an ExternalWriter. More...
#include <StormByte/buffer/external.hxx>


Public Member Functions | |
Constructors / destructor / assignment | |
| ExternalBufferWriter (WriteOnly &buffer) noexcept | |
| Construct from a WriteOnly reference. | |
| ExternalBufferWriter (const ExternalBufferWriter &)=default | |
| ExternalBufferWriter (ExternalBufferWriter &&) noexcept=default | |
| ~ExternalBufferWriter () noexcept override | |
| ExternalBufferWriter & | operator= (const ExternalBufferWriter &)=default |
| ExternalBufferWriter & | operator= (ExternalBufferWriter &&) noexcept=default |
Clonable | |
| PointerType | Clone () const noexcept override |
| Polymorphic copy. | |
| PointerType | Move () noexcept override |
| Polymorphic move. | |
Queries / writing / lifecycle | |
All operations forward to the referenced WriteOnly. | |
| bool | IsWritable () const noexcept override |
| Whether the sink still accepts writes. | |
| bool | Write (const DataType &data) noexcept override |
| Write (copy) a full byte vector. | |
| bool | Write (DataType &&data) noexcept override |
| Write (move) a full byte vector. | |
| bool | Write (std::size_t count, const DataType &data) noexcept override |
Write up to count bytes from a vector (copy). | |
| bool | Write (std::size_t count, DataType &&data) noexcept override |
Write up to count bytes from a vector (move). | |
| void | Close () noexcept override |
| Mark the sink closed for further writes. | |
| void | SetError () noexcept override |
| Put the sink into a permanent error state. | |
Public Member Functions inherited from StormByte::Buffer::ExternalWriter | |
| ExternalWriter () noexcept=default | |
| ExternalWriter (const ExternalWriter &)=default | |
| ExternalWriter (ExternalWriter &&) noexcept=default | |
| ~ExternalWriter () noexcept override | |
| ExternalWriter & | operator= (const ExternalWriter &)=default |
| ExternalWriter & | operator= (ExternalWriter &&) noexcept=default |
| bool | Write (std::string_view sv) noexcept |
| Write a string view (no terminating NUL). | |
| bool | Write (const char *s) noexcept |
| Write a null-terminated C string. | |
| bool | Write (std::size_t count, std::string_view sv) noexcept |
Write up to count characters from a string view. | |
| template<std::size_t N> | |
| bool | Write (const char(&s)[N]) noexcept |
| Write a string literal without the trailing NUL. | |
Adapter that turns any WriteOnly buffer into an ExternalWriter.
Close() and SetError() are forwarded to the underlying WriteOnly (which declares those operations as pure virtuals).
|
inlineexplicitnoexcept |
|
default |
|
defaultnoexcept |
|
overridenoexcept |
|
overridenoexcept |
Polymorphic copy.
|
overridevirtualnoexcept |
Mark the sink closed for further writes.
Subsequent Write() calls must fail. Readers can still drain remaining data. Implementations should wake any waiting readers.
Implements StormByte::Buffer::ExternalWriter.
|
overridevirtualnoexcept |
Whether the sink still accepts writes.
false when the sink has been closed or is in error state. Implements StormByte::Buffer::ExternalWriter.
|
overridenoexcept |
Polymorphic move.
|
default |
|
defaultnoexcept |
|
overridevirtualnoexcept |
Put the sink into a permanent error state.
Makes the sink unreadable and unwritable from the buffer’s perspective. Implementations should wake any waiters.
Implements StormByte::Buffer::ExternalWriter.
|
overridevirtualnoexcept |
Write (copy) a full byte vector.
| data | Data to append. |
true on success, false if the sink is closed / in error. Implements StormByte::Buffer::ExternalWriter.
|
overridevirtualnoexcept |
Write (move) a full byte vector.
| data | Data to append (emptied on success when the implementation moves). |
true on success, false if the sink is closed / in error. Implements StormByte::Buffer::ExternalWriter.
|
overridevirtualnoexcept |
Write up to count bytes from a vector (copy).
| count | Maximum bytes to write (0 = entire vector). |
| data | Source vector. |
true on success, false if the sink is closed / in error. Implements StormByte::Buffer::ExternalWriter.
|
overridevirtualnoexcept |
Write up to count bytes from a vector (move).
| count | Maximum bytes to write (0 = entire vector). |
| data | Source vector (may be modified on success). |
true on success, false if the sink is closed / in error. Implements StormByte::Buffer::ExternalWriter.