Saturday, January 18, 2025

Class Organization

Overview
The classes can be grouped into following categories - Primitive base, Intermediate base , disk based  streams and String based streams.

Details
Each of these group  of the classes can be further grouped into two more groups - Input/Output preparation and serialization.

Primitive base classes 
Preparation
These classes serve as base classes for intermediate base classes.
NameAliasParentDescription
ios_base
 Base class for the IO stream classes
basic_ios<char,char_traits<char>> ios ios_baseBase classes for input and output  stream classes for character type char.
basic_ios<wchar_t,char_traits<wchar_t>> wios ios_baseBase classes for input and output  stream classes for character type wchar_t.

Serialization
These base classes support read / write stream operations.
NameAliasParentDescription
basic_streambuf<char,char_traits<char>> streambuf Base classes for Serialization/Deserialization of streams for character type char.
basic_streambuf<wchar_t,char_traits<wchar_t>>wstreambuf Base classes for Serialization/Deserialization of streams for character type wchar_t.

Intermediate base classes
Preparation
These classes serve as base classes for file and string based streams. 
NameAliasParentDescription
basic_istream<char,char_traits<char>>istream iosBase classes for input stream classes for character type char.
basic_istream<wchar_t,char_traits<wchar_t>>wistream    wiosBase classes for input stream classes for character type wchar_t.
basic_ostream<char,char_traits<char>>ostream iosBase classes for output stream classes for character type char.
basic_ostream<wchar_t,char_traits<wchar_t>>wostream wiosBase classes for output stream classes for character type wchar_t.
basic_iostream<char,char_traits<char>> iostream
istream,
ostream
 Base classes for input and output stream classes for character type char.
basic_iostream<wchar_t,char_traits<wchar_t>> wiostream
wistream,
wostream
 Base classes for input and output stream classes for character type wchar_t.

Disk based streams
Preparation
These classes support file based stream operation.
NameAliasParentDescription
basic_ifstream<char,char_traits<char>> ifstream istreamFile based input stream class for character type char.
basic_ifstream<wchar_t,char_traits<wchar_t>>wifstream wistreamFile based input stream class for character type wchar_t.
basic_ofstream<char,char_traits<char>> ofstream ostreamFile based output stream class for character type char.
basic_ofstream<wchar_t,char_traits<wchar_t>>wofstream wostreamFile based output stream class for character type wchar_t.
basic_fstream<char,char_traits<char>> fstreamiostreamFile based input and output stream class for character type char.
basic_fstream<wchar_t,char_traits<wchar_t>> wfstreamwiostreamFile based input and output stream class for character type char. wchar_t.

Serialization
These classes support file based stream operations.
NameAliasParentDescription
basic_filebuf<char,char_traits<char>> filebuf streambufImplements Serialization/Deserialization of file streams for character type char.
basic_filebuf<wchar_t,char_traits<wchar_t>>wfilebuf wstreambufImplements Serialization/Deserialization of file streams for character type wchar_t.

String based streams 
Preparation
These classes support string based stream operation.
NameAliasParentDescription
basic_ostringstream<char,char_traits<char>> istringstream istreamString based input stream class for character type char.
basic_ostringstream<wchar_t,char_traits<wchar_t>>wistringstream wistreamString based input stream class for character type wchar_t.
basic_ostringstream<char,char_traits<char>> ostringstream ostreamString based output stream class for character type char.
basic_ostringstream<wchar_t,char_traits<wchar_t>>wostringstream wostreamString based output stream class for character type wchar_t.
basic_stringstream<char,char_traits<char>> stringstreamiostreamString based input and output stream class for character type char.
basic_stringstream<wchar_t,char_traits<wchar_t>> wstringstreamwiostreamString  based input and output stream class for character type char. wchar_t.

Serialization
These classes support string based stream operation.
NameAliasParentDescription
basic_stringbuf<char,char_traits<char>> stringbuf streambufImplements Serialization/Deserialization of string streams for character type char.
basic_stringbuf<wchar_t,char_traits<wchar_t>>wstringbuf wstreambufImplements Serialization/Deserialization of string streams for character type wchar_t.

No comments:

Post a Comment