TriaActiveIterator< Accessor > Class Template Reference
[Grid classesIterators on mesh-like containers]

Inheritance diagram for TriaActiveIterator< Accessor >:

Inheritance graph
[legend]

List of all members.

Classes

class  ExcAssignmentOfInactiveObject

Public Member Functions

 TriaActiveIterator ()
 TriaActiveIterator (const TriaActiveIterator< Accessor > &)
 TriaActiveIterator (const TriaRawIterator< Accessor > &)
 TriaActiveIterator (const TriaIterator< Accessor > &)
 TriaActiveIterator (const Triangulation< Accessor::dimension, Accessor::space_dimension > *parent, const int level, const int index, const typename Accessor::AccessorData *local_data=0)
template<typename OtherAccessor >
 TriaActiveIterator (const TriaActiveIterator< OtherAccessor > &i)
template<typename OtherAccessor >
 TriaActiveIterator (const TriaRawIterator< OtherAccessor > &i)
TriaActiveIterator< Accessor > & operator= (const TriaActiveIterator< Accessor > &)
TriaActiveIterator< Accessor > & operator= (const TriaRawIterator< Accessor > &)
TriaActiveIterator< Accessor > & operator= (const TriaIterator< Accessor > &)
TriaActiveIterator< Accessor > & operator++ ()
Advancement of iterators
TriaActiveIterator< Accessor > operator++ (int)
TriaActiveIterator< Accessor > & operator-- ()
TriaActiveIterator< Accessor > operator-- (int)


Detailed Description

template<typename Accessor>
class TriaActiveIterator< Accessor >

This specialization of TriaIterator provides access only to the active lines, quads, cells, etc. An active cell is a cell which is not refined and thus a cell on which calculations on the finest level are done.

Constructor & Destructor Documentation

template<typename Accessor>
TriaActiveIterator< Accessor >::TriaActiveIterator (  ) 

Empty constructor. Such an object is not usable!

template<typename Accessor>
TriaActiveIterator< Accessor >::TriaActiveIterator ( const TriaActiveIterator< Accessor > &   ) 

Copy constructor.

template<typename Accessor>
TriaActiveIterator< Accessor >::TriaActiveIterator ( const TriaRawIterator< Accessor > &   ) 

Cross copy constructor from iterators pointing also to non-active objects.

If the object pointed to is not past-the-end and is not active, the debug version raises an error!

template<typename Accessor>
TriaActiveIterator< Accessor >::TriaActiveIterator ( const TriaIterator< Accessor > &   ) 

Cross copy constructor from iterators pointing also to non-active objects.

If the object pointed to is not past-the-end and is not active, the debug version raises an error!

template<typename Accessor>
TriaActiveIterator< Accessor >::TriaActiveIterator ( const Triangulation< Accessor::dimension, Accessor::space_dimension > *  parent,
const int  level,
const int  index,
const typename Accessor::AccessorData *  local_data = 0 
)

Proper constructor, initialized with the triangulation, the level and index of the object pointed to. The last parameter is of a type declared by the accessor class.

If the object pointed to is not past-the-end and is not active, the debug version raises an error!

template<typename Accessor >
template<typename OtherAccessor >
TriaActiveIterator< Accessor >::TriaActiveIterator ( const TriaActiveIterator< OtherAccessor > &  i  )  [inline]

This is a conversion operator (constructor) which takes another iterator type and copies the data; this conversion works, if there is a conversion path from the OtherAccessor class to the Accessor class of this object. One such path would be derived class to base class, which for example may be used to get a Triangulationactive_cell_iterator from a DoFHandleractive_cell_iterator, since the DoFAccessor class is derived from the TriaAccessorBase class.

template<typename Accessor >
template<typename OtherAccessor >
TriaActiveIterator< Accessor >::TriaActiveIterator ( const TriaRawIterator< OtherAccessor > &  i  )  [inline]

Similar conversion operator to the above one, but does a check whether the iterator points to a used element, and is active, which is necessary for raw iterators. Since usual iterators are also raw iterators, this constructor works also for parameters of type TriaIterator<OtherAccessor>.

References TriaRawIterator< Accessor >::accessor, Assert, IteratorState::past_the_end, and TriaRawIterator< Accessor >::state().


Member Function Documentation

template<typename Accessor>
TriaActiveIterator<Accessor>& TriaActiveIterator< Accessor >::operator= ( const TriaActiveIterator< Accessor > &   ) 

Assignment operator.

template<typename Accessor>
TriaActiveIterator<Accessor>& TriaActiveIterator< Accessor >::operator= ( const TriaRawIterator< Accessor > &   ) 

Cross assignment operator. This assignment is only valid if the given iterator points to an active element or past the end.

Reimplemented from TriaIterator< Accessor >.

template<typename Accessor>
TriaActiveIterator<Accessor>& TriaActiveIterator< Accessor >::operator= ( const TriaIterator< Accessor > &   ) 

Cross assignment operator. This assignment is only valid if the given iterator points to an active element or past the end.

Reimplemented from TriaIterator< Accessor >.

template<typename Accessor>
TriaActiveIterator<Accessor>& TriaActiveIterator< Accessor >::operator++ (  ) 

Prefix ++ operator: ++i. This operator advances the iterator to the next active element and returns a reference to *this.

Reimplemented from TriaIterator< Accessor >.

template<typename Accessor>
TriaActiveIterator<Accessor> TriaActiveIterator< Accessor >::operator++ ( int   ) 

Postfix ++ operator: i++. This operator advances the iterator to the next active element, but returns an iterator to the element previously pointed to. Since this involves a temporary and a copy operation and since an active_iterator is quite a large object for a pointer, use the prefix operator ++i whenever possible, especially in the head of for loops (for (; i!=end; ++i)) since there you normally never need the returned value.

Reimplemented from TriaIterator< Accessor >.

template<typename Accessor>
TriaActiveIterator<Accessor>& TriaActiveIterator< Accessor >::operator-- (  ) 

Prefix -- operator: --i. This operator advances the iterator to the previous active element and returns a reference to *this.

Reimplemented from TriaIterator< Accessor >.

template<typename Accessor>
TriaActiveIterator<Accessor> TriaActiveIterator< Accessor >::operator-- ( int   ) 

Postfix -- operator: i--.

Reimplemented from TriaIterator< Accessor >.


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

deal.II documentation generated on Sat Aug 15 16:52:29 2009 by doxygen 1.5.9