Similar to std::ostringstream, but with the ability to swap character content. Has some similarity to std::ospanstream (C++23) More...
Public Member Functions | |
ocharstream () | |
Default construct - empty. More... | |
ocharstream (List< char > &&buffer) | |
Move construct from List. More... | |
template<int SizeMin> | |
ocharstream (DynamicList< char, SizeMin > &&buffer) | |
Move construct from DynamicList. More... | |
std::streampos | output_pos () const |
The current output position within the buffer (tellp) More... | |
std::streamsize | count () const |
The number of bytes outputted. More... | |
std::streamsize | capacity () const |
The put buffer capacity. More... | |
void | reserve (const std::streamsize n) |
Reserve output space for at least this amount. More... | |
void | rewind () |
Rewind the stream, clearing any old errors. More... | |
UList< char > | list () const |
Span of the current output characters (is modifiable!) More... | |
auto | view () const -> decltype(buffer_type::view()) |
A string_view (c++17) or span view (older c++) of buffer contents. More... | |
std::string | str () const |
For ostringstream compatibility, return the buffer as string copy. More... | |
void | swap (List< char > &other) |
Exchange stream content and parameter contents, reset positions. More... | |
template<int SizeMin> | |
void | swap (DynamicList< char, SizeMin > &other) |
Exchange stream content and parameter contents, reset positions. More... | |
DynamicList< char > | release () |
Reset buffer and return contents. More... | |
void | debug_info (Ostream &os) const |
Some information about the output buffer position/capacity. More... | |
Additional Inherited Members | |
Protected Member Functions inherited from memorybuf::out_dynamic | |
virtual int | overflow (int_type c=traits_type::eof()) |
Handle overflow. More... | |
virtual std::streamsize | xsputn (const char *s, std::streamsize n) |
Put sequence of characters. More... | |
out_dynamic (size_t nbytes=512) | |
Default construct with initial reserved number of bytes. More... | |
out_dynamic (::Foam::List< char > &&buffer) | |
Move construct from List. More... | |
template<int SizeMin> | |
out_dynamic (::Foam::DynamicList< char, SizeMin > &&buffer) | |
Move construct from DynamicList (uses entire capacity) More... | |
void | reserve (const std::streamsize len) |
Increment capacity (if needed) and adjust buffer pointers. More... | |
void | sync_pbuffer () |
Sync put buffer pointers to agree with list dimensions. More... | |
void | clearStorage () |
Clear storage. More... | |
void | shrink () |
Shrink storage to addressed storage. More... | |
void | swap (List< char > &other) |
Exchange buffer content and parameter contents, reset positions. More... | |
template<int SizeMin> | |
void | swap (DynamicList< char, SizeMin > &other) |
Exchange buffer content and parameter contents, reset positions. More... | |
DynamicList< char > | release () |
Reset buffer and return contents as a DynamicList. The list size corresponds to the region of output. More... | |
out_base ()=default | |
Default construct. More... | |
out_base (char *s, std::streamsize n) | |
Construct for character array (can be nullptr) and number of bytes. More... | |
void | resetp (char *s, std::streamsize n) |
Reset put buffer with character data (can be nullptr) and count. More... | |
std::streamsize | span_tellp () const |
The current buffer put position. More... | |
std::streamsize | span_capacity () const |
The put buffer capacity. More... | |
char * | data_bytes () const |
The span data (start of output characters) More... | |
std::streamsize | size_bytes () const |
The span size (size of output buffer) More... | |
stdFoam::span< const char > | view () const |
void | info (Ostream &os) const |
Some information about the output buffer position/capacity. More... | |
Protected Member Functions inherited from memorybuf | |
virtual std::streampos | seekoff (std::streamoff off, std::ios_base::seekdir way, std::ios_base::openmode which=std::ios_base::in|std::ios_base::out) |
Set position pointer to relative position. More... | |
virtual std::streampos | seekpos (std::streampos pos, std::ios_base::openmode which=std::ios_base::in|std::ios_base::out) |
Set position pointer to absolute position. More... | |
Similar to std::ostringstream, but with the ability to swap character content. Has some similarity to std::ospanstream (C++23)
Definition at line 64 of file OCharStream.H.
|
inline |
Default construct - empty.
Definition at line 80 of file OCharStream.H.
|
inline |
Move construct from List.
Definition at line 89 of file OCharStream.H.
References ocharstream::swap().
|
inline |
Move construct from DynamicList.
Definition at line 100 of file OCharStream.H.
References ocharstream::swap().
|
inline |
The current output position within the buffer (tellp)
Definition at line 113 of file OCharStream.H.
References memorybuf::out_base::span_tellp().
Referenced by ocharstream::debug_info(), OCharStream::output_pos(), and OCharStream::tellp().
|
inline |
The number of bytes outputted.
Definition at line 121 of file OCharStream.H.
References memorybuf::out_base::size_bytes().
Referenced by OCharStream::count(), and OCharStream::size().
|
inline |
The put buffer capacity.
Definition at line 129 of file OCharStream.H.
References memorybuf::out_base::span_capacity().
Referenced by OCharStream::capacity(), and ocharstream::debug_info().
|
inline |
Reserve output space for at least this amount.
Definition at line 137 of file OCharStream.H.
References n, and memorybuf::out_dynamic::reserve().
Referenced by OCharStream::reserve().
|
inline |
Rewind the stream, clearing any old errors.
Definition at line 145 of file OCharStream.H.
References clear().
Referenced by OCharStream::rewind().
|
inline |
Span of the current output characters (is modifiable!)
Definition at line 154 of file OCharStream.H.
References memorybuf::out_base::data_bytes(), and memorybuf::out_base::size_bytes().
Referenced by OCharStream::list().
|
inline |
A string_view (c++17) or span view (older c++) of buffer contents.
Definition at line 166 of file OCharStream.H.
References memorybuf::out_base::view().
Referenced by OCharStream::view().
|
inline |
For ostringstream compatibility, return the buffer as string copy.
Use sparingly - it creates a full copy!!
Definition at line 176 of file OCharStream.H.
References memorybuf::out_base::data_bytes(), and memorybuf::out_base::size_bytes().
Referenced by OCharStream::str().
|
inline |
Exchange stream content and parameter contents, reset positions.
Definition at line 188 of file OCharStream.H.
References clear(), and memorybuf::out_dynamic::swap().
Referenced by ocharstream::ocharstream(), OCharStream::OCharStream(), and OCharStream::swap().
|
inline |
Exchange stream content and parameter contents, reset positions.
Definition at line 198 of file OCharStream.H.
References clear(), and memorybuf::out_dynamic::swap().
|
inline |
Reset buffer and return contents.
Definition at line 207 of file OCharStream.H.
References clear(), and memorybuf::out_dynamic::release().
Referenced by OCharStream::release().
|
inline |
Some information about the output buffer position/capacity.
Definition at line 217 of file OCharStream.H.
References ocharstream::capacity(), os(), and ocharstream::output_pos().