basic_iostream Class
A stream class that can do both input and output.
Syntax
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();
};
Remarks
The class template 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).
Constructors
Constructor | Description |
---|---|
basic_iostream | Create a basic_iostream object. |
Member functions
Member function | Description |
---|---|
swap | Exchanges the contents of the provided basic_iostream object for the contents of this object. |
Operators
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. |
Requirements
Header: <istream>
Namespace: std
basic_iostream::basic_iostream
Create a basic_iostream
object.
explicit basic_iostream(basic_streambuf<Elem, Tr>* strbuf);
basic_iostream(basic_iostream&& right);
basic_iostream();
Parameters
strbuf
An existing basic_streambuf
object.
right
An existing basic_iostream
object that is used to construct a new basic_iostream
.
Remarks
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)
.
basic_iostream::operator=
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);
Parameters
right
An rvalue
reference to a basic_iostream
object to assign from.
Remarks
The member operator calls swap(right)
.
basic_iostream::swap
Exchanges the contents of the provided basic_iostream
object for the contents of this object.
void swap(basic_iostream& right);
Parameters
right
The basic_iostream
object to swap.
Remarks
The member function calls swap(right)
.
See also
Thread Safety in the C++ Standard Library
iostream Programming
iostreams Conventions