17 #ifndef __deal2__tria_iterator_h 18 #define __deal2__tria_iterator_h 24 #include <deal.II/base/config.h> 27 #include <deal.II/base/point.h> 28 #include <deal.II/grid/tria_iterator_base.h> 232 template <
typename Accessor>
233 class TriaRawIterator :
public std::iterator<std::bidirectional_iterator_tag,Accessor>
280 template <
typename OtherAccessor>
294 const typename AccessorType::AccessorData *local_data = 0);
311 template <
typename OtherAccessor>
324 const typename Accessor::AccessorData *local_data);
333 template <
typename OtherAccessor>
343 template <
typename OtherAccessor>
560 template <
class STREAM>
561 void print (STREAM &out)
const;
580 <<
"You tried to dereference a cell iterator for which this " 581 <<
"is not possible. More information on this iterator: " 582 <<
"level=" << arg1.level()
583 <<
", index=" << arg1.index()
587 "past_the_end" :
"invalid")));
597 <<
"You tried to dereference an iterator for which this " 598 <<
"is not possible. More information on this iterator: " 599 <<
"index=" << arg1.index()
603 "past_the_end" :
"invalid")));
636 template <
typename SomeAccessor>
friend class TriaIterator;
648 template <
typename Accessor>
691 const typename Accessor::AccessorData *local_data = 0);
697 template <
typename OtherAccessor>
715 template <
typename OtherAccessor>
728 const typename Accessor::AccessorData *local_data);
736 template <
typename OtherAccessor>
745 template <
typename OtherAccessor>
769 template <
class OtherAccessor>
781 template <
class OtherAccessor>
844 template <
typename Accessor>
899 const typename Accessor::AccessorData *local_data = 0);
916 template <
typename OtherAccessor>
929 const typename Accessor::AccessorData *local_data);
941 template <
typename OtherAccessor>
973 template <
class OtherAccessor>
985 template <
class OtherAccessor>
997 template <
class OtherAccessor>
1054 template <
typename Accessor>
1064 template <
typename Accessor>
1065 template <
typename OtherAccessor>
1075 template <
typename Accessor>
1076 template <
typename OtherAccessor>
1086 template <
typename Accessor>
1087 template <
typename OtherAccessor>
1097 template <
typename Accessor>
1098 template <
typename OtherAccessor>
1108 template <
typename Accessor>
1113 Assert (Accessor::structure_dimension!=Accessor::dimension ||
1115 ExcDereferenceInvalidCell(
accessor));
1116 Assert (Accessor::structure_dimension==Accessor::dimension ||
1118 ExcDereferenceInvalidObject(
accessor));
1125 template <
typename Accessor>
1130 Assert (Accessor::structure_dimension!=Accessor::dimension ||
1132 ExcDereferenceInvalidCell(
accessor));
1133 Assert (Accessor::structure_dimension==Accessor::dimension ||
1135 ExcDereferenceInvalidObject(
accessor));
1142 template <
typename Accessor>
1152 template <
typename Accessor>
1162 template <
typename Accessor>
1172 template <
typename Accessor>
1182 template <
typename Accessor>
1191 ExcInvalidComparison());
1199 return ((**
this) < (*other));
1203 template <
typename Accessor>
1216 template <
typename Accessor>
1229 template <
typename Accessor>
1230 template <
class STREAM>
1235 if (Accessor::structure_dimension==Accessor::dimension)
1243 template <
typename Accessor>
1253 template <
typename Accessor>
1254 template <
typename OtherAccessor>
1263 template <
typename Accessor>
1264 template <
typename OtherAccessor>
1273 template <
typename Accessor>
1274 template <
typename OtherAccessor>
1289 ExcAssignmentOfUnusedObject());
1293 template <
typename Accessor>
1294 template <
typename OtherAccessor>
1308 ExcAssignmentOfUnusedObject());
1312 template <
typename Accessor>
1313 template <
typename OtherAccessor>
1322 template <
typename Accessor>
1323 template <
typename OtherAccessor>
1338 ExcAssignmentOfInactiveObject());
1352 template <
typename Accessor>
1371 template <
typename Accessor>
1390 template <
typename Accessor>
1400 DEAL_II_NAMESPACE_CLOSE
1405 # include "tria_iterator.templates.h"
Iterator is invalid, probably due to an error.
void print(STREAM &out) const
const Accessor * operator->() const
const Accessor & operator*() const
std::size_t memory_consumption() const
#define Assert(cond, exc)
TriaRawIterator & operator++()
IteratorState::IteratorStates state() const
TriaRawIterator & operator--()
DeclException0(ExcAdvanceInvalidObject)
std::ostream & operator<<(std::ostream &os, const Vector< number > &v)
TriaRawIterator & operator=(const TriaRawIterator &)
bool operator!=(const TriaRawIterator &) const
Iterator reached end of container.
Iterator points to a valid object.
bool operator==(const TriaRawIterator &) const
const Accessor & access_any() const
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")))
bool operator<(const TriaRawIterator &) const