xentara-utils v2.0.4
The Xentara Utility Library
|
Common base class for specializations of MemoryOutputStream. More...
#include <xentara/utils/io/MemoryOutputStream.hpp>
Public Types | |
using | size_type = std::size_t |
The type used for sizes. | |
using | difference_type = std::ptrdiff_t |
The type used for distances. | |
Public Types inherited from xentara::utils::io::OutputStream< Element > | |
using | element_type = Element |
The element type. | |
Public Member Functions | |
auto | empty () const noexcept -> bool |
Determines whether the data is empty. | |
auto | size () const noexcept -> size_type |
Gets the size of the data. | |
auto | capacity () const noexcept -> size_type |
Gets the capacity of the data. | |
Public Member Functions inherited from xentara::utils::io::OutputStream< Element > | |
virtual | ~OutputStream () noexcept(false)=0 |
Virtual, throwing destructor. | |
auto | write (Element element) -> void |
Write a single element to the stream. | |
template<std::ranges::contiguous_range Data> requires std::same_as<std::remove_cv_t<std::ranges::range_value_t<Data>>, Element> | |
auto | write (const Data &data) -> void |
Write a block of data. | |
template<std::size_t kDataSize> | |
auto | write (const Element(&data)[kDataSize]) -> void |
Write a block of data contained in an array. | |
template<std::contiguous_iterator Iterator, std::sized_sentinel_for< Iterator > Sentinel> requires std::same_as<std::remove_cv_t<std::iter_value_t<Iterator>>, Element> | |
auto | write (Iterator first, Sentinel last) -> void |
Write a block of data contained in an iterator range. | |
auto | write (const Element *data, std::size_t size) -> void |
Write a block of data contained in a region of memory. | |
auto | write (const Element *nullTerminatedString) -> void |
Write a NULL-teminated string. | |
auto | flush () -> void |
Flushes the buffer. | |
Public Member Functions inherited from xentara::utils::io::StreamBase | |
virtual | ~StreamBase () noexcept(false)=0 |
Virtual, throwing destructor. | |
auto | streamDescription () const -> std::string |
Get a description of the device. | |
Additional Inherited Members | |
Protected Member Functions inherited from xentara::utils::io::OutputStream< Element > | |
OutputStream () noexcept=default | |
Default constructor. | |
OutputStream (Element *bufferBegin, Element *bufferEnd) noexcept | |
Constructor that sets an initially empty buffer. | |
OutputStream (Element *bufferBegin, Element *bufferEnd, Element *dataEnd) noexcept | |
Constructor that sets a buffer that possibly already contains some data. | |
OutputStream (OutputStream &&other) noexcept | |
Move constructor. | |
auto | operator= (OutputStream &&rhs) noexcept -> OutputStream & |
Move assignemnt operator. | |
auto | setWriteBuffer (Element *bufferBegin, Element *bufferEnd) noexcept -> void |
Sets a new empty buffer. | |
auto | setWriteBuffer (Element *bufferBegin, Element *bufferEnd, Element *dataEnd) noexcept -> void |
Sets the buffer. | |
auto | setWriteDataEnd (Element *dataEnd) noexcept -> void |
Sets the end of the data within the buffer. | |
auto | writeBufferBegin () const -> Element * |
Writes back the buffer start position. | |
auto | writeBufferEnd () const -> Element * |
Writes back the buffer end position. | |
auto | writeBufferSize () const -> std::size_t |
Gets the buffer size. | |
auto | writeDataBegin () const -> Element * |
Returns the beginning of data in the buffer. | |
auto | writeDataEnd () const -> Element * |
Returns the end of the data in the buffer. | |
auto | writeDataSize () const -> std::size_t |
Returns the size of the unwritten data in the buffer. | |
auto | freeBufferBegin () const -> Element * |
Returns the beginning of the free region of the buffer. | |
auto | freeBufferSize () const -> std::size_t |
Returns the size of the unwritten data in the buffer. | |
virtual auto | doFlushWriteBuffer () -> void |
Called by the framework to write the buffered data to the underlying device once it is full. | |
virtual auto | doWrite (const Element *data, std::size_t size) -> std::size_t=0 |
Called by the framework to write data from a memory region to the underlying device. | |
Protected Member Functions inherited from xentara::utils::io::StreamBase | |
virtual auto | doGetStreamDescription () const -> std::string=0 |
Called by the framework to get a description of the stream. | |
Common base class for specializations of MemoryOutputStream.
using xentara::utils::io::MemoryOutputStreamBase< Element >::difference_type = std::ptrdiff_t |
The type used for distances.
using xentara::utils::io::MemoryOutputStreamBase< Element >::size_type = std::size_t |
The type used for sizes.
|
noexcept |
Gets the capacity of the data.
|
noexcept |
Determines whether the data is empty.
|
noexcept |
Gets the size of the data.