basic_iostream Class

 

The latest version of this topic can be found at 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 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).

Constructors

basic_iostream Create a basic_iostream object.

Member Functions

swap Exchanges the contents of the provided basic_iostream object for the contents of this object.

Operators

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