CMS 3D CMS Logo

List of all members | Public Types | Public Member Functions | Private Attributes
DDBase< N, C >::iterator< D > Class Template Reference

#include <DDBase.h>

Public Types

using value_type = D
 C is, for example, a DDLogicalPart or a DDMaterial or a DDSolid ... More...
 

Public Member Functions

void end () const
 
 iterator (const typename DDI::Store< N, C >::iterator it)
 
 iterator ()
 
bool operator!= (const iterator &i) const
 
value_typeoperator* () const
 
void operator++ ()
 
value_typeoperator-> () const
 
bool operator< (const iterator &i) const
 
bool operator== (const iterator &i) const
 
bool operator> (const iterator &i) const
 

Private Attributes

d_
 
DDI::Store< N, C >::iterator it_
 

Detailed Description

template<class N, class C>
template<class D>
class DDBase< N, C >::iterator< D >

Definition at line 14 of file DDBase.h.

Member Typedef Documentation

template<class N, class C>
template<class D >
using DDBase< N, C >::iterator< D >::value_type = D

C is, for example, a DDLogicalPart or a DDMaterial or a DDSolid ...

Definition at line 18 of file DDBase.h.

Constructor & Destructor Documentation

template<class N, class C>
template<class D >
DDBase< N, C >::iterator< D >::iterator ( const typename DDI::Store< N, C >::iterator< D >  it)
inlineexplicit

Definition at line 20 of file DDBase.h.

20 : it_( it ) {}
DDI::Store< N, C >::iterator it_
Definition: DDBase.h:59
template<class N, class C>
template<class D >
DDBase< N, C >::iterator< D >::iterator ( )
inline

Definition at line 22 of file DDBase.h.

22 : it_( StoreT::instance().begin()) {}
static value_type & instance()
static auto begin()
Definition: DDBase.h:68
DDI::Store< N, C >::iterator it_
Definition: DDBase.h:59

Member Function Documentation

template<class N, class C>
template<class D >
void DDBase< N, C >::iterator< D >::end ( void  ) const
inline

Definition at line 54 of file DDBase.h.

References DDI::Singleton< I >::instance(), and DDBase< N, C >::iterator< D >::it_.

Referenced by Types.LuminosityBlockRange::cppID(), and Types.EventRange::cppID().

54  {
55  it_ = StoreT::instance().end();
56  }
static value_type & instance()
DDI::Store< N, C >::iterator it_
Definition: DDBase.h:59
template<class N, class C>
template<class D >
bool DDBase< N, C >::iterator< D >::operator!= ( const iterator< D > &  i) const
inline

Definition at line 38 of file DDBase.h.

References DDBase< N, C >::iterator< D >::it_.

38  {
39  return i.it_ != it_;
40  }
DDI::Store< N, C >::iterator it_
Definition: DDBase.h:59
template<class N, class C>
template<class D >
value_type& DDBase< N, C >::iterator< D >::operator* ( void  ) const
inline

Definition at line 24 of file DDBase.h.

References DDBase< N, C >::iterator< D >::d_, and DDBase< N, C >::iterator< D >::it_.

24  {
25  d_.prep_ = it_->second;
26  return d_;
27  }
DDI::Store< N, C >::iterator it_
Definition: DDBase.h:59
template<class N, class C>
template<class D >
void DDBase< N, C >::iterator< D >::operator++ ( void  )
inline

Definition at line 50 of file DDBase.h.

References DDBase< N, C >::iterator< D >::it_.

50  {
51  ++it_;
52  }
DDI::Store< N, C >::iterator it_
Definition: DDBase.h:59
template<class N, class C>
template<class D >
value_type* DDBase< N, C >::iterator< D >::operator-> ( ) const
inline

Definition at line 29 of file DDBase.h.

References DDBase< N, C >::iterator< D >::d_, and DDBase< N, C >::iterator< D >::it_.

29  {
30  d_.prep_ = it_->second;
31  return &d_;
32  }
DDI::Store< N, C >::iterator it_
Definition: DDBase.h:59
template<class N, class C>
template<class D >
bool DDBase< N, C >::iterator< D >::operator< ( const iterator< D > &  i) const
inline

Definition at line 42 of file DDBase.h.

References DDBase< N, C >::iterator< D >::it_.

42  {
43  return it_ < i.it_;
44  }
DDI::Store< N, C >::iterator it_
Definition: DDBase.h:59
template<class N, class C>
template<class D >
bool DDBase< N, C >::iterator< D >::operator== ( const iterator< D > &  i) const
inline

Definition at line 34 of file DDBase.h.

References DDBase< N, C >::iterator< D >::it_.

34  {
35  return i.it_ == it_;
36  }
DDI::Store< N, C >::iterator it_
Definition: DDBase.h:59
template<class N, class C>
template<class D >
bool DDBase< N, C >::iterator< D >::operator> ( const iterator< D > &  i) const
inline

Definition at line 46 of file DDBase.h.

References DDBase< N, C >::iterator< D >::it_.

46  {
47  return it_ > i.it_;
48  }
DDI::Store< N, C >::iterator it_
Definition: DDBase.h:59

Member Data Documentation

template<class N, class C>
template<class D >
D DDBase< N, C >::iterator< D >::d_
mutableprivate
template<class N, class C>
template<class D >
DDI::Store<N,C>::iterator DDBase< N, C >::iterator< D >::it_
mutableprivate