Version: 9.16.0
MyIterator< VALUE > Class Template Referenceabstract
Inheritance diagram for MyIterator< VALUE >:

Public Types

typedef const SMDS_MeshElementvalue_type
 
typedef VALUE value_type
 

Public Member Functions

 MyIterator (SMDSAbs_ElementType type, const SMESHDS_SubMesh *subMesh)
 
bool more ()
 Return true if and only if there are other object in this iterator. More...
 
const SMDS_MeshElementnext ()
 Return the current object and step to the next one. More...
 
 MyIterator (const TSubMeshSet &theSubMeshes)
 
bool more ()
 Return true if and only if there are other object in this iterator. More...
 
VALUE next ()
 Return the current object and step to the next one. More...
 
virtual void remove ()
 Delete the current element and step to the next one. More...
 
virtual void remove ()
 Delete the current element and step to the next one. More...
 

Protected Member Functions

virtual boost::shared_ptr< SMDS_Iterator< VALUE > > getElements (const SMESHDS_SubMesh *) const =0
 

Private Attributes

SMDSAbs_ElementType myType
 
SMDS_ElemIteratorPtr myElemIt
 
SMDS_NodeIteratorPtr myNodeIt
 
const SMDS_MeshElementmyElem
 
bool myMore
 
TSubMeshSet::const_iterator mySubIt
 
TSubMeshSet::const_iterator mySubEnd
 
boost::shared_ptr< SMDS_Iterator< VALUE > > myElemIt
 

Member Typedef Documentation

◆ value_type [1/2]

typedef const SMDS_MeshElement * SMDS_Iterator< const SMDS_MeshElement * >::value_type
inherited

◆ value_type [2/2]

template<typename VALUE >
typedef VALUE SMDS_Iterator< VALUE >::value_type
inherited

Constructor & Destructor Documentation

◆ MyIterator() [1/2]

◆ MyIterator() [2/2]

template<typename VALUE >
MyIterator< VALUE >::MyIterator ( const TSubMeshSet theSubMeshes)

Member Function Documentation

◆ getElements()

template<typename VALUE >
virtual boost::shared_ptr< SMDS_Iterator< VALUE > > MyIterator< VALUE >::getElements ( const SMESHDS_SubMesh ) const
protectedpure virtual

Implemented in MyElemIterator, and MyNodeIterator.

Referenced by MyIterator< VALUE >::more().

◆ more() [1/2]

template<typename VALUE >
bool MyIterator< VALUE >::more ( )
virtual

Return true if and only if there are other object in this iterator.

Implements SMDS_Iterator< VALUE >.

References MyIterator< VALUE >::myElem, MyIterator< VALUE >::myNodeIt, MyIterator< VALUE >::myType, and SMDSAbs_Node.

◆ more() [2/2]

template<typename VALUE >
bool MyIterator< VALUE >::more ( )
virtual

◆ next() [1/2]

◆ next() [2/2]

template<typename VALUE >
VALUE MyIterator< VALUE >::next ( )
virtual

Return the current object and step to the next one.

Implements SMDS_Iterator< VALUE >.

References MyIterator< VALUE >::myElemIt, and MyIterator< VALUE >::myMore.

◆ remove() [1/2]

virtual void SMDS_Iterator< const SMDS_MeshElement * >::remove ( )
virtualinherited

Delete the current element and step to the next one.

◆ remove() [2/2]

template<typename VALUE >
virtual void SMDS_Iterator< VALUE >::remove ( )
virtualinherited

Delete the current element and step to the next one.

Field Documentation

◆ myElem

template<typename VALUE >
const SMDS_MeshElement* MyIterator< VALUE >::myElem
private

◆ myElemIt [1/2]

template<typename VALUE >
SMDS_ElemIteratorPtr MyIterator< VALUE >::myElemIt
private

◆ myElemIt [2/2]

template<typename VALUE >
boost::shared_ptr< SMDS_Iterator<VALUE> > MyIterator< VALUE >::myElemIt
private

◆ myMore

template<typename VALUE >
bool MyIterator< VALUE >::myMore
private

◆ myNodeIt

template<typename VALUE >
SMDS_NodeIteratorPtr MyIterator< VALUE >::myNodeIt
private

◆ mySubEnd

template<typename VALUE >
TSubMeshSet::const_iterator MyIterator< VALUE >::mySubEnd
private

◆ mySubIt

template<typename VALUE >
TSubMeshSet::const_iterator MyIterator< VALUE >::mySubIt
private

◆ myType

template<typename VALUE >
SMDSAbs_ElementType MyIterator< VALUE >::myType
private