CMS 3D CMS Logo

List of all members | Public Types | Public Member Functions | Private Attributes
edm::IDVectorMap< ID, C, P >::const_iterator Struct 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

 const_iterator ()
 
 const_iterator (const map_iterator &e, const map_iterator &m, const container_iterator &c)
 
 const_iterator (const map_iterator &e)
 
bool operator!= (const const_iterator &ci) const
 
const value_typeoperator* () const
 
const_iteratoroperator++ ()
 
const_iterator operator++ (int)
 
const_iteratoroperator-- ()
 
const_iterator operator-- (int)
 
const_iteratoroperator= (const const_iterator &it)
 
bool operator== (const const_iterator &ci) const
 

Private Attributes

map_iterator em
 
container_iterator ic
 
map_iterator im
 

Detailed Description

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

Definition at line 14 of file IDVectorMap.h.

Member Typedef Documentation

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

Definition at line 18 of file IDVectorMap.h.

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

Definition at line 16 of file IDVectorMap.h.

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

Definition at line 17 of file IDVectorMap.h.

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

Definition at line 15 of file IDVectorMap.h.

Constructor & Destructor Documentation

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

Definition at line 19 of file IDVectorMap.h.

Referenced by edm::IDVectorMap< ID, C, P >::begin(), and edm::IDVectorMap< ID, C, P >::end().

19 { }
template<typename ID, typename C, typename P>
edm::IDVectorMap< ID, C, P >::const_iterator::const_iterator ( const map_iterator e,
const map_iterator m,
const container_iterator c 
)
inline
template<typename ID, typename C, typename P>
edm::IDVectorMap< ID, C, P >::const_iterator::const_iterator ( const map_iterator e)
inline

Definition at line 23 of file IDVectorMap.h.

Member Function Documentation

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

Definition at line 54 of file IDVectorMap.h.

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

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

Definition at line 55 of file IDVectorMap.h.

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

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

Definition at line 30 of file IDVectorMap.h.

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

30  {
31  ++ic;
32  while (ic == im->second.end()) {
33  ++im;
34  if (im == em) return *this;
35  ic = im->second.begin();
36  }
37  return *this;
38  }
template<typename ID, typename C, typename P>
const_iterator edm::IDVectorMap< ID, C, P >::const_iterator::operator++ ( int  )
inline
template<typename ID, typename C, typename P>
const_iterator& edm::IDVectorMap< ID, C, P >::const_iterator::operator-- ( )
inline

Definition at line 40 of file IDVectorMap.h.

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

40  {
41  if (im == em) { --im; ic = im->second.end(); }
42  while (ic == im->second.begin()) {
43  --im;
44  ic = im->second.end();
45  }
46  --ic;
47  return *this;
48  }
template<typename ID, typename C, typename P>
const_iterator edm::IDVectorMap< ID, C, P >::const_iterator::operator-- ( int  )
inline
template<typename ID, typename C, typename P>
const_iterator& edm::IDVectorMap< ID, C, P >::const_iterator::operator= ( const const_iterator it)
inline
template<typename ID, typename C, typename P>
bool edm::IDVectorMap< ID, C, P >::const_iterator::operator== ( const const_iterator ci) const
inline

Member Data Documentation

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