CMS 3D CMS Logo

List of all members | Public Types | Public Member Functions | Private Attributes
cmsutil::SimpleAllocHashMultiMap< K, V, Hasher, Equals, Alloc >::item_iterator< Item > Class Template Reference

#include <OtherHashMaps.h>

Public Types

typedef ptrdiff_t difference_type
 
typedef ::std::forward_iterator_tag iterator_category
 
typedef const value_typepointer
 
typedef const value_typereference
 
typedef item_iterator< Item > self_type
 
typedef const Item::value_type value_type
 

Public Member Functions

bool good () const
 
 item_iterator ()
 
 item_iterator (const Item *it)
 
bool operator!= (const self_type &other) const
 
const value_typeoperator* () const
 
self_typeoperator++ ()
 
const value_typeoperator-> () const
 
bool operator== (const self_type &other) const
 

Private Attributes

const Item * it_
 

Detailed Description

template<typename K, typename V, typename Hasher = boost::hash<K>, typename Equals = std::equal_to<K>, typename Alloc = std::allocator<V>>
template<typename Item>
class cmsutil::SimpleAllocHashMultiMap< K, V, Hasher, Equals, Alloc >::item_iterator< Item >

Definition at line 83 of file OtherHashMaps.h.

Member Typedef Documentation

template<typename K , typename V , typename Hasher = boost::hash<K>, typename Equals = std::equal_to<K>, typename Alloc = std::allocator<V>>
template<typename Item >
typedef ptrdiff_t cmsutil::SimpleAllocHashMultiMap< K, V, Hasher, Equals, Alloc >::item_iterator< Item >::difference_type

Definition at line 89 of file OtherHashMaps.h.

template<typename K , typename V , typename Hasher = boost::hash<K>, typename Equals = std::equal_to<K>, typename Alloc = std::allocator<V>>
template<typename Item >
typedef ::std::forward_iterator_tag cmsutil::SimpleAllocHashMultiMap< K, V, Hasher, Equals, Alloc >::item_iterator< Item >::iterator_category

Definition at line 85 of file OtherHashMaps.h.

template<typename K , typename V , typename Hasher = boost::hash<K>, typename Equals = std::equal_to<K>, typename Alloc = std::allocator<V>>
template<typename Item >
typedef const value_type* cmsutil::SimpleAllocHashMultiMap< K, V, Hasher, Equals, Alloc >::item_iterator< Item >::pointer

Definition at line 88 of file OtherHashMaps.h.

template<typename K , typename V , typename Hasher = boost::hash<K>, typename Equals = std::equal_to<K>, typename Alloc = std::allocator<V>>
template<typename Item >
typedef const value_type& cmsutil::SimpleAllocHashMultiMap< K, V, Hasher, Equals, Alloc >::item_iterator< Item >::reference

Definition at line 87 of file OtherHashMaps.h.

template<typename K , typename V , typename Hasher = boost::hash<K>, typename Equals = std::equal_to<K>, typename Alloc = std::allocator<V>>
template<typename Item >
typedef item_iterator<Item> cmsutil::SimpleAllocHashMultiMap< K, V, Hasher, Equals, Alloc >::item_iterator< Item >::self_type

Definition at line 90 of file OtherHashMaps.h.

template<typename K , typename V , typename Hasher = boost::hash<K>, typename Equals = std::equal_to<K>, typename Alloc = std::allocator<V>>
template<typename Item >
typedef const Item::value_type cmsutil::SimpleAllocHashMultiMap< K, V, Hasher, Equals, Alloc >::item_iterator< Item >::value_type

Definition at line 86 of file OtherHashMaps.h.

Constructor & Destructor Documentation

template<typename K , typename V , typename Hasher = boost::hash<K>, typename Equals = std::equal_to<K>, typename Alloc = std::allocator<V>>
template<typename Item >
cmsutil::SimpleAllocHashMultiMap< K, V, Hasher, Equals, Alloc >::item_iterator< Item >::item_iterator ( )
inline

Definition at line 92 of file OtherHashMaps.h.

template<typename K , typename V , typename Hasher = boost::hash<K>, typename Equals = std::equal_to<K>, typename Alloc = std::allocator<V>>
template<typename Item >
cmsutil::SimpleAllocHashMultiMap< K, V, Hasher, Equals, Alloc >::item_iterator< Item >::item_iterator ( const Item *  it)
inline

Definition at line 93 of file OtherHashMaps.h.

Member Function Documentation

template<typename K , typename V , typename Hasher = boost::hash<K>, typename Equals = std::equal_to<K>, typename Alloc = std::allocator<V>>
template<typename Item >
bool cmsutil::SimpleAllocHashMultiMap< K, V, Hasher, Equals, Alloc >::item_iterator< Item >::good ( ) const
inline

Definition at line 102 of file OtherHashMaps.h.

102 { return (it_ != nullptr); }
template<typename K , typename V , typename Hasher = boost::hash<K>, typename Equals = std::equal_to<K>, typename Alloc = std::allocator<V>>
template<typename Item >
bool cmsutil::SimpleAllocHashMultiMap< K, V, Hasher, Equals, Alloc >::item_iterator< Item >::operator!= ( const self_type other) const
inline
template<typename K , typename V , typename Hasher = boost::hash<K>, typename Equals = std::equal_to<K>, typename Alloc = std::allocator<V>>
template<typename Item >
const value_type& cmsutil::SimpleAllocHashMultiMap< K, V, Hasher, Equals, Alloc >::item_iterator< Item >::operator* ( void  ) const
inline

Definition at line 94 of file OtherHashMaps.h.

94 { return (*it_)(); }
template<typename K , typename V , typename Hasher = boost::hash<K>, typename Equals = std::equal_to<K>, typename Alloc = std::allocator<V>>
template<typename Item >
self_type& cmsutil::SimpleAllocHashMultiMap< K, V, Hasher, Equals, Alloc >::item_iterator< Item >::operator++ ( void  )
inline

Definition at line 96 of file OtherHashMaps.h.

96  {
97  if (it_ != nullptr) it_ = it_->next;
98  return *this;
99  }
template<typename K , typename V , typename Hasher = boost::hash<K>, typename Equals = std::equal_to<K>, typename Alloc = std::allocator<V>>
template<typename Item >
const value_type* cmsutil::SimpleAllocHashMultiMap< K, V, Hasher, Equals, Alloc >::item_iterator< Item >::operator-> ( ) const
inline

Definition at line 95 of file OtherHashMaps.h.

95 { return & (*it_)(); }
template<typename K , typename V , typename Hasher = boost::hash<K>, typename Equals = std::equal_to<K>, typename Alloc = std::allocator<V>>
template<typename Item >
bool cmsutil::SimpleAllocHashMultiMap< K, V, Hasher, Equals, Alloc >::item_iterator< Item >::operator== ( const self_type other) const
inline

Member Data Documentation

template<typename K , typename V , typename Hasher = boost::hash<K>, typename Equals = std::equal_to<K>, typename Alloc = std::allocator<V>>
template<typename Item >
const Item* cmsutil::SimpleAllocHashMultiMap< K, V, Hasher, Equals, Alloc >::item_iterator< Item >::it_
private