RELATED_SEGMENTED_ARRAY< T, block_size > Module Template Reference

#include <cmplr_segmented_array.h>

Inheritance diagram for RELATED_SEGMENTED_ARRAY< T, block_size >:

Inheritance graph
[legend]
Collaboration diagram for RELATED_SEGMENTED_ARRAY< T, block_size >:

Collaboration graph
[legend]

Public Types

typedef T base_type
typedef T value_type
typedef value_typepointer
typedef const value_typeconst_pointer
typedef value_typereference
typedef const value_typeconst_reference
typedef UINT size_type
typedef INT difference_type
typedef
SEGMENTED_ARRAY_ITERATOR< self
*, T, pointer, reference
iterator
typedef
SEGMENTED_ARRAY_ITERATOR
< const self *, T,
const_pointer, const_reference
const_iterator
typedef T base_type
typedef T value_type
typedef value_typepointer
typedef const value_typeconst_pointer
typedef value_typereference
typedef const value_typeconst_reference
typedef UINT size_type
typedef INT difference_type
typedef
SEGMENTED_ARRAY_ITERATOR< self
*, T, pointer, reference
iterator
typedef
SEGMENTED_ARRAY_ITERATOR
< const self *, T,
const_pointer, const_reference
const_iterator

Public Member Functions

 RELATED_SEGMENTED_ARRAY (MEM_POOL *m=Malloc_Mem_Pool)
 ~RELATED_SEGMENTED_ARRAY ()
UINT Block_size () const
UINT Size () const
TEntry (UINT idx)
const TEntry (UINT idx) const
Toperator[] (UINT idx)
const Toperator[] (UINT idx) const
iterator begin ()
iterator end ()
const_iterator begin () const
const_iterator end () const
TNew_entry (UINT &idx)
UINT Insert (const T &x)
virtual void Delete_last ()
virtual void Delete_last (UINT n)
UINT Insert (const T *x, UINT n_elemt)
UINT Transfer (T *x, UINT n_elemt)
void Reserve (UINT n_elemt)
UINT Get_block_size (UINT idx) const
UINT Block_index (UINT idx) const
UINT Block_index_end () const
TBlock_begin (UINT block_idx)
const TBlock_begin (UINT block_idx) const
TBlock_end (UINT block_idx)
const TBlock_end (UINT block_idx) const
void Clear (void)
 RELATED_SEGMENTED_ARRAY (MEM_POOL *m=Malloc_Mem_Pool)
 ~RELATED_SEGMENTED_ARRAY ()
UINT Block_size () const
UINT Size () const
TEntry (UINT idx)
const TEntry (UINT idx) const
Toperator[] (UINT idx)
const Toperator[] (UINT idx) const
iterator begin ()
iterator end ()
const_iterator begin () const
const_iterator end () const
TNew_entry (UINT &idx)
UINT Insert (const T &x)
virtual void Delete_last ()
virtual void Delete_last (UINT n)
UINT Insert (const T *x, UINT n_elemt)
UINT Transfer (T *x, UINT n_elemt)
void Reserve (UINT n_elemt)
UINT Get_block_size (UINT idx) const
UINT Block_index (UINT idx) const
UINT Block_index_end () const
TBlock_begin (UINT block_idx)
const TBlock_begin (UINT block_idx) const
TBlock_end (UINT block_idx)
const TBlock_end (UINT block_idx) const
void Clear (void)

Private Types

typedef std::pair< T *, BOOLthingy
typedef
RELATED_SEGMENTED_ARRAY< T,
block_size > 
self
typedef std::pair< T *, BOOLthingy
typedef
RELATED_SEGMENTED_ARRAY< T,
block_size > 
self

Private Member Functions

virtual void Construct_new_entry (void)
virtual void Construct_new_entry (UINT n)
UINT Round_up (UINT s)
void Update_Map (T *marker, UINT new_size, BOOL own_memory)
void Pop_Map ()
void Allocate ()
TNew_entry ()
void Copy (const T *x, UINT n)
UINT next_block_idx (UINT block_idx) const
virtual void Construct_new_entry (void)
virtual void Construct_new_entry (UINT n)
UINT Round_up (UINT s)
void Update_Map (T *marker, UINT new_size, BOOL own_memory)
void Pop_Map ()
void Allocate ()
TNew_entry ()
void Copy (const T *x, UINT n)
UINT next_block_idx (UINT block_idx) const

Private Attributes

std::vector< thingy,
mempool_allocator< thingy > > 
map
MEM_POOLpool
UINT max_size
INT block_base
UINT next_block_size
Tblock

Detailed Description

template<class T, UINT block_size = 128>
module RELATED_SEGMENTED_ARRAY< T, block_size >

Definition at line 259 of file cmplr_segmented_array.h.


Member Typedef Documentation

template<class T, UINT block_size = 128>
typedef std::pair<T *, BOOL> RELATED_SEGMENTED_ARRAY< T, block_size >::thingy [private]

Definition at line 261 of file cmplr_segmented_array.h.

template<class T, UINT block_size = 128>
typedef RELATED_SEGMENTED_ARRAY<T, block_size> RELATED_SEGMENTED_ARRAY< T, block_size >::self [private]

Definition at line 273 of file cmplr_segmented_array.h.

template<class T, UINT block_size = 128>
typedef T RELATED_SEGMENTED_ARRAY< T, block_size >::base_type

Definition at line 276 of file cmplr_segmented_array.h.

template<class T, UINT block_size = 128>
typedef T RELATED_SEGMENTED_ARRAY< T, block_size >::value_type

Definition at line 278 of file cmplr_segmented_array.h.

template<class T, UINT block_size = 128>
typedef value_type* RELATED_SEGMENTED_ARRAY< T, block_size >::pointer

Definition at line 279 of file cmplr_segmented_array.h.

template<class T, UINT block_size = 128>
typedef const value_type* RELATED_SEGMENTED_ARRAY< T, block_size >::const_pointer

Definition at line 280 of file cmplr_segmented_array.h.

template<class T, UINT block_size = 128>
typedef value_type& RELATED_SEGMENTED_ARRAY< T, block_size >::reference

Definition at line 281 of file cmplr_segmented_array.h.

template<class T, UINT block_size = 128>
typedef const value_type& RELATED_SEGMENTED_ARRAY< T, block_size >::const_reference

Definition at line 282 of file cmplr_segmented_array.h.

template<class T, UINT block_size = 128>
typedef UINT RELATED_SEGMENTED_ARRAY< T, block_size >::size_type

Definition at line 283 of file cmplr_segmented_array.h.

template<class T, UINT block_size = 128>
typedef INT RELATED_SEGMENTED_ARRAY< T, block_size >::difference_type

Definition at line 284 of file cmplr_segmented_array.h.

template<class T, UINT block_size = 128>
typedef SEGMENTED_ARRAY_ITERATOR<self*, T, pointer, reference> RELATED_SEGMENTED_ARRAY< T, block_size >::iterator

Definition at line 287 of file cmplr_segmented_array.h.

template<class T, UINT block_size = 128>
typedef SEGMENTED_ARRAY_ITERATOR<const self*, T, const_pointer, const_reference> RELATED_SEGMENTED_ARRAY< T, block_size >::const_iterator

Definition at line 290 of file cmplr_segmented_array.h.

template<class T, UINT block_size = 128>
typedef std::pair<T *, BOOL> RELATED_SEGMENTED_ARRAY< T, block_size >::thingy [private]

Definition at line 261 of file cmplr_segmented_array.h.

template<class T, UINT block_size = 128>
typedef RELATED_SEGMENTED_ARRAY<T, block_size> RELATED_SEGMENTED_ARRAY< T, block_size >::self [private]

Definition at line 273 of file cmplr_segmented_array.h.

template<class T, UINT block_size = 128>
typedef T RELATED_SEGMENTED_ARRAY< T, block_size >::base_type

Definition at line 276 of file cmplr_segmented_array.h.

template<class T, UINT block_size = 128>
typedef T RELATED_SEGMENTED_ARRAY< T, block_size >::value_type

Definition at line 278 of file cmplr_segmented_array.h.

template<class T, UINT block_size = 128>
typedef value_type* RELATED_SEGMENTED_ARRAY< T, block_size >::pointer

Definition at line 279 of file cmplr_segmented_array.h.

template<class T, UINT block_size = 128>
typedef const value_type* RELATED_SEGMENTED_ARRAY< T, block_size >::const_pointer

Definition at line 280 of file cmplr_segmented_array.h.

template<class T, UINT block_size = 128>
typedef value_type& RELATED_SEGMENTED_ARRAY< T, block_size >::reference

Definition at line 281 of file cmplr_segmented_array.h.

template<class T, UINT block_size = 128>
typedef const value_type& RELATED_SEGMENTED_ARRAY< T, block_size >::const_reference

Definition at line 282 of file cmplr_segmented_array.h.

template<class T, UINT block_size = 128>
typedef UINT RELATED_SEGMENTED_ARRAY< T, block_size >::size_type

Definition at line 283 of file cmplr_segmented_array.h.

template<class T, UINT block_size = 128>
typedef INT RELATED_SEGMENTED_ARRAY< T, block_size >::difference_type

Definition at line 284 of file cmplr_segmented_array.h.

template<class T, UINT block_size = 128>
typedef SEGMENTED_ARRAY_ITERATOR<self*, T, pointer, reference> RELATED_SEGMENTED_ARRAY< T, block_size >::iterator

Definition at line 287 of file cmplr_segmented_array.h.

template<class T, UINT block_size = 128>
typedef SEGMENTED_ARRAY_ITERATOR<const self*, T, const_pointer, const_reference> RELATED_SEGMENTED_ARRAY< T, block_size >::const_iterator

Definition at line 290 of file cmplr_segmented_array.h.


Constructor & Destructor Documentation

template<class T, UINT block_size = 128>
RELATED_SEGMENTED_ARRAY< T, block_size >::RELATED_SEGMENTED_ARRAY ( MEM_POOL m = Malloc_Mem_Pool  )  [inline]

template<class T, UINT block_size = 128>
RELATED_SEGMENTED_ARRAY< T, block_size >::~RELATED_SEGMENTED_ARRAY (  )  [inline]

template<class T, UINT block_size = 128>
RELATED_SEGMENTED_ARRAY< T, block_size >::RELATED_SEGMENTED_ARRAY ( MEM_POOL m = Malloc_Mem_Pool  )  [inline]

template<class T, UINT block_size = 128>
RELATED_SEGMENTED_ARRAY< T, block_size >::~RELATED_SEGMENTED_ARRAY (  )  [inline]


Member Function/Subroutine Documentation

template<class T, UINT block_size = 128>
virtual void RELATED_SEGMENTED_ARRAY< T, block_size >::Construct_new_entry ( void   )  [inline, private, virtual]

template<class T, UINT block_size = 128>
virtual void RELATED_SEGMENTED_ARRAY< T, block_size >::Construct_new_entry ( UINT  n  )  [inline, private, virtual]

template<class T, UINT block_size = 128>
UINT RELATED_SEGMENTED_ARRAY< T, block_size >::Round_up ( UINT  s  )  [inline, private]

Definition at line 315 of file cmplr_segmented_array.h.

References UINT.

Referenced by RELATED_SEGMENTED_ARRAY< T, block_size >::Allocate().

template<class T, UINT block_size>
void RELATED_SEGMENTED_ARRAY< T, block_size >::Update_Map ( T marker,
UINT  new_size,
BOOL  own_memory 
) [inline, private]

template<class T, UINT block_size>
void RELATED_SEGMENTED_ARRAY< T, block_size >::Pop_Map (  )  [inline, private]

template<class T, UINT block_size>
void RELATED_SEGMENTED_ARRAY< T, block_size >::Allocate (  )  [inline, private]

template<class T, UINT block_size = 128>
T& RELATED_SEGMENTED_ARRAY< T, block_size >::New_entry (  )  [inline, private]

template<class T, UINT block_size = 128>
void RELATED_SEGMENTED_ARRAY< T, block_size >::Copy ( const T x,
UINT  n 
) [inline, private]

template<class T, UINT block_size = 128>
UINT RELATED_SEGMENTED_ARRAY< T, block_size >::next_block_idx ( UINT  block_idx  )  const [inline, private]

template<class T, UINT block_size = 128>
UINT RELATED_SEGMENTED_ARRAY< T, block_size >::Block_size (  )  const [inline]

Definition at line 373 of file cmplr_segmented_array.h.

template<class T, UINT block_size = 128>
UINT RELATED_SEGMENTED_ARRAY< T, block_size >::Size ( void   )  const [inline]

template<class T, UINT block_size = 128>
T& RELATED_SEGMENTED_ARRAY< T, block_size >::Entry ( UINT  idx  )  [inline]

template<class T, UINT block_size = 128>
const T& RELATED_SEGMENTED_ARRAY< T, block_size >::Entry ( UINT  idx  )  const [inline]

template<class T, UINT block_size = 128>
T& RELATED_SEGMENTED_ARRAY< T, block_size >::operator[] ( UINT  idx  )  [inline]

template<class T, UINT block_size = 128>
const T& RELATED_SEGMENTED_ARRAY< T, block_size >::operator[] ( UINT  idx  )  const [inline]

template<class T, UINT block_size = 128>
iterator RELATED_SEGMENTED_ARRAY< T, block_size >::begin ( void   )  [inline]

template<class T, UINT block_size = 128>
iterator RELATED_SEGMENTED_ARRAY< T, block_size >::end ( void   )  [inline]

template<class T, UINT block_size = 128>
const_iterator RELATED_SEGMENTED_ARRAY< T, block_size >::begin ( void   )  const [inline]

template<class T, UINT block_size = 128>
const_iterator RELATED_SEGMENTED_ARRAY< T, block_size >::end ( void   )  const [inline]

template<class T, UINT block_size = 128>
T& RELATED_SEGMENTED_ARRAY< T, block_size >::New_entry ( UINT idx  )  [inline]

template<class T, UINT block_size>
UINT RELATED_SEGMENTED_ARRAY< T, block_size >::Insert ( const T x  )  [inline]

template<class T, UINT block_size = 128>
virtual void RELATED_SEGMENTED_ARRAY< T, block_size >::Delete_last ( void   )  [inline, virtual]

template<class T, UINT block_size>
void RELATED_SEGMENTED_ARRAY< T, block_size >::Delete_last ( UINT  n  )  [inline, virtual]

template<class T, UINT block_size>
UINT RELATED_SEGMENTED_ARRAY< T, block_size >::Insert ( const T x,
UINT  n_elemt 
) [inline]

template<class T, UINT block_size>
UINT RELATED_SEGMENTED_ARRAY< T, block_size >::Transfer ( T x,
UINT  n_elemt 
) [inline]

template<class T, UINT block_size = 128>
void RELATED_SEGMENTED_ARRAY< T, block_size >::Reserve ( UINT  n_elemt  )  [inline]

template<class T, UINT block_size = 128>
UINT RELATED_SEGMENTED_ARRAY< T, block_size >::Get_block_size ( UINT  idx  )  const [inline]

template<class T, UINT block_size = 128>
UINT RELATED_SEGMENTED_ARRAY< T, block_size >::Block_index ( UINT  idx  )  const [inline]

Definition at line 441 of file cmplr_segmented_array.h.

template<class T, UINT block_size = 128>
UINT RELATED_SEGMENTED_ARRAY< T, block_size >::Block_index_end (  )  const [inline]

template<class T, UINT block_size = 128>
T* RELATED_SEGMENTED_ARRAY< T, block_size >::Block_begin ( UINT  block_idx  )  [inline]

template<class T, UINT block_size = 128>
const T* RELATED_SEGMENTED_ARRAY< T, block_size >::Block_begin ( UINT  block_idx  )  const [inline]

template<class T, UINT block_size = 128>
T* RELATED_SEGMENTED_ARRAY< T, block_size >::Block_end ( UINT  block_idx  )  [inline]

template<class T, UINT block_size = 128>
const T* RELATED_SEGMENTED_ARRAY< T, block_size >::Block_end ( UINT  block_idx  )  const [inline]

template<class T, UINT block_size>
void RELATED_SEGMENTED_ARRAY< T, block_size >::Clear ( void   )  [inline]

template<class T, UINT block_size = 128>
virtual void RELATED_SEGMENTED_ARRAY< T, block_size >::Construct_new_entry ( void   )  [inline, private, virtual]

template<class T, UINT block_size = 128>
virtual void RELATED_SEGMENTED_ARRAY< T, block_size >::Construct_new_entry ( UINT  n  )  [inline, private, virtual]

template<class T, UINT block_size = 128>
UINT RELATED_SEGMENTED_ARRAY< T, block_size >::Round_up ( UINT  s  )  [inline, private]

Definition at line 315 of file cmplr_segmented_array.h.

References UINT.

template<class T, UINT block_size = 128>
void RELATED_SEGMENTED_ARRAY< T, block_size >::Update_Map ( T marker,
UINT  new_size,
BOOL  own_memory 
) [private]

template<class T, UINT block_size = 128>
void RELATED_SEGMENTED_ARRAY< T, block_size >::Pop_Map (  )  [private]

template<class T, UINT block_size = 128>
void RELATED_SEGMENTED_ARRAY< T, block_size >::Allocate (  )  [private]

template<class T, UINT block_size = 128>
T& RELATED_SEGMENTED_ARRAY< T, block_size >::New_entry (  )  [inline, private]

template<class T, UINT block_size = 128>
void RELATED_SEGMENTED_ARRAY< T, block_size >::Copy ( const T x,
UINT  n 
) [inline, private]

template<class T, UINT block_size = 128>
UINT RELATED_SEGMENTED_ARRAY< T, block_size >::next_block_idx ( UINT  block_idx  )  const [inline, private]

template<class T, UINT block_size = 128>
UINT RELATED_SEGMENTED_ARRAY< T, block_size >::Block_size (  )  const [inline]

Definition at line 373 of file cmplr_segmented_array.h.

template<class T, UINT block_size = 128>
UINT RELATED_SEGMENTED_ARRAY< T, block_size >::Size ( void   )  const [inline]

Definition at line 375 of file cmplr_segmented_array.h.

References growing_table::size.

template<class T, UINT block_size = 128>
T& RELATED_SEGMENTED_ARRAY< T, block_size >::Entry ( UINT  idx  )  [inline]

template<class T, UINT block_size = 128>
const T& RELATED_SEGMENTED_ARRAY< T, block_size >::Entry ( UINT  idx  )  const [inline]

template<class T, UINT block_size = 128>
T& RELATED_SEGMENTED_ARRAY< T, block_size >::operator[] ( UINT  idx  )  [inline]

template<class T, UINT block_size = 128>
const T& RELATED_SEGMENTED_ARRAY< T, block_size >::operator[] ( UINT  idx  )  const [inline]

template<class T, UINT block_size = 128>
iterator RELATED_SEGMENTED_ARRAY< T, block_size >::begin ( void   )  [inline]

template<class T, UINT block_size = 128>
iterator RELATED_SEGMENTED_ARRAY< T, block_size >::end ( void   )  [inline]

template<class T, UINT block_size = 128>
const_iterator RELATED_SEGMENTED_ARRAY< T, block_size >::begin ( void   )  const [inline]

template<class T, UINT block_size = 128>
const_iterator RELATED_SEGMENTED_ARRAY< T, block_size >::end ( void   )  const [inline]

template<class T, UINT block_size = 128>
T& RELATED_SEGMENTED_ARRAY< T, block_size >::New_entry ( UINT idx  )  [inline]

template<class T, UINT block_size = 128>
UINT RELATED_SEGMENTED_ARRAY< T, block_size >::Insert ( const T x  ) 

template<class T, UINT block_size = 128>
virtual void RELATED_SEGMENTED_ARRAY< T, block_size >::Delete_last ( void   )  [inline, virtual]

template<class T, UINT block_size = 128>
virtual void RELATED_SEGMENTED_ARRAY< T, block_size >::Delete_last ( UINT  n  )  [virtual]

Implements growing_table.

template<class T, UINT block_size = 128>
UINT RELATED_SEGMENTED_ARRAY< T, block_size >::Insert ( const T x,
UINT  n_elemt 
)

template<class T, UINT block_size = 128>
UINT RELATED_SEGMENTED_ARRAY< T, block_size >::Transfer ( T x,
UINT  n_elemt 
)

template<class T, UINT block_size = 128>
void RELATED_SEGMENTED_ARRAY< T, block_size >::Reserve ( UINT  n_elemt  )  [inline]

template<class T, UINT block_size = 128>
UINT RELATED_SEGMENTED_ARRAY< T, block_size >::Get_block_size ( UINT  idx  )  const [inline]

template<class T, UINT block_size = 128>
UINT RELATED_SEGMENTED_ARRAY< T, block_size >::Block_index ( UINT  idx  )  const [inline]

Definition at line 441 of file cmplr_segmented_array.h.

template<class T, UINT block_size = 128>
UINT RELATED_SEGMENTED_ARRAY< T, block_size >::Block_index_end (  )  const [inline]

template<class T, UINT block_size = 128>
T* RELATED_SEGMENTED_ARRAY< T, block_size >::Block_begin ( UINT  block_idx  )  [inline]

template<class T, UINT block_size = 128>
const T* RELATED_SEGMENTED_ARRAY< T, block_size >::Block_begin ( UINT  block_idx  )  const [inline]

template<class T, UINT block_size = 128>
T* RELATED_SEGMENTED_ARRAY< T, block_size >::Block_end ( UINT  block_idx  )  [inline]

template<class T, UINT block_size = 128>
const T* RELATED_SEGMENTED_ARRAY< T, block_size >::Block_end ( UINT  block_idx  )  const [inline]

template<class T, UINT block_size = 128>
void RELATED_SEGMENTED_ARRAY< T, block_size >::Clear ( void   ) 


Field Documentation

template<class T, UINT block_size = 128>
std::vector< thingy, mempool_allocator< thingy > > RELATED_SEGMENTED_ARRAY< T, block_size >::map [private]

template<class T, UINT block_size = 128>
MEM_POOL * RELATED_SEGMENTED_ARRAY< T, block_size >::pool [private]

template<class T, UINT block_size = 128>
UINT RELATED_SEGMENTED_ARRAY< T, block_size >::max_size [private]

template<class T, UINT block_size = 128>
INT RELATED_SEGMENTED_ARRAY< T, block_size >::block_base [private]

template<class T, UINT block_size = 128>
UINT RELATED_SEGMENTED_ARRAY< T, block_size >::next_block_size [private]

template<class T, UINT block_size = 128>
T * RELATED_SEGMENTED_ARRAY< T, block_size >::block [private]

Definition at line 269 of file cmplr_segmented_array.h.


The documentation for this module was generated from the following files:

Generated on Wed Apr 8 17:03:27 2009 for Open64 by  doxygen 1.5.6