Public Member Functions | Static Public Member Functions

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

Inheritance diagram for TriaActiveIterator< Accessor >:
Inheritance graph
[legend]

List of all members.

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 TriaIterator< Accessor > &)
TriaActiveIterator< Accessor > & operator= (const TriaRawIterator< Accessor > &)
template<class OtherAccessor >
TriaActiveIterator< Accessor > & operator= (const TriaActiveIterator< OtherAccessor > &)
template<class OtherAccessor >
TriaActiveIterator< Accessor > & operator= (const TriaRawIterator< OtherAccessor > &)
template<class OtherAccessor >
TriaActiveIterator< Accessor > & operator= (const TriaIterator< OtherAccessor > &)
TriaActiveIterator< Accessor > & operator++ ()
Advancement of iterators
TriaActiveIterator< Accessor > operator++ (int)
TriaActiveIterator< Accessor > & operator-- ()
TriaActiveIterator< Accessor > operator-- (int)

Static Public Member Functions

::ExceptionBaseExcAssignmentOfInactiveObject ()

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.

Definition at line 784 of file tria_iterator.h.


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 Triangulation::active_cell_iterator from a DoFHandler::active_cell_iterator, since the DoFAccessor class is derived from the TriaAccessorBase class.

Definition at line 1232 of file tria_iterator.h.

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>.

Definition at line 1242 of file tria_iterator.h.

References TriaRawIterator< Accessor >::accessor, Assert, TriaActiveIterator< Accessor >::ExcAssignmentOfInactiveObject(), 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 TriaIterator< Accessor > &   )

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

Reimplemented from TriaIterator< Accessor >.

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>
template<class OtherAccessor >
TriaActiveIterator<Accessor>& TriaActiveIterator< Accessor >::operator= ( const TriaActiveIterator< OtherAccessor > &   )

Assignment operator. Requires, that Accessor can be copied from OtherAccessor.

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

Cross assignment operator. This assignment is only valid if the given iterator points to an active element or past the end. Requires, that Accessor can be copied from OtherAccessor.

Reimplemented from TriaIterator< Accessor >.

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

Cross assignment operator. This assignment is only valid if the given iterator points to an active element. Requires, that Accessor can be copied from OtherAccessor.

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 >.

template<typename Accessor>
::ExceptionBase& TriaActiveIterator< Accessor >::ExcAssignmentOfInactiveObject (  ) [static]

The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

deal.II documentation generated on Fri Feb 3 2012 06:04:12 by doxygen 1.7.2