__gnu_cxx::bitmap_allocator< _Tp > Class Template Reference

#include <bitmap_allocator.h>

Inheritance diagram for __gnu_cxx::bitmap_allocator< _Tp >:

__gnu_cxx::_BA_free_list_store List of all members.

Public Types

typedef size_t size_type
typedef ptrdiff_t difference_type
typedef _Tp * pointer
typedef const _Tp * const_pointer
typedef _Tp & reference
typedef const _Tp & const_reference
typedef _Tp value_type

Public Member Functions

 bitmap_allocator () throw ()
 bitmap_allocator (const bitmap_allocator &)
template<typename _Tp1>  bitmap_allocator (const bitmap_allocator< _Tp1 > &) throw ()
 ~bitmap_allocator () throw ()
pointer allocate (size_type __n)
pointer allocate (size_type __n, typename bitmap_allocator< void >::const_pointer)
void deallocate (pointer __p, size_type __n) throw ()
pointer address (reference r) const
const_pointer address (const_reference r) const
size_type max_size (void) const throw ()
void construct (pointer p, const_reference __data)
void destroy (pointer p)

Private Types

typedef std::pair< pointer,
pointer
_Block_pair
typedef __gnu_cxx::new_allocator<
_Block_pair
_BPVec_allocator_type
typedef std::vector< _Block_pair,
_BPVec_allocator_type
_BPVector

Static Private Member Functions

void _S_bit_allocate (unsigned int *__pbmap, unsigned int __pos) throw ()
void _S_bit_free (unsigned int *__pbmap, unsigned int __pos) throw ()
void * _S_memory_get (size_t __sz) throw (std::bad_alloc)
void _S_memory_put (void *__vptr) throw ()
void _S_refill_pool () throw (std::bad_alloc)
pointer _S_allocate_single_object ()
void _S_deallocate_single_object (pointer __p) throw ()

Static Private Attributes

const unsigned int _Bits_Per_Byte = 8
const unsigned int _Bits_Per_Block = sizeof(unsigned int) * _Bits_Per_Byte
_BPVector _S_mem_blocks
unsigned int _S_block_size = bitmap_allocator<_Tp>::_Bits_Per_Block
__gnu_cxx::__aux_balloc::_Bit_map_counter<
pointer, _BPVec_allocator_type
_S_last_request
_BPVector::size_type _S_last_dealloc_index = 0

template<typename _Tp>
class __gnu_cxx::bitmap_allocator< _Tp >


Member Typedef Documentation

template<typename _Tp>
typedef std::pair<pointer, pointer> __gnu_cxx::bitmap_allocator< _Tp >::_Block_pair [private]
 

Definition at line 530 of file bitmap_allocator.h.

template<typename _Tp>
typedef __gnu_cxx::new_allocator<_Block_pair> __gnu_cxx::bitmap_allocator< _Tp >::_BPVec_allocator_type [private]
 

Definition at line 531 of file bitmap_allocator.h.

template<typename _Tp>
typedef std::vector<_Block_pair, _BPVec_allocator_type> __gnu_cxx::bitmap_allocator< _Tp >::_BPVector [private]
 

Definition at line 532 of file bitmap_allocator.h.

template<typename _Tp>
typedef const _Tp* __gnu_cxx::bitmap_allocator< _Tp >::const_pointer
 

Definition at line 497 of file bitmap_allocator.h.

template<typename _Tp>
typedef const _Tp& __gnu_cxx::bitmap_allocator< _Tp >::const_reference
 

Definition at line 499 of file bitmap_allocator.h.

template<typename _Tp>
typedef ptrdiff_t __gnu_cxx::bitmap_allocator< _Tp >::difference_type
 

Definition at line 495 of file bitmap_allocator.h.

template<typename _Tp>
typedef _Tp* __gnu_cxx::bitmap_allocator< _Tp >::pointer
 

Definition at line 496 of file bitmap_allocator.h.

template<typename _Tp>
typedef _Tp& __gnu_cxx::bitmap_allocator< _Tp >::reference
 

Definition at line 498 of file bitmap_allocator.h.

template<typename _Tp>
typedef size_t __gnu_cxx::bitmap_allocator< _Tp >::size_type
 

Definition at line 494 of file bitmap_allocator.h.

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

template<typename _Tp>
typedef _Tp __gnu_cxx::bitmap_allocator< _Tp >::value_type
 

Definition at line 500 of file bitmap_allocator.h.

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


Constructor & Destructor Documentation

template<typename _Tp>
__gnu_cxx::bitmap_allocator< _Tp >::bitmap_allocator  )  throw () [inline]
 

Definition at line 765 of file bitmap_allocator.h.

template<typename _Tp>
__gnu_cxx::bitmap_allocator< _Tp >::bitmap_allocator const bitmap_allocator< _Tp > &   )  [inline]
 

Definition at line 768 of file bitmap_allocator.h.

template<typename _Tp>
template<typename _Tp1>
__gnu_cxx::bitmap_allocator< _Tp >::bitmap_allocator const bitmap_allocator< _Tp1 > &   )  throw () [inline]
 

Definition at line 770 of file bitmap_allocator.h.

template<typename _Tp>
__gnu_cxx::bitmap_allocator< _Tp >::~bitmap_allocator  )  throw () [inline]
 

Definition at line 773 of file bitmap_allocator.h.


Member Function Documentation

template<typename _Tp>
pointer __gnu_cxx::bitmap_allocator< _Tp >::_S_allocate_single_object  )  [inline, static, private]
 

Definition at line 604 of file bitmap_allocator.h.

References __gnu_cxx::__aux_balloc::__balloc_num_bit_maps(), __gnu_cxx::_Bit_scan_forward(), __gnu_cxx::__aux_balloc::_Bit_map_counter< pointer, _BPVec_allocator_type >::_M_base(), __gnu_cxx::__aux_balloc::_Bit_map_counter< pointer, _BPVec_allocator_type >::_M_finished(), __gnu_cxx::__aux_balloc::_Bit_map_counter< pointer, _BPVec_allocator_type >::_M_get(), __gnu_cxx::__aux_balloc::_Bit_map_counter< pointer, _BPVec_allocator_type >::_M_offset(), __gnu_cxx::__aux_balloc::_Bit_map_counter< pointer, _BPVec_allocator_type >::_M_reset(), __gnu_cxx::__aux_balloc::_Bit_map_counter< pointer, _BPVec_allocator_type >::_M_where(), __gnu_cxx::bitmap_allocator< _Tp >::_S_bit_allocate(), __gnu_cxx::bitmap_allocator< _Tp >::_S_last_request, __gnu_cxx::bitmap_allocator< _Tp >::_S_mem_blocks, __gnu_cxx::bitmap_allocator< _Tp >::_S_refill_pool(), and std::find_if().

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

template<typename _Tp>
void __gnu_cxx::bitmap_allocator< _Tp >::_S_bit_allocate unsigned int *  __pbmap,
unsigned int  __pos
throw () [inline, static, private]
 

Definition at line 507 of file bitmap_allocator.h.

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

template<typename _Tp>
void __gnu_cxx::bitmap_allocator< _Tp >::_S_bit_free unsigned int *  __pbmap,
unsigned int  __pos
throw () [inline, static, private]
 

Definition at line 514 of file bitmap_allocator.h.

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

template<typename _Tp>
void __gnu_cxx::bitmap_allocator< _Tp >::_S_deallocate_single_object pointer  __p  )  throw () [inline, static, private]
 

Definition at line 683 of file bitmap_allocator.h.

References __gnu_cxx::__aux_balloc::__balloc_num_bit_maps(), __gnu_cxx::__aux_balloc::_Inclusive_between< _Tp >::_Block_pair, __gnu_cxx::__aux_balloc::_Bit_map_counter< pointer, _BPVec_allocator_type >::_M_reset(), __gnu_cxx::__aux_balloc::_Bit_map_counter< pointer, _BPVec_allocator_type >::_M_where(), __gnu_cxx::bitmap_allocator< _Tp >::_S_bit_free(), __gnu_cxx::bitmap_allocator< _Tp >::_S_block_size, __gnu_cxx::_BA_free_list_store::_S_insert_free_list(), __gnu_cxx::bitmap_allocator< _Tp >::_S_last_dealloc_index, __gnu_cxx::bitmap_allocator< _Tp >::_S_last_request, __gnu_cxx::bitmap_allocator< _Tp >::_S_mem_blocks, and std::find_if().

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

template<typename _Tp>
void* __gnu_cxx::bitmap_allocator< _Tp >::_S_memory_get size_t  __sz  )  throw (std::bad_alloc) [inline, static, private]
 

Definition at line 520 of file bitmap_allocator.h.

References operator new().

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

template<typename _Tp>
void __gnu_cxx::bitmap_allocator< _Tp >::_S_memory_put void *  __vptr  )  throw () [inline, static, private]
 

Definition at line 525 of file bitmap_allocator.h.

References operator delete().

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

template<typename _Tp>
void __gnu_cxx::bitmap_allocator< _Tp >::_S_refill_pool  )  throw (std::bad_alloc) [inline, static, private]
 

Definition at line 555 of file bitmap_allocator.h.

References __gnu_cxx::__aux_balloc::_Inclusive_between< _Tp >::_Block_pair, __gnu_cxx::bitmap_allocator< _Tp >::_S_block_size, __gnu_cxx::bitmap_allocator< _Tp >::_S_mem_blocks, and std::make_pair().

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

template<typename _Tp>
const_pointer __gnu_cxx::bitmap_allocator< _Tp >::address const_reference  r  )  const [inline]
 

Definition at line 808 of file bitmap_allocator.h.

template<typename _Tp>
pointer __gnu_cxx::bitmap_allocator< _Tp >::address reference  r  )  const [inline]
 

Definition at line 807 of file bitmap_allocator.h.

template<typename _Tp>
pointer __gnu_cxx::bitmap_allocator< _Tp >::allocate size_type  __n,
typename bitmap_allocator< void >::const_pointer 
[inline]
 

Definition at line 794 of file bitmap_allocator.h.

References __gnu_cxx::bitmap_allocator< _Tp >::allocate().

template<typename _Tp>
pointer __gnu_cxx::bitmap_allocator< _Tp >::allocate size_type  __n  )  [inline]
 

Definition at line 779 of file bitmap_allocator.h.

References __gnu_cxx::bitmap_allocator< _Tp >::_S_allocate_single_object(), and __gnu_cxx::bitmap_allocator< _Tp >::_S_memory_get().

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

template<typename _Tp>
void __gnu_cxx::bitmap_allocator< _Tp >::construct pointer  p,
const_reference  __data
[inline]
 

Definition at line 812 of file bitmap_allocator.h.

References __gnu_cxx::bitmap_allocator< _Tp >::value_type.

template<typename _Tp>
void __gnu_cxx::bitmap_allocator< _Tp >::deallocate pointer  __p,
size_type  __n
throw () [inline]
 

Definition at line 799 of file bitmap_allocator.h.

References __gnu_cxx::bitmap_allocator< _Tp >::_S_deallocate_single_object(), and __gnu_cxx::bitmap_allocator< _Tp >::_S_memory_put().

template<typename _Tp>
void __gnu_cxx::bitmap_allocator< _Tp >::destroy pointer  p  )  [inline]
 

Definition at line 817 of file bitmap_allocator.h.

template<typename _Tp>
size_type __gnu_cxx::bitmap_allocator< _Tp >::max_size void   )  const throw () [inline]
 

Definition at line 810 of file bitmap_allocator.h.

References __gnu_cxx::bitmap_allocator< _Tp >::size_type.


Member Data Documentation

template<typename _Tp>
const unsigned int __gnu_cxx::bitmap_allocator< _Tp >::_Bits_Per_Block = sizeof(unsigned int) * _Bits_Per_Byte [static, private]
 

Definition at line 505 of file bitmap_allocator.h.

template<typename _Tp>
const unsigned int __gnu_cxx::bitmap_allocator< _Tp >::_Bits_Per_Byte = 8 [static, private]
 

Definition at line 504 of file bitmap_allocator.h.

template<typename _Tp>
unsigned int __gnu_cxx::bitmap_allocator< _Tp >::_S_block_size = bitmap_allocator<_Tp>::_Bits_Per_Block [static, private]
 

Definition at line 826 of file bitmap_allocator.h.

Referenced by __gnu_cxx::bitmap_allocator< _Tp >::_S_deallocate_single_object(), and __gnu_cxx::bitmap_allocator< _Tp >::_S_refill_pool().

template<typename _Tp>
__gnu_cxx::bitmap_allocator< _Tp >::_BPVector::size_type __gnu_cxx::bitmap_allocator< _Tp >::_S_last_dealloc_index = 0 [static, private]
 

Definition at line 830 of file bitmap_allocator.h.

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

template<typename _Tp>
__gnu_cxx::__aux_balloc::_Bit_map_counter< typename bitmap_allocator< _Tp >::pointer, typename bitmap_allocator< _Tp >::_BPVec_allocator_type > __gnu_cxx::bitmap_allocator< _Tp >::_S_last_request [static, private]
 

Referenced by __gnu_cxx::bitmap_allocator< _Tp >::_S_allocate_single_object(), and __gnu_cxx::bitmap_allocator< _Tp >::_S_deallocate_single_object().

template<typename _Tp>
bitmap_allocator< _Tp >::_BPVector __gnu_cxx::bitmap_allocator< _Tp >::_S_mem_blocks [static, private]
 

Definition at line 823 of file bitmap_allocator.h.

Referenced by __gnu_cxx::bitmap_allocator< _Tp >::_S_allocate_single_object(), __gnu_cxx::bitmap_allocator< _Tp >::_S_deallocate_single_object(), and __gnu_cxx::bitmap_allocator< _Tp >::_S_refill_pool().


The documentation for this class was generated from the following file:
Generated on Tue Jan 30 17:31:59 2007 for GNU C++ STL by doxygen 1.3.6