C++Intro man page

C++Intro — Introduction to the GNU libstdc++ man pages

Description

This man page serves as a brief introduction to the GNU implementation of the Standard C++ Library.  For a better introduction and more complete documentation, see the libstdc++ homepage listed at the end.

All standard library entities are declared within namespace std and have manual entries beginning with "std::".  For example, to see documentation of the template class std::vector one would use "man std::vector".  Some entities do not have a separate man page; for those see the main listing in "man Namespace_std".

All the man pages are automatically generated by Doxygen.  For more information on this tool, see the HTML counterpart to these man pages.

Some man pages do not correspond to individual classes or functions.  Rather they describe categories of the Standard Library.  (For a more thorough introduction to the various categories, consult a text such as Josuttis' or Austern's.)  These category pages are:

C++Intro This page.
Namespace_std A listing of the contents of std::.
Namespace___gnu_cxx A listing of the contents of __gnu_cxx::.
Containers An introduction to container classes.
Sequences Linear containers.
Assoc_containers Key-based containers.
Iterator_types Programatically distinguishing iterators/pointers.
Intro_functors An introduction to function objects, or functors.
Arithmetic_functors Functors for basic math.
Binder_functors Functors which "remember" an argument.
Comparison_functors Functors wrapping built-in comparisons.
Func_ptr_functors Functors for use with pointers to functions.
Logical_functors Functors wrapping the Boolean operations.
Member_ptr_functor Functors for use with pointers to members.
Negation_functors Functors which negate their contents.
SGIextensions A list of the extensions from the SGI STL subset.

The HTML documentation typically goes into much more depth.

Files

Lots!

Standard Headers

These headers will be found automatically, unless you instruct the compiler otherwise.

<algorithm>  <csignal>     <iomanip>   <ostream>
<bitset>     <cstdarg>     <ios>       <queue>
<cassert>    <cstddef>     <iosfwd>    <set>
<cctype>     <cstdio>      <iostream>  <sstream>
<cerrno>     <cstdlib>     <istream>   <stack>
<cfloat>     <cstring>     <iterator>  <stdexcept>
<ciso>646    <ctime>       <limits>    <streambuf>
<climits>    <cwchar>      <list>      <string>
<clocale>    <cwctype>     <locale>    <utility>
<cmath>      <deque>       <map>       <valarray>
<complex>    <fstream>     <memory>    <vector>
<csetjmp>    <functional>  <numeric>

Backwards-Compatibility Headers

For GCC 3.0 these headers will be found automatically, unless you instruct the compiler otherwise.  You should not depend on this, instead you should read FAQ 5.4 and use a backward/ prefix.

<strstream>

Extension Headers

These headers will only be found automatically if you include the leading ext/ in the name.  Otherwise you need to read FAQ 5.4.

<ext/algorithm>            <ext/numeric>            
<ext/functional>           <ext/iterator>
<ext/slist>                <ext/rb_tree>  
<ext/rope>                 <ext/memory>              
<ext/bitmap_allocator.h>   <ext/debug_allocator.h>    
<ext/malloc_allocator.h>   <ext/mt_allocator.h>    
<ext/pool_allocator.h>     <ext/pod_char_traits.h>    
<ext/stdio_filebuf.h>      <ext/stdio_sync_filebuf.h>

Libraries

libstdc++.a

The library implementation in static archive form.  If you did not configure libstdc++ to use shared libraries, this will always be used.  Otherwise it will only be used if the user requests it.

libsupc++.a

This library contains C++ language support routines.  Usually you will never need to know about it, but it can be useful.  See FAQ 2.5.

libstdc++.so[.N]

The library implementation in shared object form.  This will be used in preference to the static archive form by default.  N will be a number equal to or greater than 3.  If N is in the 2.x series, then you are looking at the old libstdc++-v2 library, which we do not maintain.

libstdc++.la
libsupc++.la

These are Libtool library files, and should only be used when working with that tool.

Conforming to

Almost conforming to International Standard ISO/IEC 14882:1998(E), Programming Languages --- C++ (aka the C++ standard), in addition to corrections proposed by the Library Working Group, JTC1/SC22/WG21.

See Also

http://gcc.gnu.org/libstdc++/ for the Frequently Asked Questions, online documentation, and much, much more!

Info

20 May 2004 GNU libstdc++ Standard C++ Library