@@ -314,13 +314,15 @@ class GenericCirculatorT : protected GenericCirculatorBaseT<Mesh> {
|
|||||||
|
|
||||||
/// Standard dereferencing operator.
|
/// Standard dereferencing operator.
|
||||||
value_type operator*() const {
|
value_type operator*() const {
|
||||||
|
// We can't use this due to a GCC6 compiler bug
|
||||||
|
const GenericCirculatorBaseT<Mesh>* self = this;
|
||||||
#ifndef NDEBUG
|
#ifndef NDEBUG
|
||||||
assert(this->heh_.is_valid());
|
assert(this->heh_.is_valid());
|
||||||
value_type res = (this->*Handle2Value)();
|
value_type res = (self->*Handle2Value)();
|
||||||
assert(res.is_valid());
|
assert(res.is_valid());
|
||||||
return res;
|
return res;
|
||||||
#else
|
#else
|
||||||
return (this->*Handle2Value)();
|
return (self->*Handle2Value)();
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -498,13 +500,15 @@ class GenericCirculatorT_DEPRECATED : protected GenericCirculatorBaseT<Mesh> {
|
|||||||
|
|
||||||
/// Standard dereferencing operator.
|
/// Standard dereferencing operator.
|
||||||
value_type operator*() const {
|
value_type operator*() const {
|
||||||
|
// We can't use this due to a GCC6 compiler bug
|
||||||
|
const GenericCirculatorBaseT<Mesh>* self = this;
|
||||||
#ifndef NDEBUG
|
#ifndef NDEBUG
|
||||||
assert(this->heh_.is_valid());
|
assert(this->heh_.is_valid());
|
||||||
value_type res = (this->*Handle2Value)();
|
value_type res = (self->*Handle2Value)();
|
||||||
assert(res.is_valid());
|
assert(res.is_valid());
|
||||||
return res;
|
return res;
|
||||||
#else
|
#else
|
||||||
return (this->*Handle2Value)();
|
return (self->*Handle2Value)();
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user