ZeePedia

C++ Library

<< Contents
C++ Library Overview:Using C++ Library Headers, Iostreams Conventions >>
img
.....................
Chapter 1. C++ Library
The C++ library supplied by IBM and this manual is based on the Dinkum C++
Library and the Dinkum C++ Library Reference.
Use of this Dinkum C++ Library Reference is subject to limitations. See the
Copyright Notice (page 429) for detailed restrictions.
A C++ program can call on a large number of functions from the Dinkum C++
Library, a conforming implementation of the Standard C++ library. These
functions perform essential services such as input and output. They also provide
efficient implementations of frequently used operations. Numerous function and
class definitions accompany these functions to help you to make better use of the
library. Most of the information about the Standard C++ library can be found in
the descriptions of the C++ library headers (page 5) that declare or define library
entities for the program.
The Standard C++ library consists of 53 headers. Of these 53 headers, 13 constitute
the Standard Template Library, or STL. These are indicated below with the
notation (STL):
<algorithm> (page 249) -- (STL) for defining numerous templates that
implement useful algorithms
<bitset> (page 54) -- for defining a template class that administers sets of bits
<complex> (page 61) -- for defining a template class that supports complex
arithmetic
<deque> (page 274) -- (STL) for defining a template class that implements a
deque container
<exception> (page 74) -- for defining several functions that control exception
handling
<fstream> (page 76) -- for defining several iostreams template classes that
manipulate exteral files
<functional> (page 282) -- (STL) for defining several templates that help
construct predicates for the templates defined in <algorithm> (page 249) and
<numeric> (page 345)
<iomanip> (page 85) -- for declaring several iostreams manipulators that take
an argument
<ios> (page 86) -- for defining the template class that serves as the base for
many iostreams classes
<iosfwd> (page 102) -- for declaring several iostreams template classes before
they are necessarily defined
<iostream> (page 103) -- for declaring the iostreams objects that manipulate the
standard streams
<istream> (page 105) -- for defining the template class that performs
extractions
<iterator> (page 293) -- (STL) for defining several templates that help define
and manipulate iterators
<limits> (page 114) -- for testing numeric type properties
<list> (page 310) -- (STL) for defining a template class that implements a list
container
<locale> (page 119) -- for defining several classes and templates that control
locale-specific behavior, as in the iostreams classes
<map> (page 320) -- (STL) for defining template classes that implement
associative containers that map keys to values
1
img
..................................
<memory> (page 336) -- (STL) for defining several templates that allocate and
free storage for various container classes
<new> (page 164) -- for declaring several functions that allocate and free
storage
<numeric> (page 345) -- (STL) for defining several templates that implement
useful numeric functions
<ostream> (page 168) -- for defining the template class that performs insertions
<queue> (page 347) -- (STL) for defining a template class that implements a
queue container
<set> (page 353) -- (STL) for defining template classes that implement
associative containers
<sstream> (page 176) -- for defining several iostreams template classes that
manipulate string containers
<stack> (page 368) -- (STL) for defining a template class that implements a
stack container
<stdexcept> (page 184) -- for defining several classes useful for reporting
exceptions
<streambuf> (page 185) -- for defining template classes that buffer iostreams
operations
<string> (page 195) -- for defining a template class that implements a string
container
<strstream> (page 217) -- for defining several iostreams classes that manipulate
in-memory character sequences
<typeinfo> (page 224) -- for defining class type_info, the result of the typeid
operator
<unordered_map> (page 371) -- (STL) for defining template classes that
implement unordered associative containers that map keys to values
<unordered_set> (page 386) -- (STL) for defining template classes that
implement unordered associative containers
<utility> (page 400) -- (STL) for defining several templates of general utility
<valarray> (page 225) -- for defining several classes and template classes that
support value-oriented arrays
<vector> (page 403) -- (STL) for defining a template class that implements a
vector container
The Standard C++ library works in conjunction with the headers from the
Standard C library. For information about the Standard C library, refer to the
documentation that is supplied with the operating system.
Other information on the Standard C++ library includes:
C++ Library Overview (page 5) -- how to use the Standard C++ library
Characters (page 9) -- how to write character constants (page 9) and string literals
(page 9), and how to convert between multibyte characters (page 12) and wide
characters (page 13)
Files and Streams (page 17) -- how to read and write data between the program
and files (page 17)
Formatted Output (page 31) -- how to generate text under control of a format
string (page 31)
Formatted Input (page 25) -- how to scan and parse text under control of a format
string (page 31)
STL Conventions (page 37) -- how to read the descriptions of STL (page 1)
template classes and functions
Containers (page 41) -- how to use an arbitrary STL (page 1) container template
class
2
Standard C++ Library
img
.
A few special conventions are introduced into this document specifically for this
particular implementation of the Standard C++ library. Because the C++ Standard
(page 431) is still relatively new, not all implementations support all the features
described here. Hence, this implementation introduces macros, or alternative
declarations, where necessary to provide reasonable substitutes for the capabilities
required by the C++ Standard.
3
Chapter 1. C++ Library
4
Standard C++ Library