| title | basic_iostream Class | Microsoft Docs | ||
|---|---|---|---|
| ms.custom | |||
| ms.date | 11/04/2016 | ||
| ms.technology |
|
||
| ms.topic | reference | ||
| f1_keywords |
|
||
| dev_langs |
|
||
| helpviewer_keywords |
|
||
| ms.assetid | 294b680b-eb49-4066-8db2-6d52dac9d6e3 | ||
| author | corob-msft | ||
| ms.author | corob | ||
| ms.workload |
|
A stream class that can do both input and output.
template <class Elem, class Tr = char_traits<Elem>>
class basic_iostream : public basic_istream<Elem, Tr>,
public basic_ostream<Elem, Tr>
{
public:
explicit basic_iostream(basic_streambuf<Elem, Tr>* strbuf);
virtual ~basic_iostream();
};The template class describes an object that controls insertions, through its base class basic_ostream< Elem, Tr>, and extractions, through its base class basic_istream< Elem, Tr>. The two objects share a common virtual base class basic_ios< Elem, Tr>. They also manage a common stream buffer, with elements of type Elem, whose character traits are determined by the class Tr. The constructor initializes its base classes through basic_istream( strbuf) and basic_ostream( strbuf).
| Constructor | Description |
|---|---|
| basic_iostream | Create a basic_iostream object. |
| Member function | Description |
|---|---|
| swap | Exchanges the contents of the provided basic_iostream object for the contents of this object. |
| Operator | Description |
|---|---|
| operator= | Assigns the value of a specified basic_iostream object to this object. This is a move assignment involving an rvalue that does not leave a copy behind. |
Header: <istream>
Namespace: std
Create a basic_iostream object.
explicit basic_iostream(basic_streambuf<Elem, Tr>* strbuf);
basic_iostream(basic_iostream&& right);
basic_iostream();strbuf
An existing basic_streambuf object.
right
An existing basic_iostream object that is used to construct a new basic_iostream.
The first constructor initializes the base objects by way of basic_istream(strbuf) and basic_ostream(strbuf).
The second constructor initializes the base objects by calling move(right).
Assign the value of a specified basic_iostream object to this object. This is a move assignment involving an rvalue that does not leave a copy behind.
basic_iostream& operator=(basic_iostream&& right);right
An rvalue reference to a basic_iostream object to assign from.
The member operator calls swap(right).
Exchanges the contents of the provided basic_iostream object for the contents of this object.
void swap(basic_iostream& right);right
The basic_iostream object to swap.
The member function calls swap(right).
Thread Safety in the C++ Standard Library
iostream Programming
iostreams Conventions