BEM++  2.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
Public Member Functions | Private Member Functions | Private Attributes | List of all members
Bempp::ConcreteRangeEntityIterator< DuneEntityIt, DuneEntityPointer > Class Template Reference

Iterator over entities referenced by a range of Dune iterators of type DuneEntityIt. More...

#include </home/wojtek/Projects/BEM/bempp-sven/bempp/lib/grid/concrete_range_entity_iterator.hpp>

Inheritance diagram for Bempp::ConcreteRangeEntityIterator< DuneEntityIt, DuneEntityPointer >:
Bempp::EntityIterator< DuneEntityIt::codimension > Bempp::EntityPointer< codim >

Public Member Functions

 ConcreteRangeEntityIterator (const DuneEntityIt &begin, const DuneEntityIt &end, const DomainIndex &domain_index)
 Constructor. The iterator will go over the range [begin, end).
 
virtual void next ()
 Increment iterator.
 
virtual const Entity
< ConcreteRangeEntityIterator::codimension > & 
entity () const
 Read-only access to the entity referenced by the iterator.
 
virtual std::auto_ptr
< EntityPointer
< ConcreteRangeEntityIterator::codimension > > 
frozen () const
 A stable pointer to the entity currently referenced by the iterator. More...
 
- Public Member Functions inherited from Bempp::EntityIterator< DuneEntityIt::codimension >
bool finished () const
 True if iterator points past the end of the iteration range.
 
- Public Member Functions inherited from Bempp::EntityPointer< codim >
virtual ~EntityPointer ()
 Destructor.
 

Private Member Functions

void updateEntity ()
 
void updateFinished ()
 

Private Attributes

DuneEntityIt m_begin
 
DuneEntityIt m_end
 
DuneEntityIt m_cur
 
ConcreteEntity
< ConcreteRangeEntityIterator::codimension,
typename DuneEntityIt::Entity > 
m_entity
 
const DomainIndexm_domain_index
 

Additional Inherited Members

- Public Types inherited from Bempp::EntityPointer< codim >
enum  { codimension = codim }
 Entity codimension.
 
- Protected Attributes inherited from Bempp::EntityIterator< DuneEntityIt::codimension >
bool m_finished
 

Detailed Description

template<typename DuneEntityIt, typename DuneEntityPointer>
class Bempp::ConcreteRangeEntityIterator< DuneEntityIt, DuneEntityPointer >

Iterator over entities referenced by a range of Dune iterators of type DuneEntityIt.

DuneEntityPointer is the base class of DuneEntityIt (it would be easily read from the DuneEntityIt::Base typedef, but, alas, this typedef is private...).

Member Function Documentation

template<typename DuneEntityIt , typename DuneEntityPointer >
virtual std::auto_ptr<EntityPointer<ConcreteRangeEntityIterator::codimension> > Bempp::ConcreteRangeEntityIterator< DuneEntityIt, DuneEntityPointer >::frozen ( ) const
inlinevirtual

A stable pointer to the entity currently referenced by the iterator.

The returned pointer is guaranteed to keep referring to the same entity even if the iterator is incremented or destroyed, as long as the grid is not adapted and the grid object itself stays alive.

Implements Bempp::EntityIterator< DuneEntityIt::codimension >.


The documentation for this class was generated from the following file: