OpenSDN source code
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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

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

Definition at line 94 of file index_vector.h.

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

Definition at line 19 of file index_vector.h.

Constructor & Destructor Documentation

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

Definition at line 21 of file index_vector.h.

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

Definition at line 22 of file index_vector.h.

Member Function Documentation

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

Definition at line 32 of file index_vector.h.

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

Definition at line 40 of file index_vector.h.

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

Definition at line 54 of file index_vector.h.

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

Definition at line 89 of file index_vector.h.

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

Definition at line 85 of file index_vector.h.

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

Definition at line 78 of file index_vector.h.

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

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

Definition at line 95 of file index_vector.h.

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

Definition at line 96 of file index_vector.h.

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: