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::rawptr_buffer< _CharType > Class Template Reference

The rawptr_buffer class serves as a memory-based stream buffer that supports reading sequences of characters to or from a fixed-size block. Note that it cannot be used simultaneously for reading as well as writing. More...

#include <rawptrstream.h>

Inheritance diagram for Concurrency::streams::rawptr_buffer< _CharType >:

Public Types

typedef _CharType  char_type
 
- Public Types inherited from Concurrency::streams::streambuf< _CharType >
typedef details::basic_streambuf< _CharType >::traits  traits
 
typedef details::basic_streambuf< _CharType >::int_type  int_type
 
typedef details::basic_streambuf< _CharType >::pos_type  pos_type
 
typedef details::basic_streambuf< _CharType >::off_type  off_type
 
typedef details::basic_streambuf< _CharType >::char_type  char_type
 
typedef _CharType  char_type
 
typedef ::concurrency::streams::char_traits< _CharType >  traits
 
typedef traits::int_type  int_type
 
typedef traits::pos_type  pos_type
 
typedef traits::off_type  off_type
 

Public Member Functions

  rawptr_buffer (const char_type *data, size_t size)
  Create a rawptr_buffer given a pointer to a memory block and the size of the block. More...
 
  rawptr_buffer (char_type *data, size_t size, std::ios_base::openmode mode=std::ios::out)
  Create a rawptr_buffer given a pointer to a memory block and the size of the block. More...
 
  Default constructor. More...
 
- Public Member Functions inherited from Concurrency::streams::streambuf< _CharType >
  streambuf (_In_ const std::shared_ptr< details::basic_streambuf< _CharType >> &ptr)
  Constructor. More...
 
  streambuf ()
  Default constructor. More...
 
template<typename AlterCharType >
  streambuf (const streambuf< AlterCharType > &other)
  Converter Constructor. More...
 
concurrency::streams::basic_istream< _CharType >  create_istream () const
  Constructs an input stream head for this stream buffer. More...
 
concurrency::streams::basic_ostream< _CharType >  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< _CharType > > &  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 (_CharType ch)
  Writes a single character to the stream. More...
 
virtual _CharType *  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_ _CharType *&ptr, _Out_ size_t &count)
  Gets a pointer to the next already allocated contiguous block of data. More...
 
virtual void  release (_Out_writes_(count) _CharType *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 _CharType *ptr, size_t count)
  Writes a number of characters to the stream. More...
 
virtual pplx::task< size_t >  putn_nocopy (const _CharType *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< _CharType >::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< _CharType >::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) _CharType *ptr, _In_ size_t count)
  Reads up to a given number of characters from the stream. More...
 
virtual size_t  scopy (_Out_writes_(count) _CharType *ptr, _In_ size_t count)
  Copies up to a given number of characters from the stream, synchronously. More...
 
virtual details::basic_streambuf< _CharType >::pos_type  getpos (std::ios_base::openmode direction) const
  Gets the current read or write position in the stream. More...
 
virtual details::basic_streambuf< _CharType >::pos_type  seekpos (typename details::basic_streambuf< _CharType >::pos_type pos, std::ios_base::openmode direction)
  Seeks to the given position. More...
 
virtual details::basic_streambuf< _CharType >::pos_type  seekoff (typename details::basic_streambuf< _CharType >::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...
 
- Public Member Functions inherited from Concurrency::streams::details::basic_streambuf< _CharType >
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 _CharType *  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 _CharType>
class Concurrency::streams::rawptr_buffer< _CharType >

The rawptr_buffer class serves as a memory-based stream buffer that supports reading sequences of characters to or from a fixed-size block. Note that it cannot be used simultaneously for reading as well as writing.

Template Parameters
_CharType The data type of the basic element of the rawptr_buffer .

Constructor & Destructor Documentation

template<typename _CharType >
Concurrency::streams::rawptr_buffer< _CharType >::rawptr_buffer ( const char_type *  data,
size_t  size 
)
inline

Create a rawptr_buffer given a pointer to a memory block and the size of the block.

Parameters
data The address (pointer to) the memory block.
size The memory block size, measured in number of characters.
template<typename _CharType >
Concurrency::streams::rawptr_buffer< _CharType >::rawptr_buffer ( char_type *  data,
size_t  size,
std::ios_base::openmode  mode = std::ios::out 
)
inline

Create a rawptr_buffer given a pointer to a memory block and the size of the block.

Parameters
data The address (pointer to) the memory block.
size The memory block size, measured in number of characters.
template<typename _CharType >

Default constructor.


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

Generated by   doxygen 1.8.10

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