|
xentara-utils v2.0.6
The Xentara Utility Library
|
Common base class for specializations of MemoryOutputStream. More...
#include <xentara/utils/io/MemoryOutputStream.hpp>
Inheritance diagram for xentara::utils::io::MemoryOutputStreamBase< Element >: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.