Base interface for all asynchronous input streams.
More...
#include <streams.h>
Inheritance diagram for Concurrency::streams::basic_istream< CharType >:
Public Types
typedef traits::pos_type pos_type
typedef traits::off_type off_type
Public Member Functions
Close the stream, preventing further read operations.
More...
Close the stream with exception, preventing further read operations.
More...
Tests whether last read cause the stream reach EOF.
More...
Get the next character and return it as an int_type. Advance the read position.
More...
template<typename T >
Read a single value of "blittable" type T from the stream.
More...
Reads up to
count
characters and place into the provided buffer.
More...
Get the next character and return it as an int_type. Do not advance the read position.
More...
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...
Read until reaching a newline character. The newline is not included in the target.
More...
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...
Get the current write position, i.e. the offset from the beginning of the stream.
More...
can_seek is used to determine whether the stream supports seeking.
More...
Test whether the stream has been initialized with a valid stream buffer.
More...
Test whether the stream has been initialized or not.
More...
Test whether the stream is open for writing.
More...
concurrency::streams::streambuf< CharType >
streambuf () const
Get the underlying stream buffer.
More...
template<typename T >
Read a value of type
T
from the stream.
More...
Detailed Description
template<typename CharType>
class Concurrency::streams::basic_istream< CharType >
Base interface for all asynchronous input streams.
Constructor & Destructor Documentation
template<typename CharType>
template<typename CharType>
Constructor
- Template Parameters
-
CharType The data type of the basic element of the stream.
- Parameters
-
buffer A stream buffer.
template<typename CharType>
Copy constructor
- Parameters
-
other The source object
Member Function Documentation
template<typename CharType>
can_seek is used to determine whether the stream supports seeking.
- Returns
true
if the stream supports seeking, false
otherwise.
template<typename CharType>
Close the stream, preventing further read operations.
template<typename CharType>
Close the stream with exception, preventing further read operations.
- Parameters
-
eptr Pointer to the exception.
template<typename CharType>
template<typename T >
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
.
- Template Parameters
-
T The data type of the element to be read from the stream.
- Returns
- A
task
that holds the element read from the stream.
template<typename CharType>
Tests whether last read cause the stream reach EOF.
- Returns
- True if the read head has reached the end of the stream, false otherwise.
template<typename CharType>
Test whether the stream is open for writing.
- Returns
true
if the stream is open for writing, false
otherwise.
template<typename CharType>
Test whether the stream has been initialized with a valid stream buffer.
template<typename CharType>
Test whether the stream has been initialized or not.
template<typename CharType>
Assignment operator
- Parameters
-
other The source object
- Returns
- A reference to the stream object that contains the result of the assignment.
template<typename CharType>
Get the next character and return it as an int_type. Do not advance the read position.
- Returns
- A
task
that holds the character, widened to an integer. This character is EOF when the peek operation fails.
template<typename CharType>
Get the next character and return it as an int_type. Advance the read position.
- Returns
- A
task
that holds the next character as an int_type
on successful completion.
template<typename CharType>
template<typename T >
Read a single value of "blittable" type T from the stream.
- Returns
- A value of type T.
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.
template<typename CharType>
size_t
count
)
const
inline
Reads up to count
characters and place into the provided buffer.
- Parameters
-
target An async stream buffer supporting write operations.
count The maximum number of characters to read
- Returns
- A
task
that holds the number of characters read. This number is 0 if the end of the stream is reached.
template<typename CharType>
Read until reaching a newline character. The newline is not included in the target.
- Parameters
-
target An asynchronous stream buffer supporting write operations.
- Returns
- A
task
that holds the number of characters read. This number is 0 if the end of the stream is reached.
template<typename CharType>
int_type
delim
)
const
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.
- Parameters
-
target An async stream buffer supporting write operations.
delim The delimiting character to stop the read at.
- Returns
- A
task
that holds the number of characters read.
template<typename CharType>
Read until reaching the end of the stream.
- Parameters
-
target An asynchronous stream buffer supporting write operations.
- Returns
- The number of characters read.
template<typename CharType>
Seeks to the specified write position.
- Parameters
-
pos An offset relative to the beginning of the stream.
- Returns
- The new position in the stream.
template<typename CharType>
std::ios_base::seekdir
way
)
const
inline
Seeks to the specified write position.
- Parameters
-
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.
- Returns
- The new position in the stream.
template<typename CharType>
Get the underlying stream buffer.
template<typename CharType>
Get the current write position, i.e. the offset from the beginning of the stream.
- Returns
- The current write position.
The documentation for this class was generated from the following files: