* You must not dereference invalid or
* past the end iterators.
*/
- const Accessor & operator * () const {
- // put this function here, since we can't
- // inline it with gcc 2.7
- Assert (state() == valid, ExcDereferenceInvalidObject());
- return accessor;
- };
-
+ const Accessor & operator * () const;
+
/**
* Dereferencing operator, non-#const#
* version.
*/
- Accessor & operator * () {
- // put this function here, since we can't
- // inline it with gcc 2.7
- Assert (state() == valid, ExcDereferenceInvalidObject());
- return accessor;
- };
+ Accessor & operator * ();
/**
* Dereferencing operator, returns a
* There is a #const# and a non-#const#
* version.
*/
- const Accessor * operator -> () const {
- // put this function here, since we can't
- // inline it with gcc 2.7
- return &(this->operator* ());
- };
-
-
+ const Accessor * operator -> () const;
+
/**
* Dereferencing operator, non-#const#
* version.
*/
- Accessor * operator -> () {
- // put this function here, since we can't
- // inline it with gcc 2.7
- return &(this->operator* ());
- };
+ Accessor * operator -> ();
/*@}*/
/**
*/
DeclException0 (ExcAdvanceInvalidObject);
/*@}*/
-// protected: // don't know why we can't declare this protected (gcc2.7 chokes!?)
+// protected: // don't know why we can't declare this protected (gcc2.7/8 chokes!?)
Accessor accessor;
};
+
+
+/*----------------------- Inline functions -------------------*/
+
+
+
+template <int dim, class Accessor>
+inline
+const Accessor &
+TriaRawIterator<dim,Accessor>::operator * () const {
+ Assert (state() == valid, ExcDereferenceInvalidObject());
+ return accessor;
+};
+
+
+
+
+template <int dim, class Accessor>
+inline
+Accessor &
+TriaRawIterator<dim,Accessor>::operator * () {
+ Assert (state() == valid, ExcDereferenceInvalidObject());
+ return accessor;
+};
+
+
+
+template <int dim, class Accessor>
+inline
+const Accessor *
+TriaRawIterator<dim,Accessor>::operator -> () const {
+ return &(this->operator* ());
+};
+
+
+
+template <int dim, class Accessor>
+inline
+Accessor *
+TriaRawIterator<dim,Accessor>::operator -> () {
+ return &(this->operator* ());
+};
+
+
+
+
template <int dim, class Accessor>
inline
IteratorState TriaRawIterator<dim,Accessor>::state () const {
return out;
};
+
+
template <int dim, class Accessor>
inline
ostream & operator << (ostream &out, const TriaIterator<dim,Accessor> &i) {
return out;
};
+
+
template <int dim, class Accessor>
inline
ostream & operator << (ostream &out, const TriaActiveIterator<dim,Accessor> &i) {
* invalid object, but is needed for
* the STL classes.
*/
- DataEntry () :
- // don't know why we have
- // to define here, gcc2.8
- // should be able to handle
- // this in the .cc file
- data(0), name(""), units("") {};
+ DataEntry ();
/**
* Constructor
*/
- DataEntry (const dVector *data, const String name, const String units) :
- // don't know why we have
- // to define here, gcc2.8
- // should be able to handle
- // this in the .cc file
- data(data), name(name), units(units) {};
-
+ DataEntry (const dVector *data, const String name, const String units);
+
/**
* Pointer to the data vector.
*/