# __gnu_cxx::__detail Namespace Reference

## Detailed Description

Implementation details not part of the namespace __gnu_cxx interface.

## Classes

- class __mini_vector
    __mini_vector<> is a stripped down version of the full-fledged std::vector<>. More...
- struct __mv_iter_traits
- struct __mv_iter_traits< _Tp * >
- class _Bitmap_counter
    The bitmap counter which acts as the bitmap manipulator, and manages the bit-manipulation functions and the searching and identification functions on the bit-map. More...
- class _Ffit_finder
    The class which acts as a predicate for applying the first-fit memory allocation policy for the bitmap allocator. More...
- class _Functor_Ref
- class _Inclusive_between

## Enumerations

- enum { _S_max_rope_depth }
- enum { bits_per_byte, bits_per_block }
- enum _Tag { _S_leaf, _S_concat, _S_substringfn, _S_function }

## Functions

- void __bit_allocate (size_t *__pbmap, size_t __pos) throw ()
- void __bit_free (size_t *__pbmap, size_t __pos) throw ()
- template<typename _InputIterator, typename _Predicate> _InputIterator __find_if (_InputIterator __first, _InputIterator __last, _Predicate __p)
- template<typename _ForwardIterator, typename _Tp, typename _Compare> _ForwardIterator __lower_bound (_ForwardIterator __first, _ForwardIterator __last, const _Tp &__val, _Compare __comp)
- template<typename _AddrPair> size_t __num_bitmaps (_AddrPair __ap)
- template<typename _AddrPair> size_t __num_blocks (_AddrPair __ap)

## Function Documentation

void __gnu_cxx::__detail::__bit_allocate | ( | size_t * | __pbmap,
|  | size_t | __pos |
| ) |  |  | throw ()`[inline]`

Mark a memory address as allocated by re-setting the corresponding bit in the bit-map.

Definition at line 521 of file bitmap_allocator.h.

Referenced by __gnu_cxx::bitmap_allocator< _Tp >::_M_allocate_single_object().

void __gnu_cxx::__detail::__bit_free | ( | size_t * | __pbmap,
|  | size_t | __pos |
| ) |  |  | throw ()`[inline]`

Mark a memory address as free by setting the corresponding bit in the bit-map.

Definition at line 532 of file bitmap_allocator.h.

Referenced by __gnu_cxx::bitmap_allocator< _Tp >::_M_deallocate_single_object().

template<typename _AddrPair>

size_t __gnu_cxx::__detail::__num_bitmaps | ( | _AddrPair | __ap | ) | `[inline]`

The number of Bit-maps pointed to by the address pair passed to the function.

Definition at line 305 of file bitmap_allocator.h.

References __num_blocks().

Referenced by __gnu_cxx::bitmap_allocator< _Tp >::_M_allocate_single_object(), __gnu_cxx::bitmap_allocator< _Tp >::_M_deallocate_single_object(), and __gnu_cxx::__detail::_Ffit_finder< _Tp >::operator()().

template<typename _AddrPair>

size_t __gnu_cxx::__detail::__num_blocks | ( | _AddrPair | __ap | ) | `[inline]`

The number of Blocks pointed to by the address pair passed to the function.

Definition at line 297 of file bitmap_allocator.h.

Referenced by __num_bitmaps(), and __gnu_cxx::__detail::_Ffit_finder< _Tp >::operator()().