|
|||||
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
<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 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)
template
classes and functions
class
2
Standard
C++ Library
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
Table of Contents:
|
|||||