CMS 3D CMS Logo

List of all members | Public Types | Public Member Functions | Private Attributes
edm::IDVectorMap< ID, C, P >::match_iterator< M > Struct Template Reference

#include <IDVectorMap.h>

Public Types

typedef map_iterator::iterator_category iterator_category
 
typedef value_typepointer
 
typedef value_typereference
 
typedef IDVectorMap::value_type value_type
 

Public Member Functions

 match_iterator ()
 
 match_iterator (const M &ma, const map_iterator &e, const map_iterator &m, const container_iterator &c)
 
 match_iterator (const M &ma, const map_iterator &e)
 
bool operator!= (const match_iterator &ci) const
 
const value_typeoperator* () const
 
match_iteratoroperator++ ()
 
match_iterator operator++ (int)
 
match_iteratoroperator= (const match_iterator &it)
 
bool operator== (const match_iterator &ci) const
 

Private Attributes

map_iterator em
 
container_iterator ic
 
map_iterator im
 
match
 

Detailed Description

template<typename ID, typename C, typename P>
template<typename M>
struct edm::IDVectorMap< ID, C, P >::match_iterator< M >

Definition at line 96 of file IDVectorMap.h.

Member Typedef Documentation

template<typename ID, typename C, typename P>
template<typename M>
typedef map_iterator::iterator_category edm::IDVectorMap< ID, C, P >::match_iterator< M >::iterator_category

Definition at line 100 of file IDVectorMap.h.

template<typename ID, typename C, typename P>
template<typename M>
typedef value_type* edm::IDVectorMap< ID, C, P >::match_iterator< M >::pointer

Definition at line 98 of file IDVectorMap.h.

template<typename ID, typename C, typename P>
template<typename M>
typedef value_type& edm::IDVectorMap< ID, C, P >::match_iterator< M >::reference

Definition at line 99 of file IDVectorMap.h.

template<typename ID, typename C, typename P>
template<typename M>
typedef IDVectorMap::value_type edm::IDVectorMap< ID, C, P >::match_iterator< M >::value_type

Definition at line 97 of file IDVectorMap.h.

Constructor & Destructor Documentation

template<typename ID, typename C, typename P>
template<typename M>
edm::IDVectorMap< ID, C, P >::match_iterator< M >::match_iterator ( )
inline

Definition at line 101 of file IDVectorMap.h.

101 { }
template<typename ID, typename C, typename P>
template<typename M>
edm::IDVectorMap< ID, C, P >::match_iterator< M >::match_iterator ( const M &  ma,
const map_iterator e,
const map_iterator m,
const container_iterator c 
)
inline
template<typename ID, typename C, typename P>
template<typename M>
edm::IDVectorMap< ID, C, P >::match_iterator< M >::match_iterator ( const M &  ma,
const map_iterator e 
)
inline

Member Function Documentation

template<typename ID, typename C, typename P>
template<typename M>
bool edm::IDVectorMap< ID, C, P >::match_iterator< M >::operator!= ( const match_iterator< M > &  ci) const
inline

Definition at line 126 of file IDVectorMap.h.

References edm::IDVectorMap< ID, C, P >::const_iterator::operator==().

126 { return ! operator==(ci); }
bool operator==(const match_iterator &ci) const
Definition: IDVectorMap.h:122
template<typename ID, typename C, typename P>
template<typename M>
const value_type& edm::IDVectorMap< ID, C, P >::match_iterator< M >::operator* ( ) const
inline

Definition at line 127 of file IDVectorMap.h.

References edm::IDVectorMap< ID, C, P >::const_iterator::ic.

127 { return *ic; }
template<typename ID, typename C, typename P>
template<typename M>
match_iterator& edm::IDVectorMap< ID, C, P >::match_iterator< M >::operator++ ( )
inline

Definition at line 112 of file IDVectorMap.h.

References edm::IDVectorMap< ID, C, P >::const_iterator::em, edm::IDVectorMap< ID, C, P >::const_iterator::ic, edm::IDVectorMap< ID, C, P >::const_iterator::im, and edm::match().

112  {
113  ++ic;
114  while (ic == im->second.end()) {
115  do { ++im; } while (! match(im->first) && im != em);
116  if (im == em) return *this;
117  ic = im->second.begin();
118  }
119  return *this;
120  }
template<typename ID, typename C, typename P>
template<typename M>
match_iterator edm::IDVectorMap< ID, C, P >::match_iterator< M >::operator++ ( int  )
inline
template<typename ID, typename C, typename P>
template<typename M>
match_iterator& edm::IDVectorMap< ID, C, P >::match_iterator< M >::operator= ( const match_iterator< M > &  it)
inline
template<typename ID, typename C, typename P>
template<typename M>
bool edm::IDVectorMap< ID, C, P >::match_iterator< M >::operator== ( const match_iterator< M > &  ci) const
inline

Member Data Documentation

template<typename ID, typename C, typename P>
template<typename M>
map_iterator edm::IDVectorMap< ID, C, P >::match_iterator< M >::em
private
template<typename ID, typename C, typename P>
template<typename M>
container_iterator edm::IDVectorMap< ID, C, P >::match_iterator< M >::ic
private
template<typename ID, typename C, typename P>
template<typename M>
map_iterator edm::IDVectorMap< ID, C, P >::match_iterator< M >::im
private
template<typename ID, typename C, typename P>
template<typename M>
M edm::IDVectorMap< ID, C, P >::match_iterator< M >::match
private