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 Member Functions | List of all members
Concurrency::streams::stdio_ostream< CharType > Class Template Reference

stdio_ostream represents an async ostream derived from a standard synchronous stream, as defined by the "std" namespace. It is constructed from a reference to a standard stream, which must be valid for the lifetime of the asynchronous stream. More...

#include <interopstream.h>

Inheritance diagram for Concurrency::streams::stdio_ostream< CharType >:
Concurrency::streams::basic_ostream< CharType >

Public Member Functions

template<typename AlterCharType >
 stdio_ostream (std::basic_ostream< AlterCharType > &stream)
 Constructor More...
 
 stdio_ostream (const stdio_ostream &other)
 Copy constructor More...
 
stdio_ostreamoperator= (const stdio_ostream &other)
 Assignment operator More...
 
- Public Member Functions inherited from Concurrency::streams::basic_ostream< CharType >
 basic_ostream ()
 Default constructor More...
 
 basic_ostream (const basic_ostream &other)
 Copy constructor More...
 
basic_ostreamoperator= (const basic_ostream &other)
 Assignment operator More...
 
 basic_ostream (streams::streambuf< CharType > buffer)
 Constructor More...
 
pplx::task< void > close () const
 Close the stream, preventing further write operations. More...
 
pplx::task< void > close (std::exception_ptr eptr) const
 Close the stream with exception, preventing further write operations. More...
 
pplx::task< int_type > write (CharType ch) const
 Put a single character into the stream. More...
 
template<typename T >
pplx::task< size_t > write (T value) const
 Write a single value of "blittable" type T into the stream. More...
 
pplx::task< size_t > write (streams::streambuf< CharType > source, size_t count) const
 Write a number of characters from a given stream buffer into the stream. More...
 
pplx::task< size_t > print (const std::basic_string< CharType > &str) const
 Write the specified string to the output stream. More...
 
template<typename T >
pplx::task< size_t > print (const T &val) const
 Write a value of type T to the output stream. More...
 
template<typename T >
pplx::task< size_t > print_line (const T &val) const
 Write a value of type T to the output stream and append a newline character. More...
 
pplx::task< void > flush () const
 Flush any buffered output data. More...
 
pos_type seek (pos_type pos) const
 Seeks to the specified write position. More...
 
pos_type seek (off_type off, std::ios_base::seekdir way) const
 Seeks to the specified write position. More...
 
pos_type tell () const
 Get the current write position, i.e. the offset from the beginning of the stream. More...
 
bool can_seek () const
 can_seek is used to determine whether the stream supports seeking. More...
 
bool is_valid () const
 Test whether the stream has been initialized with a valid stream buffer. More...
 
 operator bool () const
 Test whether the stream has been initialized or not. More...
 
bool is_open () const
 Test whether the stream is open for writing. More...
 
concurrency::streams::streambuf< CharType > streambuf () const
 Get the underlying stream buffer. More...
 

Additional Inherited Members

- Public Types inherited from Concurrency::streams::basic_ostream< CharType >
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
 
- Protected Member Functions inherited from Concurrency::streams::basic_ostream< CharType >
void set_helper (std::shared_ptr< details::basic_ostream_helper< CharType >> helper)
 

Detailed Description

template<typename CharType>
class Concurrency::streams::stdio_ostream< CharType >

stdio_ostream represents an async ostream derived from a standard synchronous stream, as defined by the "std" namespace. It is constructed from a reference to a standard stream, which must be valid for the lifetime of the asynchronous stream.

Template Parameters
CharTypeThe data type of the basic element of the stdio_ostream.

Since std streams are not reference-counted, great care must be taken by an application to make sure that the std stream does not get destroyed until all uses of the asynchronous stream are done and have been serviced.

Constructor & Destructor Documentation

template<typename CharType >
template<typename AlterCharType >
Concurrency::streams::stdio_ostream< CharType >::stdio_ostream ( std::basic_ostream< AlterCharType > &  stream)
inline

Constructor

Template Parameters
AlterCharTypeThe data type of the basic element of the source output stream.
Parameters
streamThe synchronous stream that this is using for its I/O
template<typename CharType >
Concurrency::streams::stdio_ostream< CharType >::stdio_ostream ( const stdio_ostream< CharType > &  other)
inline

Copy constructor

Parameters
otherThe source object

Member Function Documentation

template<typename CharType >
stdio_ostream& Concurrency::streams::stdio_ostream< CharType >::operator= ( const stdio_ostream< CharType > &  other)
inline

Assignment operator

Parameters
otherThe source object
Returns
A reference to the output stream object that contains the result of the assignment.

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