CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
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 36 of file MapOfVectors.h.

Member Typedef Documentation

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

Definition at line 43 of file MapOfVectors.h.

Constructor & Destructor Documentation

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

Definition at line 44 of file MapOfVectors.h.

44 {}
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 46 of file MapOfVectors.h.

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

Member Function Documentation

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

Definition at line 63 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.

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

Definition at line 59 of file MapOfVectors.h.

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

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

Definition at line 55 of file MapOfVectors.h.

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

55  {
56  ++key; ++off;
57  }
offset_iterator off
Definition: MapOfVectors.h:72

Friends And Related Function Documentation

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

Definition at line 53 of file MapOfVectors.h.

Member Data Documentation

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

Definition at line 74 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