CMS 3D CMS Logo

DDBase< N, C >::iterator< D > Class Template Reference

#include <DetectorDescription/Core/interface/DDBase.h>

List of all members.

Public Types

typedef D value_type
 C is, for example, a DDLogicalPart or a DDMaterial or a DDSolid ....

Public Member Functions

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

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 23 of file DDBase.h.


Member Typedef Documentation

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

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

Definition at line 27 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  )  [inline, explicit]

Definition at line 29 of file DDBase.h.

00029 : it_(it) { }

template<class N, class C>
template<class D>
DDBase< N, C >::iterator< D >::iterator (  )  [inline]

Definition at line 32 of file DDBase.h.

00032 : it_(StoreT::instance().begin()) {  }


Member Function Documentation

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

Definition at line 64 of file DDBase.h.

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

00064                      {
00065       it_ = StoreT::instance().end();
00066     }  

template<class N, class C>
template<class D>
value_type& DDBase< N, C >::iterator< D >::operator * ( void   )  const [inline]

Definition at line 34 of file DDBase.h.

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

00034                                   {
00035       d_.prep_ = it_->second;
00036       return d_;
00037     }

template<class N, class C>
template<class D>
bool DDBase< N, C >::iterator< D >::operator!= ( const iterator< D > &  i  )  [inline]

Definition at line 48 of file DDBase.h.

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

00048                                         {
00049       return i.it_ != it_;
00050     }

template<class N, class C>
template<class D>
void DDBase< N, C >::iterator< D >::operator++ ( void   )  [inline]

Definition at line 60 of file DDBase.h.

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

00060                       {
00061        ++it_;
00062     }

template<class N, class C>
template<class D>
value_type* DDBase< N, C >::iterator< D >::operator-> (  )  const [inline]

Definition at line 39 of file DDBase.h.

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

00039                                    {
00040       d_.prep_ = it_->second;
00041       return &d_;
00042     }

template<class N, class C>
template<class D>
bool DDBase< N, C >::iterator< D >::operator< ( const iterator< D > &  i  )  [inline]

Definition at line 52 of file DDBase.h.

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

00052                                        {
00053       return it_ < i.it_;
00054     }

template<class N, class C>
template<class D>
bool DDBase< N, C >::iterator< D >::operator== ( const iterator< D > &  i  )  [inline]

Definition at line 44 of file DDBase.h.

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

00044                                         {
00045       return i.it_ == it_;
00046     }

template<class N, class C>
template<class D>
bool DDBase< N, C >::iterator< D >::operator> ( const iterator< D > &  i  )  [inline]

Definition at line 56 of file DDBase.h.

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

00056                                        {
00057       return it_ > i.it_;
00058     }


Member Data Documentation

template<class N, class C>
template<class D>
D DDBase< N, C >::iterator< D >::d_ [mutable, private]

Definition at line 71 of file DDBase.h.

Referenced by DDBase< N, C >::iterator< D >::operator *(), and DDBase< N, C >::iterator< D >::operator->().

template<class N, class C>
template<class D>
DDI::Store<N,C>::iterator DDBase< N, C >::iterator< D >::it_ [mutable, private]

Definition at line 70 of file DDBase.h.

Referenced by DDBase< N, C >::iterator< D >::end(), DDBase< N, C >::iterator< D >::operator *(), DDBase< N, C >::iterator< D >::operator!=(), DDBase< N, C >::iterator< D >::operator++(), DDBase< N, C >::iterator< D >::operator->(), DDBase< N, C >::iterator< D >::operator<(), DDBase< N, C >::iterator< D >::operator==(), and DDBase< N, C >::iterator< D >::operator>().


The documentation for this class was generated from the following file:
Generated on Tue Jun 9 18:17:46 2009 for CMSSW by  doxygen 1.5.4