* the same entry in the same container.
*/
bool
- operator==(const DerivedIterator &) const;
+ operator==(const LinearIndexIterator &) const;
/**
* Inverse of operator==().
template <class DerivedIterator, class AccessorType>
inline bool
-LinearIndexIterator<DerivedIterator, AccessorType>::
-operator==(const DerivedIterator &other) const
+LinearIndexIterator<DerivedIterator, AccessorType>::operator==(
+ const LinearIndexIterator<DerivedIterator, AccessorType> &other) const
{
- const auto &other_2 = static_cast<decltype(*this) &>(other);
- return accessor.container == other_2.accessor.container &&
- accessor.linear_index == other_2.accessor.linear_index;
+ return accessor.container == other.accessor.container &&
+ accessor.linear_index == other.accessor.linear_index;
}
/**
* Compare for equality.
*/
- bool
- operator==(const TriaRawIterator &) const;
+ template <typename OtherAccessor = Accessor>
+ typename std::enable_if<std::is_convertible<OtherAccessor, Accessor>::value,
+ bool>::type
+ operator==(const TriaRawIterator<OtherAccessor> &) const;
/**
* Compare for inequality.
template <typename Accessor>
-inline bool
-TriaRawIterator<Accessor>::
-operator==(const TriaRawIterator<Accessor> &other) const
+template <typename OtherAccessor>
+inline
+ typename std::enable_if<std::is_convertible<OtherAccessor, Accessor>::value,
+ bool>::type
+ TriaRawIterator<Accessor>::
+ operator==(const TriaRawIterator<OtherAccessor> &other) const
{
return accessor == other.accessor;
}
this->set_mesh_smoothing(
static_cast<
typename dealii::Triangulation<dim, spacedim>::MeshSmoothing>(
- dealii::Triangulation<dim>::none |
+ dealii::Triangulation<dim, spacedim>::none |
Triangulation<dim, spacedim>::limit_level_difference_at_vertices));
else
this->set_mesh_smoothing(
static_cast<
typename dealii::Triangulation<dim, spacedim>::MeshSmoothing>(
- dealii::Triangulation<dim>::none));
+ dealii::Triangulation<dim, spacedim>::none));
this->set_mesh_smoothing(construction_data.smoothing);