Reference documentation for deal.II version 8.1.0
Public Member Functions | List of all members
TriaActiveIterator< Accessor > Class Template Reference

#include <tria_iterator.h>

Inheritance diagram for TriaActiveIterator< Accessor >:
[legend]

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)
 
 TriaActiveIterator (const TriaAccessorBase< Accessor::structure_dimension, Accessor::dimension, Accessor::space_dimension > &tria_accessor, const typename Accessor::AccessorData *local_data)
 
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++ ()
 
 DeclException0 (ExcAssignmentOfInactiveObject)
 
Advancement of iterators
TriaActiveIterator< Accessor > operator++ (int)
 
TriaActiveIterator< Accessor > & operator-- ()
 
TriaActiveIterator< Accessor > operator-- (int)
 
- Public Member Functions inherited from TriaIterator< Accessor >
 TriaIterator ()
 
 TriaIterator (const TriaIterator< Accessor > &)
 
 TriaIterator (const TriaRawIterator< Accessor > &)
 
 TriaIterator (const Triangulation< Accessor::dimension, Accessor::space_dimension > *parent, const int level, const int index, const typename Accessor::AccessorData *local_data=0)
 
template<typename OtherAccessor >
 TriaIterator (const OtherAccessor &a)
 
template<typename OtherAccessor >
 TriaIterator (const TriaIterator< OtherAccessor > &i)
 
 TriaIterator (const TriaAccessorBase< Accessor::structure_dimension, Accessor::dimension, Accessor::space_dimension > &tria_accessor, const typename Accessor::AccessorData *local_data)
 
template<typename OtherAccessor >
 TriaIterator (const TriaRawIterator< OtherAccessor > &i)
 
template<typename OtherAccessor >
 TriaIterator (const TriaActiveIterator< OtherAccessor > &i)
 
TriaIterator< Accessor > & operator= (const TriaIterator< Accessor > &)
 
TriaIterator< Accessor > & operator= (const TriaRawIterator< Accessor > &)
 
template<class OtherAccessor >
TriaIterator< Accessor > & operator= (const TriaIterator< OtherAccessor > &)
 
template<class OtherAccessor >
TriaIterator< Accessor > & operator= (const TriaRawIterator< OtherAccessor > &)
 
 DeclException0 (ExcAssignmentOfUnusedObject)
 
TriaIterator< Accessor > & operator++ ()
 
TriaIterator< Accessor > operator++ (int)
 
TriaIterator< Accessor > & operator-- ()
 
TriaIterator< Accessor > operator-- (int)
 
- Public Member Functions inherited from TriaRawIterator< Accessor >
 TriaRawIterator ()
 
 TriaRawIterator (const TriaRawIterator &)
 
 TriaRawIterator (const Accessor &a)
 
template<typename OtherAccessor >
 TriaRawIterator (const OtherAccessor &a)
 
 TriaRawIterator (const Triangulation< Accessor::dimension, Accessor::space_dimension > *parent, const int level, const int index, const typename AccessorType::AccessorData *local_data=0)
 
template<typename OtherAccessor >
 TriaRawIterator (const TriaRawIterator< OtherAccessor > &i)
 
 TriaRawIterator (const TriaAccessorBase< Accessor::structure_dimension, Accessor::dimension, Accessor::space_dimension > &tria_accessor, const typename Accessor::AccessorData *local_data)
 
template<typename OtherAccessor >
 TriaRawIterator (const TriaIterator< OtherAccessor > &i)
 
template<typename OtherAccessor >
 TriaRawIterator (const TriaActiveIterator< OtherAccessor > &i)
 
TriaRawIteratoroperator= (const TriaRawIterator &)
 
bool operator== (const TriaRawIterator &) const
 
bool operator!= (const TriaRawIterator &) const
 
bool operator< (const TriaRawIterator &) const
 
IteratorState::IteratorStates state () const
 
template<class STREAM >
void print (STREAM &out) const
 
std::size_t memory_consumption () const
 
template<typename Accessor >
 TriaRawIterator (const Triangulation< Accessor::dimension, Accessor::space_dimension > *parent, const int level, const int index, const typename Accessor::AccessorData *local_data)
 
const Accessor & operator* () const
 
Accessor & operator* ()
 
const Accessor * operator-> () const
 
Accessor * operator-> ()
 
const Accessor & access_any () const
 
TriaRawIteratoroperator++ ()
 
TriaRawIterator operator++ (int)
 
TriaRawIteratoroperator-- ()
 
TriaRawIterator operator-- (int)
 
 DeclException1 (ExcDereferenceInvalidCell, Accessor,<< "You tried to dereference a cell iterator for which this "<< "is not possible. More information on this iterator: "<< "level="<< arg1.level()<< ", index="<< arg1.index()<< ", state="<< (arg1.state()==IteratorState::valid?"valid":(arg1.state()==IteratorState::past_the_end?"past_the_end":"invalid")))
 
 DeclException1 (ExcDereferenceInvalidObject, Accessor,<< "You tried to dereference an iterator for which this "<< "is not possible. More information on this iterator: "<< "index="<< arg1.index()<< ", state="<< (arg1.state()==IteratorState::valid?"valid":(arg1.state()==IteratorState::past_the_end?"past_the_end":"invalid")))
 
 DeclException0 (ExcAdvanceInvalidObject)
 
 DeclException0 (ExcInvalidComparison)
 

Additional Inherited Members

- Public Types inherited from TriaRawIterator< Accessor >
typedef Accessor AccessorType
 
- Protected Attributes inherited from TriaRawIterator< Accessor >
Accessor accessor
 

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 35 of file loop.h.

Constructor & Destructor Documentation

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

Empty constructor. Such an object is not usable!

Definition at line 371 of file tria_iterator.templates.h.

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

Copy constructor.

Definition at line 377 of file tria_iterator.templates.h.

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

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!

Definition at line 383 of file tria_iterator.templates.h.

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

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!

Definition at line 402 of file tria_iterator.templates.h.

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 
)
inline

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!

Definition at line 421 of file tria_iterator.templates.h.

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 1315 of file tria_iterator.h.

template<typename Accessor >
TriaActiveIterator< Accessor >::TriaActiveIterator ( const TriaAccessorBase< Accessor::structure_dimension, Accessor::dimension, Accessor::space_dimension > &  tria_accessor,
const typename Accessor::AccessorData *  local_data 
)
inline

Another conversion operator, where we use the pointers to the Triangulation from a TriaAccessorBase object, while the additional data is used according to the actual type of Accessor.

Definition at line 443 of file tria_iterator.templates.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 1325 of file tria_iterator.h.

Member Function Documentation

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

Assignment operator.

Definition at line 465 of file tria_iterator.templates.h.

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

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

Definition at line 551 of file tria_iterator.templates.h.

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

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

Definition at line 486 of file tria_iterator.templates.h.

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

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

Definition at line 476 of file tria_iterator.templates.h.

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

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.

Definition at line 508 of file tria_iterator.templates.h.

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

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.

Definition at line 530 of file tria_iterator.templates.h.

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

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

Definition at line 572 of file tria_iterator.templates.h.

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

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.

Definition at line 585 of file tria_iterator.templates.h.

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

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

Definition at line 597 of file tria_iterator.templates.h.

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

Postfix operator: i–.

Definition at line 609 of file tria_iterator.templates.h.

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

Exception


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