CMS 3D CMS Logo

List of all members | Public Types | Public Member Functions | Private Member Functions | Private Attributes | Friends
edm::MapOfVectors< K, T >::Iter Class Reference

#include <MapOfVectors.h>

Inheritance diagram for edm::MapOfVectors< K, T >::Iter:

Public Types

typedef Iter self
 

Public Member Functions

 Iter ()
 
 Iter (key_iterator k, offset_iterator o, std::vector< T > const &d)
 

Private Member Functions

Pair const & dereference () const
 
bool equal (self const &other) const
 
void increment ()
 

Private Attributes

Pair cache
 
data_iterator data
 
key_iterator key
 
offset_iterator off
 

Friends

class boost::iterator_core_access
 

Detailed Description

template<typename K, typename T>
class edm::MapOfVectors< K, T >::Iter

Definition at line 38 of file MapOfVectors.h.

Member Typedef Documentation

template<typename K, typename T>
typedef Iter edm::MapOfVectors< K, T >::Iter::self

Definition at line 45 of file MapOfVectors.h.

Constructor & Destructor Documentation

template<typename K, typename T>
edm::MapOfVectors< K, T >::Iter::Iter ( )
inline

Definition at line 46 of file MapOfVectors.h.

46 {}
template<typename K, typename T>
edm::MapOfVectors< K, T >::Iter::Iter ( key_iterator  k,
offset_iterator  o,
std::vector< T > const &  d 
)
inlineexplicit

Definition at line 48 of file MapOfVectors.h.

49  : key(k),
50  off(o),
51  data(d.begin())
52  {}
int k[5][pyjets_maxn]
offset_iterator off
Definition: MapOfVectors.h:74

Member Function Documentation

template<typename K, typename T>
Pair const& edm::MapOfVectors< K, T >::Iter::dereference ( ) const
inlineprivate

Definition at line 65 of file MapOfVectors.h.

References edm::MapOfVectors< K, T >::Iter::cache, edm::MapOfVectors< K, T >::Iter::data, edm::MapOfVectors< K, T >::Iter::key, and edm::MapOfVectors< K, T >::Iter::off.

65  {
66  // FIXME can be optimized...
67  cache.first = *key;
68  cache.second = range(data+(*off),data+(*(off+1)));
69  return cache;
70  }
offset_iterator off
Definition: MapOfVectors.h:74
boost::iterator_range< data_iterator > range
Definition: MapOfVectors.h:34
template<typename K, typename T>
bool edm::MapOfVectors< K, T >::Iter::equal ( self const &  other) const
inlineprivate

Definition at line 61 of file MapOfVectors.h.

References edm::MapOfVectors< K, T >::Iter::key, and trackingPlots::other.

61  {
62  return this->key == other.key;
63  }
template<typename K, typename T>
void edm::MapOfVectors< K, T >::Iter::increment ( )
inlineprivate

Definition at line 57 of file MapOfVectors.h.

References edm::MapOfVectors< K, T >::Iter::key, and edm::MapOfVectors< K, T >::Iter::off.

57  {
58  ++key; ++off;
59  }
offset_iterator off
Definition: MapOfVectors.h:74

Friends And Related Function Documentation

template<typename K, typename T>
friend class boost::iterator_core_access
friend

Definition at line 55 of file MapOfVectors.h.

Member Data Documentation

template<typename K, typename T>
Pair edm::MapOfVectors< K, T >::Iter::cache
mutableprivate

Definition at line 76 of file MapOfVectors.h.

Referenced by edm::MapOfVectors< K, T >::Iter::dereference().

template<typename K, typename T>
data_iterator edm::MapOfVectors< K, T >::Iter::data
private
template<typename K, typename T>
key_iterator edm::MapOfVectors< K, T >::Iter::key
private
template<typename K, typename T>
offset_iterator edm::MapOfVectors< K, T >::Iter::off
private