The basic_container_buffer class serves as a memory-based steam buffer that supports writing or reading sequences of characters. Note that it cannot be used as a consumer producer buffer.
More...
|
| container_buffer (_CollectionType data, std::ios_base::openmode mode=std::ios_base::in) |
| Creates a container_buffer given a collection, copying its data into the buffer. More...
|
|
| container_buffer (std::ios_base::openmode mode=std::ios_base::out) |
| Creates a container_buffer starting from an empty collection. More...
|
|
_CollectionType & | collection () const |
|
| streambuf (_In_ const std::shared_ptr< details::basic_streambuf< _CollectionType::value_type >> &ptr) |
| Constructor. More...
|
|
| streambuf () |
| Default constructor. More...
|
|
| streambuf (const streambuf< AlterCharType > &other) |
| Converter Constructor. More...
|
|
concurrency::streams::basic_istream< _CollectionType::value_type > | create_istream () const |
| Constructs an input stream head for this stream buffer. More...
|
|
concurrency::streams::basic_ostream< _CollectionType::value_type > | create_ostream () const |
| Constructs an output stream for this stream buffer. More...
|
|
| operator bool () const |
| Checks if the stream buffer has been initialized or not. More...
|
|
virtual | ~streambuf () |
| Destructor More...
|
|
const std::shared_ptr< details::basic_streambuf< _CollectionType::value_type > > & | get_base () const |
|
virtual bool | can_read () const |
| can_read is used to determine whether a stream buffer will support read operations (get). More...
|
|
virtual bool | can_write () const |
| can_write is used to determine whether a stream buffer will support write operations (put). More...
|
|
virtual bool | can_seek () const |
| can_seek is used to determine whether a stream buffer supports seeking. More...
|
|
virtual bool | has_size () const |
| has_size is used to determine whether a stream buffer supports size(). More...
|
|
virtual utility::size64_t | size () const |
| Gets the total number of characters in the stream buffer, if known. Calls to has_size will determine whether the result of size can be relied on. More...
|
|
virtual size_t | buffer_size (std::ios_base::openmode direction=std::ios_base::in) const |
| Gets the stream buffer size, if one has been set. More...
|
|
virtual void | set_buffer_size (size_t size, std::ios_base::openmode direction=std::ios_base::in) |
| Sets the stream buffer implementation to buffer or not buffer. More...
|
|
virtual size_t | in_avail () const |
| For any input stream, in_avail returns the number of characters that are immediately available to be consumed without blocking. May be used in conjunction with <cref="::sbumpc method"/> to read data without incurring the overhead of using tasks. More...
|
|
virtual bool | is_open () const |
| Checks if the stream buffer is open. More...
|
|
virtual bool | is_eof () const |
| is_eof is used to determine whether a read head has reached the end of the buffer. More...
|
|
virtual pplx::task< void > | close (std::ios_base::openmode mode=(std::ios_base::in|std::ios_base::out)) |
| Closes the stream buffer, preventing further read or write operations. More...
|
|
virtual pplx::task< void > | close (std::ios_base::openmode mode, std::exception_ptr eptr) |
| Closes the stream buffer with an exception. More...
|
|
virtual pplx::task< int_type > | putc (_CollectionType::value_type ch) |
| Writes a single character to the stream. More...
|
|
virtual _CollectionType::value_type * | alloc (size_t count) |
| Allocates a contiguous memory block and returns it. More...
|
|
virtual void | commit (size_t count) |
| Submits a block already allocated by the stream buffer. More...
|
|
virtual bool | acquire (_Out_ _CollectionType::value_type *&ptr, _Out_ size_t &count) |
| Gets a pointer to the next already allocated contiguous block of data. More...
|
|
virtual void | release (_Out_writes_(count) _CollectionType::value_type *ptr, _In_ size_t count) |
| Releases a block of data acquired using ::acquire method. This frees the stream buffer to de-allocate the memory, if it so desires. Move the read position ahead by the count. More...
|
|
virtual pplx::task< size_t > | putn (const _CollectionType::value_type *ptr, size_t count) |
| Writes a number of characters to the stream. More...
|
|
virtual pplx::task< size_t > | putn_nocopy (const _CollectionType::value_type *ptr, size_t count) |
| Writes a number of characters to the stream. Note: callers must make sure the data to be written is valid until the returned task completes. More...
|
|
virtual pplx::task< int_type > | bumpc () |
| Reads a single character from the stream and advances the read position. More...
|
|
virtual details::basic_streambuf< _CollectionType::value_type >::int_type | sbumpc () |
| Reads a single character from the stream and advances the read position. More...
|
|
virtual pplx::task< int_type > | getc () |
| Reads a single character from the stream without advancing the read position. More...
|
|
virtual details::basic_streambuf< _CollectionType::value_type >::int_type | sgetc () |
| Reads a single character from the stream without advancing the read position. More...
|
|
pplx::task< int_type > | nextc () |
| Advances the read position, then returns the next character without advancing again. More...
|
|
pplx::task< int_type > | ungetc () |
| Retreats the read position, then returns the current character without advancing. More...
|
|
virtual pplx::task< size_t > | getn (_Out_writes_(count) _CollectionType::value_type *ptr, _In_ size_t count) |
| Reads up to a given number of characters from the stream. More...
|
|
virtual size_t | scopy (_Out_writes_(count) _CollectionType::value_type *ptr, _In_ size_t count) |
| Copies up to a given number of characters from the stream, synchronously. More...
|
|
virtual details::basic_streambuf< _CollectionType::value_type >::pos_type | getpos (std::ios_base::openmode direction) const |
| Gets the current read or write position in the stream. More...
|
|
virtual details::basic_streambuf< _CollectionType::value_type >::pos_type | seekpos (typename details::basic_streambuf< _CollectionType::value_type >::pos_type pos, std::ios_base::openmode direction) |
| Seeks to the given position. More...
|
|
virtual details::basic_streambuf< _CollectionType::value_type >::pos_type | seekoff (typename details::basic_streambuf< _CollectionType::value_type >::off_type offset, std::ios_base::seekdir way, std::ios_base::openmode mode) |
| Seeks to a position given by a relative offset. More...
|
|
virtual pplx::task< void > | sync () |
| For output streams, flush any internally buffered data to the underlying medium. More...
|
|
virtual std::exception_ptr | exception () const |
| Retrieves the stream buffer exception_ptr if it has been set. More...
|
|
virtual | ~basic_streambuf () |
| Virtual constructor for stream buffers. More...
|
|
virtual pos_type | seekpos (pos_type pos, std::ios_base::openmode direction)=0 |
| Seeks to the given position. More...
|
|
virtual pos_type | seekoff (off_type offset, std::ios_base::seekdir way, std::ios_base::openmode mode)=0 |
| Seeks to a position given by a relative offset. More...
|
|
virtual _CollectionType::value_type * | alloc (_In_ size_t count)=0 |
| Allocates a contiguous memory block and returns it. More...
|
|
virtual void | commit (_In_ size_t count)=0 |
| Submits a block already allocated by the stream buffer. More...
|
|
template<typename _CollectionType>
class Concurrency::streams::container_buffer< _CollectionType >
The basic_container_buffer class serves as a memory-based steam buffer that supports writing or reading sequences of characters. Note that it cannot be used as a consumer producer buffer.
- Template Parameters
-
_CollectionType | The type of the container. |
This is a reference-counted version of basic_container_buffer
.