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.
|
Base interface for all asynchronous input streams. More...
#include <streams.h>
Public Types | |
typedef char_traits< CharType > | traits |
typedef char_traits< CharType >::int_type | int_type |
typedef traits::pos_type | pos_type |
typedef traits::off_type | off_type |
Public Member Functions | |
basic_istream () | |
Default constructor More... | |
basic_istream (streams::streambuf< CharType > buffer) | |
Constructor More... | |
basic_istream (const basic_istream &other) | |
Copy constructor More... | |
basic_istream & | operator= (const basic_istream &other) |
Assignment operator More... | |
pplx::task< void > | close () const |
Close the stream, preventing further read operations. More... | |
pplx::task< void > | close (std::exception_ptr eptr) const |
Close the stream with exception, preventing further read operations. More... | |
bool | is_eof () const |
Tests whether last read cause the stream reach EOF. More... | |
pplx::task< int_type > | read () const |
Get the next character and return it as an int_type. Advance the read position. More... | |
template<typename T > | |
pplx::task< T > | read () const |
Read a single value of "blittable" type T from the stream. More... | |
pplx::task< size_t > | read (streams::streambuf< CharType > target, size_t count) const |
Reads up to count characters and place into the provided buffer. More... | |
pplx::task< int_type > | peek () const |
Get the next character and return it as an int_type. Do not advance the read position. More... | |
pplx::task< size_t > | read_to_delim (streams::streambuf< CharType > target, int_type delim) const |
Read characters until a delimiter or EOF is found, and place them into the target. Proceed past the delimiter, but don't include it in the target buffer. More... | |
pplx::task< size_t > | read_line (streams::streambuf< CharType > target) const |
Read until reaching a newline character. The newline is not included in the target. More... | |
pplx::task< size_t > | read_to_end (streams::streambuf< CharType > target) const |
Read until reaching the end of the stream. 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 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... | |
template<typename T > | |
pplx::task< T > | extract () const |
Read a value of type T from the stream. More... | |
Base interface for all asynchronous input streams.
|
inline |
Default constructor
|
inline |
Constructor
CharType | The data type of the basic element of the stream. |
buffer | A stream buffer. |
|
inline |
Copy constructor
other | The source object |
|
inline |
can_seek
is used to determine whether the stream supports seeking.
true
if the stream supports seeking, false
otherwise.
|
inline |
Close the stream, preventing further read operations.
|
inline |
Close the stream with exception, preventing further read operations.
eptr | Pointer to the exception. |
|
inline |
Read a value of type T
from the stream.
Supports the C++ primitive types. Can be expanded to additional types by adding template specializations for type_parser
.
T | The data type of the element to be read from the stream. |
task
that holds the element read from the stream.
|
inline |
Tests whether last read cause the stream reach EOF.
|
inline |
Test whether the stream is open for writing.
true
if the stream is open for writing, false
otherwise.
|
inline |
Test whether the stream has been initialized with a valid stream buffer.
|
inline |
Test whether the stream has been initialized or not.
|
inline |
Assignment operator
other | The source object |
|
inline |
Get the next character and return it as an int_type. Do not advance the read position.
task
that holds the character, widened to an integer. This character is EOF when the peek operation fails.
|
inline |
Get the next character and return it as an int_type. Advance the read position.
task
that holds the next character as an int_type
on successful completion.
|
inline |
Read a single value of "blittable" type T from the stream.
This is not a replacement for a proper binary serialization solution, but it may form the foundation for one. Reading data bit-wise to a stream is a primitive operation of binary serialization. Currently, no attention is paid to byte order. All data is read in the platform's native byte order, which means little-endian on all platforms that have been tested. This function is only available for streams using a single-byte character size.
|
inline |
Reads up to count
characters and place into the provided buffer.
target | An async stream buffer supporting write operations. |
count | The maximum number of characters to read |
task
that holds the number of characters read. This number is 0 if the end of the stream is reached.
|
inline |
Read until reaching a newline character. The newline is not included in the target.
target | An asynchronous stream buffer supporting write operations. |
task
that holds the number of characters read. This number is 0 if the end of the stream is reached.
|
inline |
Read characters until a delimiter or EOF is found, and place them into the target. Proceed past the delimiter, but don't include it in the target buffer.
target | An async stream buffer supporting write operations. |
delim | The delimiting character to stop the read at. |
task
that holds the number of characters read.
|
inline |
Read until reaching the end of the stream.
target | An asynchronous stream buffer supporting write operations. |
|
inline |
Seeks to the specified write position.
pos | An offset relative to the beginning of the stream. |
|
inline |
Seeks to the specified write position.
off | An offset relative to the beginning, current write position, or the end of the stream. |
way | The starting point (beginning, current, end) for the seek. |
|
inline |
Get the underlying stream buffer.
|
inline |
Get the current write position, i.e. the offset from the beginning of the stream.