ReactOS  0.4.13-dev-544-gede3fdd
_Bvector_base< _Alloc > Class Template Reference

#include <_bvector.h>

Collaboration diagram for _Bvector_base< _Alloc >:

Public Types

typedef _Alloc allocator_type
 
typedef unsigned int __chunk_type
 
typedef _Alloc_traits< __chunk_type, _Alloc >::allocator_type __chunk_allocator_type
 

Public Member Functions

allocator_type get_allocator () const
 
 _Bvector_base (const allocator_type &__a)
 
 _Bvector_base (__move_source< _Self > src)
 
 ~_Bvector_base ()
 

Protected Member Functions

__chunk_type_M_bit_alloc (size_t __n)
 
void _M_deallocate ()
 

Static Protected Member Functions

static size_t _M_bits_to_chunks (size_t __n_bits)
 

Protected Attributes

_Bit_iterator _M_start
 
_Bit_iterator _M_finish
 
_STLP_alloc_proxy< __chunk_type *, __chunk_type, __chunk_allocator_type_M_end_of_storage
 

Private Types

typedef _Bvector_base< _Alloc_Self
 

Detailed Description

template<class _Alloc>
class _Bvector_base< _Alloc >

Definition at line 268 of file _bvector.h.

Member Typedef Documentation

◆ __chunk_allocator_type

Definition at line 274 of file _bvector.h.

◆ __chunk_type

template<class _Alloc>
typedef unsigned int _Bvector_base< _Alloc >::__chunk_type

Definition at line 273 of file _bvector.h.

◆ _Self

template<class _Alloc>
typedef _Bvector_base<_Alloc> _Bvector_base< _Alloc >::_Self
private

Definition at line 269 of file _bvector.h.

◆ allocator_type

template<class _Alloc>
typedef _Alloc _Bvector_base< _Alloc >::allocator_type

Definition at line 272 of file _bvector.h.

Constructor & Destructor Documentation

◆ _Bvector_base() [1/2]

template<class _Alloc>
_Bvector_base< _Alloc >::_Bvector_base ( const allocator_type __a)
inline

Definition at line 278 of file _bvector.h.

280  (__chunk_type*)0)
281  {}
#define _STLP_CONVERT_ALLOCATOR(__a, _Tp)
Definition: _alloc.h:183
_STLP_alloc_proxy< __chunk_type *, __chunk_type, __chunk_allocator_type > _M_end_of_storage
Definition: _bvector.h:311
_Bit_iterator _M_finish
Definition: _bvector.h:310
unsigned int __chunk_type
Definition: _bvector.h:273
_Bit_iterator _M_start
Definition: _bvector.h:309

◆ _Bvector_base() [2/2]

template<class _Alloc>
_Bvector_base< _Alloc >::_Bvector_base ( __move_source< _Self src)
inline

Definition at line 283 of file _bvector.h.

284  : _M_start(src.get()._M_start), _M_finish(src.get()._M_finish),
285  _M_end_of_storage(src.get()._M_end_of_storage) {
286  //Make the source destroyable
287  src.get()._M_start._M_p = 0;
288  }
_STLP_alloc_proxy< __chunk_type *, __chunk_type, __chunk_allocator_type > _M_end_of_storage
Definition: _bvector.h:311
_Bit_iterator _M_finish
Definition: _bvector.h:310
GLenum src
Definition: glext.h:6340
_Bit_iterator _M_start
Definition: _bvector.h:309

◆ ~_Bvector_base()

template<class _Alloc>
_Bvector_base< _Alloc >::~_Bvector_base ( )
inline

Definition at line 291 of file _bvector.h.

291  {
292  _M_deallocate();
293  }
void _M_deallocate()
Definition: _bvector.h:303

Member Function Documentation

◆ _M_bit_alloc()

template<class _Alloc>
__chunk_type* _Bvector_base< _Alloc >::_M_bit_alloc ( size_t  __n)
inlineprotected

Definition at line 300 of file _bvector.h.

return __n
Definition: _algo.h:75
_STLP_alloc_proxy< __chunk_type *, __chunk_type, __chunk_allocator_type > _M_end_of_storage
Definition: _bvector.h:311
_Tp * allocate(size_type __n, size_type &__allocated_n)
Definition: _alloc.h:525
static size_t _M_bits_to_chunks(size_t __n_bits)
Definition: _bvector.h:297

◆ _M_bits_to_chunks()

template<class _Alloc>
static size_t _Bvector_base< _Alloc >::_M_bits_to_chunks ( size_t  __n_bits)
inlinestaticprotected

Definition at line 297 of file _bvector.h.

298  { return (__n_bits + _STLP_WORD_BIT - 1) / _STLP_WORD_BIT; }
#define _STLP_WORD_BIT
Definition: _bvector.h:37

Referenced by _Bvector_base< _Alloc >::_M_bit_alloc().

◆ _M_deallocate()

template<class _Alloc>
void _Bvector_base< _Alloc >::_M_deallocate ( )
inlineprotected

Definition at line 303 of file _bvector.h.

303  {
304  if (_M_start._M_p)
305  _M_end_of_storage.deallocate(_M_start._M_p,
307  }
_STLP_alloc_proxy< __chunk_type *, __chunk_type, __chunk_allocator_type > _M_end_of_storage
Definition: _bvector.h:311
_Value _M_data
Definition: _alloc.h:478
unsigned int * _M_p
Definition: _bvector.h:106
_Bit_iterator _M_start
Definition: _bvector.h:309

Referenced by _Bvector_base< _Alloc >::~_Bvector_base().

◆ get_allocator()

template<class _Alloc>
allocator_type _Bvector_base< _Alloc >::get_allocator ( ) const
inline

Definition at line 275 of file _bvector.h.

#define _STLP_CONVERT_ALLOCATOR(__a, _Tp)
Definition: _alloc.h:183
#define __STATIC_CAST(__x, __y)
Definition: features.h:585
_STLP_alloc_proxy< __chunk_type *, __chunk_type, __chunk_allocator_type > _M_end_of_storage
Definition: _bvector.h:311
_Alloc_traits< __chunk_type, _Alloc >::allocator_type __chunk_allocator_type
Definition: _bvector.h:274

Member Data Documentation

◆ _M_end_of_storage

◆ _M_finish

template<class _Alloc>
_Bit_iterator _Bvector_base< _Alloc >::_M_finish
protected

Definition at line 310 of file _bvector.h.

◆ _M_start

template<class _Alloc>
_Bit_iterator _Bvector_base< _Alloc >::_M_start
protected

Definition at line 309 of file _bvector.h.

Referenced by _Bvector_base< _Alloc >::_M_deallocate().


The documentation for this class was generated from the following file: