diff --git a/discregrid/include/Discregrid/mesh/entity_iterators.hpp b/discregrid/include/Discregrid/mesh/entity_iterators.hpp index 3c736a8..529027f 100755 --- a/discregrid/include/Discregrid/mesh/entity_iterators.hpp +++ b/discregrid/include/Discregrid/mesh/entity_iterators.hpp @@ -12,10 +12,14 @@ namespace Discregrid class TriangleMesh; class FaceContainer; -class FaceIterator : public - std::iterator> +class FaceIterator { public: + using iterator_category = std::random_access_iterator_tag; + using value_type = std::array; + using difference_type = ptrdiff_t; + using pointer = value_type*; + using reference = value_type&; typedef FaceIterator _Mytype; @@ -65,11 +69,15 @@ class FaceIterator : public unsigned int m_index; TriangleMesh* m_mesh; }; -class FaceConstIterator : public - std::iterator const> +class FaceConstIterator { public: + using iterator_category = std::random_access_iterator_tag; + using value_type = std::array const; + using difference_type = ptrdiff_t; + using pointer = value_type*; + using reference = value_type&; typedef FaceConstIterator _Mytype; @@ -121,10 +129,15 @@ class FaceConstIterator : public }; class IncidentFaceContainer; -class IncidentFaceIterator : public std::iterator +class IncidentFaceIterator { public: + using iterator_category = std::forward_iterator_tag; + using value_type = Halfedge; + using difference_type = ptrdiff_t; + using pointer = value_type*; + using reference = value_type&; typedef IncidentFaceIterator _Mytype; @@ -152,10 +165,15 @@ class IncidentFaceIterator : public std::iterator +class VertexIterator { public: + using iterator_category = std::random_access_iterator_tag; + using value_type = Eigen::Vector3d; + using difference_type = ptrdiff_t; + using pointer = value_type*; + using reference = value_type&; typedef VertexIterator _Mytype; @@ -207,11 +225,15 @@ class VertexIterator : public std::iterator +class VertexConstIterator { public: + using iterator_category = std::random_access_iterator_tag; + using value_type = Eigen::Vector3d const; + using difference_type = ptrdiff_t; + using pointer = value_type*; + using reference = value_type&; typedef VertexConstIterator _Mytype;