| title | basic_iostream Class | Microsoft Docs | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ms.custom | ||||||||||||||
| ms.date | 11/04/2016 | |||||||||||||
| ms.reviewer | ||||||||||||||
| ms.suite | ||||||||||||||
| ms.technology |
|
|||||||||||||
| ms.tgt_pltfrm | ||||||||||||||
| ms.topic | article | |||||||||||||
| f1_keywords |
|
|||||||||||||
| dev_langs |
|
|||||||||||||
| helpviewer_keywords |
|
|||||||||||||
| ms.assetid | 294b680b-eb49-4066-8db2-6d52dac9d6e3 | |||||||||||||
| caps.latest.revision | 22 | |||||||||||||
| author | corob-msft | |||||||||||||
| ms.author | corob | |||||||||||||
| manager | ghogen | |||||||||||||
| translation.priority.ht |
|
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).
| basic_iostream | Create a basic_iostream object. |
| swap | Exchanges the contents of the provided basic_iostream object for the contents of this object. |
| 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