Reference documentation for deal.II version 9.0.0
|
#include <deal.II/grid/tria_iterator.h>
Public Types | |
typedef TriaIterator< Accessor >::iterator_category | iterator_category |
Public Types inherited from TriaIterator< Accessor > | |
typedef TriaRawIterator< Accessor >::iterator_category | iterator_category |
Public Types inherited from TriaRawIterator< Accessor > | |
typedef Accessor | AccessorType |
typedef std::bidirectional_iterator_tag | iterator_category |
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++ () |
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=nullptr) | |
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 > &) |
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=nullptr) | |
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) | |
TriaRawIterator & | operator= (const TriaRawIterator &) |
bool | operator== (const TriaRawIterator &) const |
bool | operator!= (const TriaRawIterator &) const |
bool | operator< (const TriaRawIterator &) const |
bool | operator> (const TriaRawIterator &) const |
IteratorState::IteratorStates | state () const |
template<class StreamType > | |
void | print (StreamType &out) const |
std::size_t | memory_consumption () const |
const Accessor & | operator* () const |
Accessor & | operator* () |
const Accessor * | operator-> () const |
Accessor * | operator-> () |
const Accessor & | access_any () const |
TriaRawIterator & | operator++ () |
TriaRawIterator | operator++ (int) |
TriaRawIterator & | operator-- () |
TriaRawIterator | operator-- (int) |
Static Public Member Functions | |
static ::ExceptionBase & | ExcAssignmentOfInactiveObject () |
Static Public Member Functions inherited from TriaIterator< Accessor > | |
static ::ExceptionBase & | ExcAssignmentOfUnusedObject () |
Static Public Member Functions inherited from TriaRawIterator< Accessor > | |
static ::ExceptionBase & | ExcDereferenceInvalidCell (Accessor arg1) |
static ::ExceptionBase & | ExcDereferenceInvalidObject (Accessor arg1) |
static ::ExceptionBase & | ExcAdvanceInvalidObject () |
static ::ExceptionBase & | ExcInvalidComparison () |
Additional Inherited Members | |
Protected Attributes inherited from TriaRawIterator< Accessor > | |
Accessor | 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 31 of file dof_iterator_selector.h.
typedef TriaIterator<Accessor>::iterator_category TriaActiveIterator< Accessor >::iterator_category |
Declare some typedefs which are standard for iterators and are used by algorithms to enquire about the specifics of the iterators they work on.
Definition at line 871 of file tria_iterator.h.
TriaActiveIterator< Accessor >::TriaActiveIterator | ( | ) |
Empty constructor. Such an object is not usable!
TriaActiveIterator< Accessor >::TriaActiveIterator | ( | const TriaActiveIterator< Accessor > & | ) |
Copy constructor.
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!
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!
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!
|
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 1159 of file tria_iterator.h.
TriaActiveIterator< Accessor >::TriaActiveIterator | ( | const TriaAccessorBase< Accessor::structure_dimension, Accessor::dimension, Accessor::space_dimension > & | tria_accessor, |
const typename Accessor::AccessorData * | local_data | ||
) |
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.
|
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 1169 of file tria_iterator.h.
TriaActiveIterator<Accessor>& TriaActiveIterator< Accessor >::operator= | ( | const TriaActiveIterator< Accessor > & | ) |
Assignment operator.
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.
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.
TriaActiveIterator<Accessor>& TriaActiveIterator< Accessor >::operator= | ( | const TriaActiveIterator< OtherAccessor > & | ) |
Assignment operator. Requires, that Accessor can be copied from 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.
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.
TriaActiveIterator<Accessor>& TriaActiveIterator< Accessor >::operator++ | ( | ) |
Prefix ++
operator: ++i
. This operator advances the iterator to the next active element and returns a reference to *this
.
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.
TriaActiveIterator<Accessor>& TriaActiveIterator< Accessor >::operator-- | ( | ) |
Prefix –
operator: –i
. This operator advances the iterator to the previous active element and returns a reference to *this
.
TriaActiveIterator<Accessor> TriaActiveIterator< Accessor >::operator-- | ( | int | ) |
Postfix –
operator: i–
.