OpenSDN source code
IndexVector< EntryType > Class Template Reference

#include <index_vector.h>

Collaboration diagram for IndexVector< EntryType >:

Public Types

typedef std::vector< EntryType > EntryTable
 

Public Member Functions

 IndexVector ()
 
 ~IndexVector ()
 
EntryType At (size_t index) const
 
size_t Insert (EntryType entry)
 
size_t InsertAtIndex (uint32_t index, EntryType entry)
 
void Update (size_t index, EntryType entry)
 
void Remove (size_t index)
 
bool NoneIndexSet ()
 
size_t InUseIndexCount ()
 

Static Public Attributes

static const size_t kGrowSize = 32
 

Private Types

typedef boost::dynamic_bitset Bitmap
 

Private Member Functions

 DISALLOW_COPY_AND_ASSIGN (IndexVector)
 

Private Attributes

Bitmap bitmap_
 
EntryTable entries_
 

Detailed Description

template<typename EntryType>
class IndexVector< EntryType >

Definition at line 15 of file index_vector.h.

Member Typedef Documentation

◆ Bitmap

template<typename EntryType >
typedef boost::dynamic_bitset IndexVector< EntryType >::Bitmap
private

Definition at line 94 of file index_vector.h.

◆ EntryTable

template<typename EntryType >
typedef std::vector<EntryType> IndexVector< EntryType >::EntryTable

Definition at line 19 of file index_vector.h.

Constructor & Destructor Documentation

◆ IndexVector()

template<typename EntryType >
IndexVector< EntryType >::IndexVector ( )
inline

Definition at line 21 of file index_vector.h.

◆ ~IndexVector()

template<typename EntryType >
IndexVector< EntryType >::~IndexVector ( )
inline

Definition at line 22 of file index_vector.h.

Member Function Documentation

◆ At()

template<typename EntryType >
EntryType IndexVector< EntryType >::At ( size_t  index) const
inline

Definition at line 32 of file index_vector.h.

◆ DISALLOW_COPY_AND_ASSIGN()

template<typename EntryType >
IndexVector< EntryType >::DISALLOW_COPY_AND_ASSIGN ( IndexVector< EntryType >  )
private

◆ Insert()

template<typename EntryType >
size_t IndexVector< EntryType >::Insert ( EntryType  entry)
inline

Definition at line 40 of file index_vector.h.

◆ InsertAtIndex()

template<typename EntryType >
size_t IndexVector< EntryType >::InsertAtIndex ( uint32_t  index,
EntryType  entry 
)
inline

Definition at line 54 of file index_vector.h.

◆ InUseIndexCount()

template<typename EntryType >
size_t IndexVector< EntryType >::InUseIndexCount ( )
inline

Definition at line 89 of file index_vector.h.

◆ NoneIndexSet()

template<typename EntryType >
bool IndexVector< EntryType >::NoneIndexSet ( )
inline

Definition at line 85 of file index_vector.h.

◆ Remove()

template<typename EntryType >
void IndexVector< EntryType >::Remove ( size_t  index)
inline

Definition at line 78 of file index_vector.h.

◆ Update()

template<typename EntryType >
void IndexVector< EntryType >::Update ( size_t  index,
EntryType  entry 
)
inline

Definition at line 72 of file index_vector.h.

Member Data Documentation

◆ bitmap_

template<typename EntryType >
Bitmap IndexVector< EntryType >::bitmap_
private

Definition at line 95 of file index_vector.h.

◆ entries_

template<typename EntryType >
EntryTable IndexVector< EntryType >::entries_
private

Definition at line 96 of file index_vector.h.

◆ kGrowSize

template<typename EntryType >
const size_t IndexVector< EntryType >::kGrowSize = 32
static

Definition at line 17 of file index_vector.h.


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