# __gnu_cxx Namespace Reference

This namespace serves two purposes. More...

## Compounds

class | binary_compose
| An SGI extension. More...
struct | constant_binary_fun
| An SGI extension. More...
struct | constant_unary_fun
| An SGI extension. More...
struct | constant_void_fun
| An SGI extension. More...
struct | project1st
| An SGI extension. More...
struct | project2nd
| An SGI extension. More...
struct | select1st
| An SGI extension. More...
struct | select2nd
| An SGI extension. More...
class | subtractive_rng
struct | temporary_buffer
class | unary_compose
| An SGI extension. More...

## Functions

void | __verbose_terminate_handler ()
template<typename _InputIter, typename _Size, typename _OutputIter> pair< _InputIter, _OutputIter > | copy_n (_InputIter __first, _Size __count, _OutputIter __result)
| Copies the range [first,first+count) into [result,result+count). More...
template<typename _InputIter1, typename _InputIter2> int | lexicographical_compare_3way (_InputIter1 __first1, _InputIter1 __last1, _InputIter2 __first2, _InputIter2 __last2)
| `memcmp` on steroids. More...
template<class _Tp> _Tp | identity_element (std::plus< _Tp >)
| An SGI extension. More...
template<class _Tp> _Tp | identity_element (std::multiplies< _Tp >)
| An SGI extension. More...
template<class _Operation1, class _Operation2> unary_compose< _Operation1, _Operation2 > | compose1 (const _Operation1 &__fn1, const _Operation2 &__fn2)
| An SGI extension. More...
template<class _Operation1, class _Operation2, class _Operation3> binary_compose< _Operation1, _Operation2, _Operation3 > | compose2 (const _Operation1 &__fn1, const _Operation2 &__fn2, const _Operation3 &__fn3)
| An SGI extension. More...
template<class _Result> constant_void_fun< _Result > | constant0 (const _Result &__val)
| An SGI extension. More...
template<class _Result> constant_unary_fun< _Result, _Result > | constant1 (const _Result &__val)
| An SGI extension. More...
template<class _Result> constant_binary_fun< _Result, _Result, _Result > | constant2 (const _Result &__val)
| An SGI extension. More...
template<typename _InputIter, typename _Size, typename _ForwardIter> pair< _InputIter, _ForwardIter > | uninitialized_copy_n (_InputIter __first, _Size __count, _ForwardIter __result)
| Copies the range [first,last) into result. More...

## Detailed Description

This namespace serves two purposes.

This namespace is used for two things:

- sequestering internal (implementation-only) names away from the global namespace; these are details of the implementation and should not be touched by users
- GNU extensions for public use

This is still fluid and changing rapidly. Currently the rule is: if an entitity is found in the user-level documentation, it falls into the second category.

## Function Documentation

void __gnu_cxx::__verbose_terminate_handler | ( |  | ) |

A replacement for the standard terminate_handler which prints more information about the terminating exception (if any) on stderr. Call

            std::set_terminate (__gnu_cxx::__verbose_terminate_handler)

to use. For more info, see http://gcc.gnu.org/onlinedocs/libstdc++/19_diagnostics/howto.html#4

Definition at line 45 of file vterminate.cc.

References abi::__cxa_demangle().

## Variable Documentation

const unsigned long __gnu_cxx::__stl_prime_list[__stl_num_primes]`[static]`

Initial value:

    {
      53ul,         97ul,         193ul,       389ul,       769ul,
      1543ul,       3079ul,       6151ul,      12289ul,     24593ul,
      49157ul,      98317ul,      196613ul,    393241ul,    786433ul,
      1572869ul,    3145739ul,    6291469ul,   12582917ul,  25165843ul,
      50331653ul,   100663319ul,  201326611ul, 402653189ul, 805306457ul,
      1610612741ul, 3221225473ul, 4294967291ul
    }

Definition at line 188 of file stl_hashtable.h.