CMS 3D CMS Logo

Public Types | Public Member Functions | Private Attributes

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

#include <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 (const typename DDI::Store< N, C >::iterator &it)
 iterator ()
bool operator!= (const iterator &i)
value_typeoperator* () const
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 18 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 22 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 24 of file DDBase.h.

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

Definition at line 26 of file DDBase.h.


Member Function Documentation

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

Definition at line 58 of file DDBase.h.

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

                     {
      it_ = StoreT::instance().end();
    }  
template<class N, class C>
template<class D >
bool DDBase< N, C >::iterator< D >::operator!= ( const iterator< D > &  i) [inline]

Definition at line 42 of file DDBase.h.

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

                                        {
      return i.it_ != it_;
    }
template<class N, class C>
template<class D >
value_type& DDBase< N, C >::iterator< D >::operator* ( void  ) const [inline]

Definition at line 28 of file DDBase.h.

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

                                  {
      d_.prep_ = it_->second;
      return d_;
    }
template<class N, class C>
template<class D >
void DDBase< N, C >::iterator< D >::operator++ ( void  ) [inline]

Definition at line 54 of file DDBase.h.

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

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

Definition at line 33 of file DDBase.h.

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

                                   {
      d_.prep_ = it_->second;
      return &d_;
    }
template<class N, class C>
template<class D >
bool DDBase< N, C >::iterator< D >::operator< ( const iterator< D > &  i) [inline]

Definition at line 46 of file DDBase.h.

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

                                       {
      return it_ < i.it_;
    }
template<class N, class C>
template<class D >
bool DDBase< N, C >::iterator< D >::operator== ( const iterator< D > &  i) [inline]

Definition at line 38 of file DDBase.h.

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

                                        {
      return i.it_ == it_;
    }
template<class N, class C>
template<class D >
bool DDBase< N, C >::iterator< D >::operator> ( const iterator< D > &  i) [inline]

Definition at line 50 of file DDBase.h.

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

                                       {
      return it_ > i.it_;
    }

Member Data Documentation

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