OpenSDN source code
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
MemberList< Member > Class Template Reference

#include <nexthop.h>

Public Types

typedef std::vector< Member * >
::iterator 
iterator
 
typedef std::vector< Member * >
::const_iterator 
const_iterator
 

Public Member Functions

 MemberList (int max_size)
 
 MemberList ()
 
 ~MemberList ()
 
int insert (const Member &mbr)
 
bool remove (const Member &mbr)
 
bool remove (uint32_t index)
 
void UpdateHashTable ()
 
void UpdateFreeIndex ()
 
void UpdateFreeIndex (uint32_t index)
 
void replace (std::vector< Member > list)
 
void clear ()
 
size_t HashTableSize () const
 
iterator begin ()
 
iterator end ()
 
const_iterator begin () const
 
const_iterator end () const
 
Member * Find (const Member &mem) const
 
Member * Find (const Member &mem, uint32_t &index) const
 
const Member * Get (uint32_t idx) const
 
size_t size () const
 
uint32_t hash (size_t hash) const
 
uint32_t count () const
 

Static Public Attributes

static const uint32_t kInvalidIndex = 0xffff
 

Private Attributes

std::vector< Member * > mbr_list_
 
std::vector< uint32_t > hash_table_
 
uint32_t max_size_
 
uint32_t free_index_
 
uint32_t hash_id
 

Detailed Description

template<typename Member>
class MemberList< Member >

Definition at line 22 of file nexthop.h.

Member Typedef Documentation

template<typename Member >
typedef std::vector<Member *>::const_iterator MemberList< Member >::const_iterator

Definition at line 40 of file nexthop.h.

template<typename Member >
typedef std::vector<Member *>::iterator MemberList< Member >::iterator

Definition at line 39 of file nexthop.h.

Constructor & Destructor Documentation

template<typename Member >
MemberList< Member >::MemberList ( int  max_size)
inline

Definition at line 25 of file nexthop.h.

template<typename Member >
MemberList< Member >::MemberList ( )
inline

Definition at line 28 of file nexthop.h.

template<typename Member >
MemberList< Member >::~MemberList ( )
inline

Definition at line 31 of file nexthop.h.

Member Function Documentation

template<typename Member >
iterator MemberList< Member >::begin ( )
inline

Definition at line 168 of file nexthop.h.

template<typename Member >
const_iterator MemberList< Member >::begin ( ) const
inline

Definition at line 171 of file nexthop.h.

template<typename Member >
void MemberList< Member >::clear ( )
inline

Definition at line 153 of file nexthop.h.

template<typename Member >
uint32_t MemberList< Member >::count ( ) const
inline

Definition at line 215 of file nexthop.h.

template<typename Member >
iterator MemberList< Member >::end ( )
inline

Definition at line 169 of file nexthop.h.

template<typename Member >
const_iterator MemberList< Member >::end ( ) const
inline

Definition at line 174 of file nexthop.h.

template<typename Member >
Member* MemberList< Member >::Find ( const Member &  mem) const
inline

Definition at line 178 of file nexthop.h.

template<typename Member >
Member* MemberList< Member >::Find ( const Member &  mem,
uint32_t &  index 
) const
inline

Definition at line 187 of file nexthop.h.

template<typename Member >
const Member* MemberList< Member >::Get ( uint32_t  idx) const
inline

Definition at line 197 of file nexthop.h.

template<typename Member >
uint32_t MemberList< Member >::hash ( size_t  hash) const
inline

Definition at line 205 of file nexthop.h.

template<typename Member >
size_t MemberList< Member >::HashTableSize ( ) const
inline

Definition at line 164 of file nexthop.h.

template<typename Member >
int MemberList< Member >::insert ( const Member &  mbr)
inline

Definition at line 42 of file nexthop.h.

Here is the call graph for this function:

template<typename Member >
bool MemberList< Member >::remove ( const Member &  mbr)
inline

Definition at line 59 of file nexthop.h.

Here is the call graph for this function:

template<typename Member >
bool MemberList< Member >::remove ( uint32_t  index)
inline

Definition at line 77 of file nexthop.h.

Here is the call graph for this function:

template<typename Member >
void MemberList< Member >::replace ( std::vector< Member >  list)
inline

Definition at line 119 of file nexthop.h.

Here is the call graph for this function:

template<typename Member >
size_t MemberList< Member >::size ( ) const
inline

Definition at line 201 of file nexthop.h.

template<typename Member >
void MemberList< Member >::UpdateFreeIndex ( )
inline

Definition at line 101 of file nexthop.h.

template<typename Member >
void MemberList< Member >::UpdateFreeIndex ( uint32_t  index)
inline

Definition at line 112 of file nexthop.h.

Here is the call graph for this function:

template<typename Member >
void MemberList< Member >::UpdateHashTable ( )
inline

Definition at line 90 of file nexthop.h.

Member Data Documentation

template<typename Member >
uint32_t MemberList< Member >::free_index_
private

Definition at line 229 of file nexthop.h.

template<typename Member >
uint32_t MemberList< Member >::hash_id
private

Definition at line 230 of file nexthop.h.

template<typename Member >
std::vector<uint32_t> MemberList< Member >::hash_table_
private

Definition at line 227 of file nexthop.h.

template<typename Member >
const uint32_t MemberList< Member >::kInvalidIndex = 0xffff
static

Definition at line 24 of file nexthop.h.

template<typename Member >
uint32_t MemberList< Member >::max_size_
private

Definition at line 228 of file nexthop.h.

template<typename Member >
std::vector<Member *> MemberList< Member >::mbr_list_
private

Definition at line 226 of file nexthop.h.


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