std::basic_streambuf ](/w/cpp/io/basic_streambuf "cpp/io/basic streambuf") )   
and provides high-level input interface  
(class template)  [ [edit]
](https://en.cppreference.com/mwiki/index.php?title=Template:cpp/io/dsc_basic_istream&action=edit)  
[ basic_iostream  ](/w/cpp/io/basic_iostream "cpp/io/basic iostream") |  wraps a given abstract device (  [ std::basic_streambuf ](/w/cpp/io/basic_streambuf "cpp/io/basic streambuf") )   
and provides high-level input/output interface  
(class template)  [ [edit]
](https://en.cppreference.com/mwiki/index.php?title=Template:cpp/io/dsc_basic_iostream&action=edit)  
  
#####  File I/O implementation  
  
Defined in header ` [ <fstream> ](/w/cpp/header/fstream "cpp/header/fstream")
`  
[ basic_filebuf  ](/w/cpp/io/basic_filebuf "cpp/io/basic filebuf") |  implements raw file device   
(class template)  [ [edit]
](https://en.cppreference.com/mwiki/index.php?title=Template:cpp/io/dsc_basic_filebuf&action=edit)  
[ basic_ifstream  ](/w/cpp/io/basic_ifstream "cpp/io/basic ifstream") |  implements high-level file stream input operations   
(class template)  [ [edit]
](https://en.cppreference.com/mwiki/index.php?title=Template:cpp/io/dsc_basic_ifstream&action=edit)  
[ basic_ofstream  ](/w/cpp/io/basic_ofstream "cpp/io/basic ofstream") |  implements high-level file stream output operations   
(class template)  [ [edit]
](https://en.cppreference.com/mwiki/index.php?title=Template:cpp/io/dsc_basic_ofstream&action=edit)  
[ basic_fstream  ](/w/cpp/io/basic_fstream "cpp/io/basic fstream") |  implements high-level file stream input/output operations   
(class template)  [ [edit]
](https://en.cppreference.com/mwiki/index.php?title=Template:cpp/io/dsc_basic_fstream&action=edit)  
  
#####  String I/O implementation  
  
Defined in header ` [ <sstream> ](/w/cpp/header/sstream "cpp/header/sstream")
`  
[ basic_stringbuf  ](/w/cpp/io/basic_stringbuf "cpp/io/basic stringbuf") |  implements raw string device   
(class template)  [ [edit]
](https://en.cppreference.com/mwiki/index.php?title=Template:cpp/io/dsc_basic_stringbuf&action=edit)  
[ basic_istringstream  ](/w/cpp/io/basic_istringstream "cpp/io/basic istringstream") |  implements high-level string stream input operations   
(class template)  [ [edit]
](https://en.cppreference.com/mwiki/index.php?title=Template:cpp/io/dsc_basic_istringstream&action=edit)  
[ basic_ostringstream  ](/w/cpp/io/basic_ostringstream "cpp/io/basic ostringstream") |  implements high-level string stream output operations   
(class template)  [ [edit]
](https://en.cppreference.com/mwiki/index.php?title=Template:cpp/io/dsc_basic_ostringstream&action=edit)  
[ basic_stringstream  ](/w/cpp/io/basic_stringstream "cpp/io/basic stringstream") |  implements high-level string stream input/output operations   
(class template)  [ [edit]
](https://en.cppreference.com/mwiki/index.php?title=Template:cpp/io/dsc_basic_stringstream&action=edit)  
  
#####  Array I/O implementations  
  
Defined in header ` [ <spanstream> ](/w/cpp/header/spanstream
"cpp/header/spanstream") `  
[ basic_spanbuf  ](/w/cpp/io/basic_spanbuf "cpp/io/basic spanbuf") (C++23)  |  implements raw fixed character buffer device   
(class template)  [ [edit]
](https://en.cppreference.com/mwiki/index.php?title=Template:cpp/io/dsc_basic_spanbuf&action=edit)  
[ basic_ispanstream  ](/w/cpp/io/basic_ispanstream "cpp/io/basic ispanstream") (C++23)  |  implements fixed character buffer input operations   
(class template)  [ [edit]
](https://en.cppreference.com/mwiki/index.php?title=Template:cpp/io/dsc_basic_ispanstream&action=edit)  
[ basic_ospanstream  ](/w/cpp/io/basic_ospanstream "cpp/io/basic ospanstream") (C++23)  |  implements fixed character buffer output operations   
(class template)  [ [edit]
](https://en.cppreference.com/mwiki/index.php?title=Template:cpp/io/dsc_basic_ospanstream&action=edit)  
[ basic_spanstream  ](/w/cpp/io/basic_spanstream "cpp/io/basic spanstream") (C++23)  |  implements fixed character buffer