#include <OtherHashMaps.h>
Classes | |
class | item_iterator |
struct | KeyItem |
struct | ValueItem |
Public Types | |
typedef Hasher | hasher |
typedef SimpleAllocHashMultiMap< K, V, Hasher, Equals, Alloc > | map_type |
typedef item_iterator< ValueItem > | value_iterator |
typedef boost::mpl::if_ < typename boost::is_pointer < V >, V, V const & >::type | value_ref |
Public Member Functions | |
void | clear (size_t newBucketSize=0) |
void | dump () |
bool | empty () const |
void | freeRows () |
void | insert (K const &key, value_ref value) |
SimpleAllocHashMultiMap (size_t buckets, size_t keyRowSize, size_t valueRowSize, size_t maxRows=50) | |
value_iterator | values (K const &key) |
~SimpleAllocHashMultiMap () | |
Private Types | |
typedef Alloc::template rebind < KeyItem >::other | KeyItemAllocator |
typedef Alloc::template rebind < KeyItem * >::other | KeyItemPtrAllocator |
typedef Alloc::template rebind < ValueItem >::other | ValueItemAllocator |
Private Member Functions | |
BOOST_MPL_ASSERT ((boost::mpl::and_< boost::has_trivial_destructor< K >, boost::has_trivial_destructor< V > >)) | |
KeyItem & | find_or_insert_ (K const &key) |
KeyItem * | push_back_ (K const &key, KeyItem *next) |
ValueItem * | push_back_ (value_ref value, ValueItem *next) |
Private Attributes | |
size_t | bucketCapacity_ |
KeyItem ** | buckets_ |
size_t | bucketSize_ |
std::list< KeyItem * >::iterator | currentKeyRow_ |
std::list< ValueItem * >::iterator | currentValueRow_ |
Equals | eq_ |
Hasher | hasher_ |
KeyItemAllocator | keyAlloc_ |
KeyItem * | keyEndMarker_ |
std::list< KeyItem * > | keyRows_ |
size_t | keyRowSize_ |
size_t | maxRows_ |
KeyItem * | nextKeyItem_ |
ValueItem * | nextValueItem_ |
KeyItemPtrAllocator | ptrAlloc_ |
ValueItemAllocator | valueAlloc_ |
ValueItem * | valueEndMarker_ |
std::list< ValueItem * > | valueRows_ |
size_t | valueRowSize_ |
Definition at line 31 of file OtherHashMaps.h.
typedef Hasher cmsutil::SimpleAllocHashMultiMap< K, V, Hasher, Equals, Alloc >::hasher |
Definition at line 35 of file OtherHashMaps.h.
|
private |
Definition at line 111 of file OtherHashMaps.h.
|
private |
Definition at line 112 of file OtherHashMaps.h.
typedef SimpleAllocHashMultiMap<K,V,Hasher,Equals,Alloc> cmsutil::SimpleAllocHashMultiMap< K, V, Hasher, Equals, Alloc >::map_type |
Definition at line 36 of file OtherHashMaps.h.
typedef item_iterator<ValueItem> cmsutil::SimpleAllocHashMultiMap< K, V, Hasher, Equals, Alloc >::value_iterator |
Definition at line 106 of file OtherHashMaps.h.
typedef boost::mpl::if_<typename boost::is_pointer<V>, V, V const &>::type cmsutil::SimpleAllocHashMultiMap< K, V, Hasher, Equals, Alloc >::value_ref |
Definition at line 37 of file OtherHashMaps.h.
|
private |
Definition at line 113 of file OtherHashMaps.h.
cmsutil::SimpleAllocHashMultiMap< K, V, Hasher, Equals, Alloc >::SimpleAllocHashMultiMap | ( | size_t | buckets, |
size_t | keyRowSize, | ||
size_t | valueRowSize, | ||
size_t | maxRows = 50 |
||
) |
Definition at line 183 of file OtherHashMaps.h.
cmsutil::SimpleAllocHashMultiMap< K, V, Hasher, Equals, Alloc >::~SimpleAllocHashMultiMap | ( | ) |
Definition at line 195 of file OtherHashMaps.h.
|
private |
|
inline |
Definition at line 43 of file OtherHashMaps.h.
|
inline |
Definition at line 140 of file OtherHashMaps.h.
|
inline |
Definition at line 61 of file OtherHashMaps.h.
|
private |
Definition at line 262 of file OtherHashMaps.h.
void cmsutil::SimpleAllocHashMultiMap< K, V, Hasher, Equals, Alloc >::freeRows | ( | ) |
Definition at line 208 of file OtherHashMaps.h.
void cmsutil::SimpleAllocHashMultiMap< K, V, Hasher, Equals, Alloc >::insert | ( | K const & | key, |
value_ref | value | ||
) |
Definition at line 279 of file OtherHashMaps.h.
|
private |
Definition at line 229 of file OtherHashMaps.h.
|
private |
Definition at line 245 of file OtherHashMaps.h.
SimpleAllocHashMultiMap< K, V, Hasher, Equals, Alloc >::value_iterator cmsutil::SimpleAllocHashMultiMap< K, V, Hasher, Equals, Alloc >::values | ( | K const & | key | ) |
Definition at line 288 of file OtherHashMaps.h.
|
private |
Definition at line 116 of file OtherHashMaps.h.
|
private |
Definition at line 117 of file OtherHashMaps.h.
|
private |
Definition at line 116 of file OtherHashMaps.h.
|
private |
Definition at line 121 of file OtherHashMaps.h.
|
private |
Definition at line 126 of file OtherHashMaps.h.
|
private |
Definition at line 131 of file OtherHashMaps.h.
|
private |
Definition at line 130 of file OtherHashMaps.h.
|
private |
Definition at line 132 of file OtherHashMaps.h.
|
private |
Definition at line 122 of file OtherHashMaps.h.
|
private |
Definition at line 120 of file OtherHashMaps.h.
|
private |
Definition at line 119 of file OtherHashMaps.h.
|
private |
Definition at line 129 of file OtherHashMaps.h.
|
private |
Definition at line 122 of file OtherHashMaps.h.
|
private |
Definition at line 127 of file OtherHashMaps.h.
|
private |
Definition at line 134 of file OtherHashMaps.h.
|
private |
Definition at line 133 of file OtherHashMaps.h.
|
private |
Definition at line 127 of file OtherHashMaps.h.
|
private |
Definition at line 125 of file OtherHashMaps.h.
|
private |
Definition at line 124 of file OtherHashMaps.h.