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 13 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 16 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 18 of file DDBase.h.

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

Definition at line 20 of file DDBase.h.

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

Member Function Documentation

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

Definition at line 42 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().

42 { it_ = StoreT::instance().end(); }
static value_type & instance()
DDI::Store< N, C >::iterator it_
Definition: DDBase.h:45
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 { return i.it_ != it_; }
DDI::Store< N, C >::iterator it_
Definition: DDBase.h:45
template<class N, class C>
template<class D >
value_type& DDBase< N, C >::iterator< D >::operator* ( void  ) const
inline

Definition at line 22 of file DDBase.h.

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

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

Definition at line 40 of file DDBase.h.

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

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

Definition at line 27 of file DDBase.h.

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

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

Definition at line 36 of file DDBase.h.

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

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

Definition at line 32 of file DDBase.h.

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

32 { return i.it_ == it_; }
DDI::Store< N, C >::iterator it_
Definition: DDBase.h:45
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 { return it_ > i.it_; }
DDI::Store< N, C >::iterator it_
Definition: DDBase.h:45

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