Represents a buffer that wraps System::IO::Stream-like streams and allows them to be used as an std::iostream-like streams internal buffer.
More...
#include "system_stream_wrappers.h"
Inherits basic_streambuf< Elem, Traits >.
|
virtual int_type | overflow (int_type meta=traits_type::eof()) override |
| Put a character to the stream and advances one position forward. More...
|
|
virtual int_type | underflow () override |
| Get an element from stream, but don't advances position. More...
|
|
virtual int_type | uflow () override |
| Get an element from stream and advances one position forward. More...
|
|
virtual int_type | pbackfail (int_type meta=traits_type::eof()) override |
| Put an element to stream on previous position. More...
|
|
virtual pos_type | seekoff (off_type off, std::ios_base::seekdir way, std::ios_base::openmode mode=std::ios_base::in|std::ios_base::out) override |
| Change position by off , according to way , mode . More...
|
|
virtual pos_type | seekpos (pos_type pos, std::ios_base::openmode mode=std::ios_base::in|std::ios_base::out) override |
| Set position pointer to absolute pos position. More...
|
|
virtual std::streamsize | showmanyc () override |
| Get number of characters available. More...
|
|
void | Tidy () |
| Set all pointers to nullptr. More...
|
|
template<typename Elem, typename Traits = std::char_traits<Elem>>
class System::IO::BasicSystemIOStreamBuf< Elem, Traits >
Represents a buffer that wraps System::IO::Stream-like streams and allows them to be used as an std::iostream-like streams internal buffer.
◆ char_type
template<typename Elem, typename Traits = std::char_traits<Elem>>
◆ int_type
template<typename Elem, typename Traits = std::char_traits<Elem>>
◆ Mysb
template<typename Elem, typename Traits = std::char_traits<Elem>>
◆ off_type
template<typename Elem, typename Traits = std::char_traits<Elem>>
◆ pos_type
template<typename Elem, typename Traits = std::char_traits<Elem>>
◆ traits_type
template<typename Elem, typename Traits = std::char_traits<Elem>>
◆ ~BasicSystemIOStreamBuf()
template<typename Elem, typename Traits = std::char_traits<Elem>>
◆ BasicSystemIOStreamBuf() [1/4]
template<typename Elem, typename Traits = std::char_traits<Elem>>
◆ BasicSystemIOStreamBuf() [2/4]
template<typename Elem, typename Traits = std::char_traits<Elem>>
◆ BasicSystemIOStreamBuf() [3/4]
template<typename Elem, typename Traits = std::char_traits<Elem>>
Copy constructor. Deleted.
◆ BasicSystemIOStreamBuf() [4/4]
template<typename Elem, typename Traits = std::char_traits<Elem>>
Move constructor.
- Parameters
-
◆ AssignRV()
template<typename Elem, typename Traits = std::char_traits<Elem>>
Used in move constructor and move assignment operator to reset pointers and call swap().
- Parameters
-
right | Rvalue reference to object to be swap |
◆ operator=() [1/2]
template<typename Elem, typename Traits = std::char_traits<Elem>>
Copy assignment operator. Deleted.
◆ operator=() [2/2]
template<typename Elem, typename Traits = std::char_traits<Elem>>
Move assignment operator.
- Parameters
-
- Returns
- *this
◆ overflow()
template<typename Elem, typename Traits = std::char_traits<Elem>>
|
inlineoverrideprotectedvirtual |
Put a character to the stream and advances one position forward.
- Parameters
-
meta | A character to be put |
- Returns
- If succeeded, returns new position. Otherwice returns -1
◆ pbackfail()
template<typename Elem, typename Traits = std::char_traits<Elem>>
|
inlineoverrideprotectedvirtual |
Put an element to stream on previous position.
- Parameters
-
meta | A character to be put |
- Returns
- If succeeded, returns new position. Otherwice returns -1
◆ seekoff()
template<typename Elem, typename Traits = std::char_traits<Elem>>
|
inlineoverrideprotectedvirtual |
Change position by off
, according to way
, mode
.
- Parameters
-
off | Offset value, relative to the way parameter |
way | Object of type std::ios_base::seekdir, indicating the origin from which the offset is applied |
mode | Generally used to determine the position on which of the controlled sequences shall be modified: the input sequence, the output sequence, or both |
- Returns
- If succeeded, returns new position. Otherwice returns -1
◆ seekpos()
template<typename Elem, typename Traits = std::char_traits<Elem>>
|
inlineoverrideprotectedvirtual |
Set position pointer to absolute pos
position.
- Parameters
-
pos | New absolute position for the position pointer |
mode | Generally used to determine the position on which of the controlled sequences shall be modified: the input sequence, the output sequence, or both |
- Returns
- If succeeded, returns new position. Otherwice returns -1
◆ showmanyc()
template<typename Elem, typename Traits = std::char_traits<Elem>>
|
inlineoverrideprotectedvirtual |
Get number of characters available.
◆ swap()
template<typename Elem, typename Traits = std::char_traits<Elem>>
Call to swap *this and right, if they are not equal.
- Parameters
-
right | Rvalue reference to object to be swap |
◆ Tidy()
template<typename Elem, typename Traits = std::char_traits<Elem>>
Set all pointers to nullptr.
◆ uflow()
template<typename Elem, typename Traits = std::char_traits<Elem>>
|
inlineoverrideprotectedvirtual |
Get an element from stream and advances one position forward.
- Returns
- If succeeded, returns new position. Otherwice returns -1
◆ underflow()
template<typename Elem, typename Traits = std::char_traits<Elem>>
|
inlineoverrideprotectedvirtual |
Get an element from stream, but don't advances position.
- Returns
- If succeeded, returns current position. Otherwice returns -1