Dinkum Abridged Library Reference

Use of this Dinkum Abridged Library Reference is subject to limitations. See the Copyright Notice for detailed restrictions.


A C++ program can call on a large number of functions from the Dinkum Abridged Library, which is a subset of the library mandated by the draft C++ Standard. The Dinkum Abridged Library has two components:

The Embedded C++ library contains numerous functions that perform essential services such as input and output. They also provide efficient implementations of frequently used operations. Additional function and class definitions accompany these functions to help you to make better use of the library. Most of the information about the Embedded C++ library can be found in the descriptions of the C++ library headers that declare or define library entities for the program.

The Embedded Standard Template Library is another proper subset of the Standard C++ library. Its thirteen headers define templates that support the application of numerous algorithms, which perform useful actions, typically on sequences of objects. These can be conventional C++ objects or elements of a sequence controlled by one of the STL template container template classes.

Table of Contents

<complex> · <fstream> · <iomanip> · <ios> · <iosfwd> · <iostream> · <istream> · <new> · <ostream> · <sstream> · <streambuf> · <string> · <strstream>

<cassert> · <cctype> · <cerrno> · <cfloat> · <climits> · <cmath> · <csetjmp> · <csignal> · <cstdarg> · <cstddef> · <cstdio> · <cstdlib> · <cstring> · <ctime>

<assert.h> · <ctype.h> · <errno.h> · <float.h> · <limits.h> · <locale.h> · <math.h> · <setjmp.h> · <signal.h> · <stdarg.h> · <stddef.h> · <stdio.h> · <stdlib.h> · <string.h> · <time.h>

<fstream.h> · <iomanip.h> · <iostream.h> · <new.h>

<algorithm> · <deque> · <functional> · <iterator> · <list> · <map> · <memory> · <numeric> · <queue> · <set> · <stack> · <utility> · <vector>

C++ Library Overview · C Library Overview · Characters · Files and Streams · Formatted Output · Formatted Input

Containers · STL Conventions


The Embedded C++ library headers are:

<cassert> -- for enforcing assertions when functions execute
<cctype> -- for classifying characters
<cerrno> -- for testing error codes reported by library functions
<cfloat> -- for testing floating-point type properties
<climits> -- for testing integer type properties
<cmath> -- for computing common mathematical functions
<complex> -- for defining a template class that supports complex arithmetic
<csetjmp> -- for executing nonlocal goto statements
<csignal> -- for controlling various exceptional conditions
<cstdarg> -- for accessing a varying number of arguments
<cstddef> -- for defining several useful types and macros
<cstdio> -- for performing input and output
<cstdlib> -- for performing a variety of operations
<cstring> -- for manipulating several kinds of strings
<ctime> -- for converting between various time and date formats
<fstream> -- for defining several iostreams template classes that manipulate exteral files
<iomanip> -- for declaring several iostreams manipulators that take an argument
<ios> -- for defining the template class that serves as the base for many iostreams classes
<iosfwd> -- for declaring several iostreams template classes before they are necessarily defined
<iostream> -- for declaring the iostreams objects that manipulate the standard streams
<istream> -- for defining the template class that performs extractions
<new> -- for declaring several functions that allocate and free storage
<ostream> -- for defining the template class that performs insertions
<sstream> -- for defining several iostreams template classes that manipulate string containers
<streambuf> -- for defining template classes that buffer iostreams operations
<string> -- for defining a template class that implements a string container
<strstream> -- for defining several iostreams classes that manipulate in-memory character sequences

The Embedded C++ library works in conjunction with 15 of the headers from the Standard C library, sometimes with small alterations:

<assert.h> -- for enforcing assertions when functions execute
<ctype.h> -- for classifying characters
<errno.h> -- for testing error codes reported by library functions
<float.h> -- for testing floating-point type properties
<limits.h> -- for testing integer type properties
<locale.h> -- for adapting to different cultural conventions
<math.h> -- for computing common mathematical functions
<setjmp.h> -- for executing nonlocal goto statements
<signal.h> -- for controlling various exceptional conditions
<stdarg.h> -- for accessing a varying number of arguments
<stddef.h> -- for defining several useful types and macros
<stdio.h> -- for performing input and output
<stdlib.h> -- for performing a variety of operations
<string.h> -- for manipulating several kinds of strings
<time.h> -- for converting between various time and date formats

The 13 ESTL headers are:

<algorith> -- defines numerous common operations on sequences
<deque> -- defines a deque template container
<functional> -- defines numerous function objects
<iterator> -- defines common iterators and operations on iterators
<list> -- defines a list template container
<map> -- defines two map template containers
<memory> -- defines facilities for managing memory
<numeric> -- defines several numeric operations on sequences
<queue> -- defines two queue template container adapters
<set> -- defines two set template containers
<stack> -- defines a stack template container adapter
<utility> -- defines an assortment of utility templates
<vector> -- defines a vector template container

Finally, in this implementation, the Embedded C++ library also includes four headers for compatibility with traditional C++ libraries:

<fstream.h> -- for defining several iostreams template classes that manipulate exteral files
<iomanip.h> -- for declaring several iostreams manipulators that take an argument
<iostream.h> -- for declaring the iostreams objects that manipulate the standard streams
<new.h> -- for declaring several functions that allocate and free storage

Other information on the Embedded C++ library includes:

C++ Library Overview -- how to use the Embedded C++ library, including alternative mechanisms for handling exceptions
C Library Overview -- how to use the Standard C library, including what happens at program startup and at program termination
Characters -- how to write character constants and string literals
Files and Streams -- how to read and write data between the program and files
Formatted Output -- how to generate text under control of a format string
Formatted Input -- how to scan and parse text under control of a format string

Other information on the Standard Template Library includes:

Containers -- features common to all STL template containers
STL Conventions -- conventions used widely throughout STL

A few special conventions are introduced into this document specifically for this particular implementation of the Embedded C++ library and Standard Template Library. Because the draft C++ Standard is still changing, 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 current draft C++ Standard.


See also the Index.

Copyright © 1992-1997 by P.J. Plauger. All rights reserved.