OpenSDN source code
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
BgpPathAttributeDB< Type, TypePtr, TypeSpec, TypeCompare, TypeDB > Class Template Reference

#include <bgp_attr_base.h>

Collaboration diagram for BgpPathAttributeDB< Type, TypePtr, TypeSpec, TypeCompare, TypeDB >:

Public Member Functions

 BgpPathAttributeDB (int hash_size=GetHashSize())
 
size_t Size ()
 
void Delete (Type *attr)
 
TypePtr Locate (Type *attr)
 
TypePtr Locate (const TypeSpec &spec)
 

Private Types

typedef std::set< Type
*, TypeCompare > 
Set
 

Private Member Functions

const size_t HashCompute (Type *attr) const
 
TypePtr LocateInternal (Type *attr)
 

Static Private Member Functions

static size_t GetHashSize ()
 

Private Attributes

size_t hash_size_
 
boost::scoped_array< Setset_
 
boost::scoped_array< tbb::mutex > mutex_
 

Detailed Description

template<class Type, class TypePtr, class TypeSpec, typename TypeCompare, class TypeDB>
class BgpPathAttributeDB< Type, TypePtr, TypeSpec, TypeCompare, TypeDB >

Definition at line 122 of file bgp_attr_base.h.

Member Typedef Documentation

template<class Type, class TypePtr, class TypeSpec, typename TypeCompare, class TypeDB>
typedef std::set<Type *, TypeCompare> BgpPathAttributeDB< Type, TypePtr, TypeSpec, TypeCompare, TypeDB >::Set
private

Definition at line 238 of file bgp_attr_base.h.

Constructor & Destructor Documentation

template<class Type, class TypePtr, class TypeSpec, typename TypeCompare, class TypeDB>
BgpPathAttributeDB< Type, TypePtr, TypeSpec, TypeCompare, TypeDB >::BgpPathAttributeDB ( int  hash_size = GetHashSize())
inlineexplicit

Definition at line 124 of file bgp_attr_base.h.

Member Function Documentation

template<class Type, class TypePtr, class TypeSpec, typename TypeCompare, class TypeDB>
void BgpPathAttributeDB< Type, TypePtr, TypeSpec, TypeCompare, TypeDB >::Delete ( Type *  attr)
inline

Definition at line 140 of file bgp_attr_base.h.

template<class Type, class TypePtr, class TypeSpec, typename TypeCompare, class TypeDB>
static size_t BgpPathAttributeDB< Type, TypePtr, TypeSpec, TypeCompare, TypeDB >::GetHashSize ( )
inlinestaticprivate

Definition at line 167 of file bgp_attr_base.h.

template<class Type, class TypePtr, class TypeSpec, typename TypeCompare, class TypeDB>
const size_t BgpPathAttributeDB< Type, TypePtr, TypeSpec, TypeCompare, TypeDB >::HashCompute ( Type *  attr) const
inlineprivate

Definition at line 159 of file bgp_attr_base.h.

template<class Type, class TypePtr, class TypeSpec, typename TypeCompare, class TypeDB>
TypePtr BgpPathAttributeDB< Type, TypePtr, TypeSpec, TypeCompare, TypeDB >::Locate ( Type *  attr)
inline

Definition at line 148 of file bgp_attr_base.h.

template<class Type, class TypePtr, class TypeSpec, typename TypeCompare, class TypeDB>
TypePtr BgpPathAttributeDB< Type, TypePtr, TypeSpec, TypeCompare, TypeDB >::Locate ( const TypeSpec &  spec)
inline

Definition at line 153 of file bgp_attr_base.h.

template<class Type, class TypePtr, class TypeSpec, typename TypeCompare, class TypeDB>
TypePtr BgpPathAttributeDB< Type, TypePtr, TypeSpec, TypeCompare, TypeDB >::LocateInternal ( Type *  attr)
inlineprivate

Definition at line 180 of file bgp_attr_base.h.

template<class Type, class TypePtr, class TypeSpec, typename TypeCompare, class TypeDB>
size_t BgpPathAttributeDB< Type, TypePtr, TypeSpec, TypeCompare, TypeDB >::Size ( )
inline

Definition at line 130 of file bgp_attr_base.h.

Member Data Documentation

template<class Type, class TypePtr, class TypeSpec, typename TypeCompare, class TypeDB>
size_t BgpPathAttributeDB< Type, TypePtr, TypeSpec, TypeCompare, TypeDB >::hash_size_
private

Definition at line 239 of file bgp_attr_base.h.

template<class Type, class TypePtr, class TypeSpec, typename TypeCompare, class TypeDB>
boost::scoped_array<tbb::mutex> BgpPathAttributeDB< Type, TypePtr, TypeSpec, TypeCompare, TypeDB >::mutex_
private

Definition at line 241 of file bgp_attr_base.h.

template<class Type, class TypePtr, class TypeSpec, typename TypeCompare, class TypeDB>
boost::scoped_array<Set> BgpPathAttributeDB< Type, TypePtr, TypeSpec, TypeCompare, TypeDB >::set_
private

Definition at line 240 of file bgp_attr_base.h.


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