[iostreamclass.general]

# 31 Input/output library [[input.output]](./#input.output)

## 31.7 Formatting and manipulators [[iostream.format]](iostream.format#iostreamclass.general)

### 31.7.5 Input streams [[input.streams]](input.streams#iostreamclass.general)

#### 31.7.5.7 Class template basic_iostream [[iostreamclass]](iostreamclass#general)

#### 31.7.5.7.1 General [iostreamclass.general]

[ð](#lib:basic_iostream)

namespace std {template<class charT, class traits = char_traits<charT>>class basic_iostream : public basic_istream<charT, traits>, public basic_ostream<charT, traits> {public:using char_type = charT; using int_type = typename traits::int_type; using pos_type = typename traits::pos_type; using off_type = typename traits::off_type; using traits_type = traits; // [[iostream.cons]](iostream.cons "31.7.5.7.2 Constructors"), constructorexplicit basic_iostream(basic_streambuf<charT, traits>* sb); // [[iostream.dest]](iostream.dest "31.7.5.7.3 Destructor"), destructorvirtual ~basic_iostream(); protected:// [[iostream.cons]](iostream.cons "31.7.5.7.2 Constructors"), constructor basic_iostream(const basic_iostream&) = delete;
 basic_iostream(basic_iostream&& rhs); // [[iostream.assign]](iostream.assign "31.7.5.7.4 Assignment and swap"), assignment and swap basic_iostream& operator=(const basic_iostream&) = delete;
 basic_iostream& operator=(basic_iostream&& rhs); void swap(basic_iostream& rhs); };}

[1](#1)

[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/iostreams.tex#L5828)

The class templatebasic_iostream inherits a number of functions that allow reading input and writing output to
sequences controlled by a stream buffer[.](#1.sentence-1)
