Logo
C++ Rest SDK
The C++ REST SDK is a Microsoft project for cloud-based client-server communication in native code using a modern asynchronous C++ API design. This project aims to help C++ developers connect to and interact with services.
Public Types | Public Member Functions | List of all members
Concurrency::streams::container_buffer< _CollectionType > Class Template Reference

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...

#include <containerstream.h>

Inheritance diagram for Concurrency::streams::container_buffer< _CollectionType >:

Public Types

typedef _CollectionType::value_type  char_type
 
typedef details::basic_streambuf< _CollectionType::value_type >::traits  traits
 
typedef details::basic_streambuf< _CollectionType::value_type >::int_type  int_type
 
typedef details::basic_streambuf< _CollectionType::value_type >::pos_type  pos_type
 
typedef details::basic_streambuf< _CollectionType::value_type >::off_type  off_type
 
typedef details::basic_streambuf< _CollectionType::value_type >::char_type  char_type
 
typedef _CollectionType::value_type  char_type
 
typedef ::concurrency::streams::char_traits< _CollectionType::value_type >  traits
 
typedef traits::int_type  int_type
 
typedef traits::pos_type  pos_type
 
typedef traits::off_type  off_type
 

Public Member Functions

  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
 
- Public Member Functions inherited from Concurrency::streams::streambuf< _CollectionType::value_type >
  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...
 

Detailed Description

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.

Constructor & Destructor Documentation

template<typename _CollectionType >
Concurrency::streams::container_buffer< _CollectionType >::container_buffer ( _CollectionType  data,
std::ios_base::openmode  mode = std::ios_base::in 
)
inline

Creates a container_buffer given a collection, copying its data into the buffer.

Parameters
data The collection that is the starting point for the buffer
mode The I/O mode that the buffer should use (in / out)
template<typename _CollectionType >
Concurrency::streams::container_buffer< _CollectionType >::container_buffer ( std::ios_base::openmode  mode = std::ios_base::out )
inline

Creates a container_buffer starting from an empty collection.

Parameters
mode The I/O mode that the buffer should use (in / out)

The documentation for this class was generated from the following file:

Generated by   doxygen 1.8.10

AltStyle によって変換されたページ (->オリジナル) /