Made iterator-types entirely STL compliant by fully specifying the iterator_traits attributes.

git-svn-id: http://www.openmesh.org/svnrepo/OpenMesh/trunk@251 fdac6126-5c0c-442c-9429-916003d36597
This commit is contained in:
Mike Kremer
2009-12-07 13:14:16 +00:00
parent 2e70d5eefb
commit c88c2f9cff

View File

@@ -97,11 +97,15 @@ public:
typedef typename Mesh::VertexHandle value_handle; typedef typename Mesh::VertexHandle value_handle;
#if 0 #if 0
typedef std::bidirectional_iterator_tag iterator_category;
typedef ptrdiff_t difference_type;
typedef const value_type& reference; typedef const value_type& reference;
typedef const value_type* pointer; typedef const value_type* pointer;
typedef const Mesh* mesh_ptr; typedef const Mesh* mesh_ptr;
typedef const Mesh& mesh_ref; typedef const Mesh& mesh_ref;
#else #else
typedef std::bidirectional_iterator_tag iterator_category;
typedef ptrdiff_t difference_type;
typedef value_type& reference; typedef value_type& reference;
typedef value_type* pointer; typedef value_type* pointer;
typedef Mesh* mesh_ptr; typedef Mesh* mesh_ptr;
@@ -109,8 +113,6 @@ public:
#endif #endif
/// Default constructor. /// Default constructor.
VertexIterT() VertexIterT()
: mesh_(0), skip_bits_(0) : mesh_(0), skip_bits_(0)
@@ -259,11 +261,15 @@ public:
typedef typename Mesh::VertexHandle value_handle; typedef typename Mesh::VertexHandle value_handle;
#if 1 #if 1
typedef std::bidirectional_iterator_tag iterator_category;
typedef ptrdiff_t difference_type;
typedef const value_type& reference; typedef const value_type& reference;
typedef const value_type* pointer; typedef const value_type* pointer;
typedef const Mesh* mesh_ptr; typedef const Mesh* mesh_ptr;
typedef const Mesh& mesh_ref; typedef const Mesh& mesh_ref;
#else #else
typedef std::bidirectional_iterator_tag iterator_category;
typedef ptrdiff_t difference_type;
typedef value_type& reference; typedef value_type& reference;
typedef value_type* pointer; typedef value_type* pointer;
typedef Mesh* mesh_ptr; typedef Mesh* mesh_ptr;
@@ -421,11 +427,15 @@ public:
typedef typename Mesh::HalfedgeHandle value_handle; typedef typename Mesh::HalfedgeHandle value_handle;
#if 0 #if 0
typedef std::bidirectional_iterator_tag iterator_category;
typedef ptrdiff_t difference_type;
typedef const value_type& reference; typedef const value_type& reference;
typedef const value_type* pointer; typedef const value_type* pointer;
typedef const Mesh* mesh_ptr; typedef const Mesh* mesh_ptr;
typedef const Mesh& mesh_ref; typedef const Mesh& mesh_ref;
#else #else
typedef std::bidirectional_iterator_tag iterator_category;
typedef ptrdiff_t difference_type;
typedef value_type& reference; typedef value_type& reference;
typedef value_type* pointer; typedef value_type* pointer;
typedef Mesh* mesh_ptr; typedef Mesh* mesh_ptr;
@@ -583,11 +593,15 @@ public:
typedef typename Mesh::HalfedgeHandle value_handle; typedef typename Mesh::HalfedgeHandle value_handle;
#if 1 #if 1
typedef std::bidirectional_iterator_tag iterator_category;
typedef ptrdiff_t difference_type;
typedef const value_type& reference; typedef const value_type& reference;
typedef const value_type* pointer; typedef const value_type* pointer;
typedef const Mesh* mesh_ptr; typedef const Mesh* mesh_ptr;
typedef const Mesh& mesh_ref; typedef const Mesh& mesh_ref;
#else #else
typedef std::bidirectional_iterator_tag iterator_category;
typedef ptrdiff_t difference_type;
typedef value_type& reference; typedef value_type& reference;
typedef value_type* pointer; typedef value_type* pointer;
typedef Mesh* mesh_ptr; typedef Mesh* mesh_ptr;
@@ -745,11 +759,15 @@ public:
typedef typename Mesh::EdgeHandle value_handle; typedef typename Mesh::EdgeHandle value_handle;
#if 0 #if 0
typedef std::bidirectional_iterator_tag iterator_category;
typedef ptrdiff_t difference_type;
typedef const value_type& reference; typedef const value_type& reference;
typedef const value_type* pointer; typedef const value_type* pointer;
typedef const Mesh* mesh_ptr; typedef const Mesh* mesh_ptr;
typedef const Mesh& mesh_ref; typedef const Mesh& mesh_ref;
#else #else
typedef std::bidirectional_iterator_tag iterator_category;
typedef ptrdiff_t difference_type;
typedef value_type& reference; typedef value_type& reference;
typedef value_type* pointer; typedef value_type* pointer;
typedef Mesh* mesh_ptr; typedef Mesh* mesh_ptr;
@@ -907,11 +925,15 @@ public:
typedef typename Mesh::EdgeHandle value_handle; typedef typename Mesh::EdgeHandle value_handle;
#if 1 #if 1
typedef std::bidirectional_iterator_tag iterator_category;
typedef ptrdiff_t difference_type;
typedef const value_type& reference; typedef const value_type& reference;
typedef const value_type* pointer; typedef const value_type* pointer;
typedef const Mesh* mesh_ptr; typedef const Mesh* mesh_ptr;
typedef const Mesh& mesh_ref; typedef const Mesh& mesh_ref;
#else #else
typedef std::bidirectional_iterator_tag iterator_category;
typedef ptrdiff_t difference_type;
typedef value_type& reference; typedef value_type& reference;
typedef value_type* pointer; typedef value_type* pointer;
typedef Mesh* mesh_ptr; typedef Mesh* mesh_ptr;
@@ -1069,11 +1091,15 @@ public:
typedef typename Mesh::FaceHandle value_handle; typedef typename Mesh::FaceHandle value_handle;
#if 0 #if 0
typedef std::bidirectional_iterator_tag iterator_category;
typedef ptrdiff_t difference_type;
typedef const value_type& reference; typedef const value_type& reference;
typedef const value_type* pointer; typedef const value_type* pointer;
typedef const Mesh* mesh_ptr; typedef const Mesh* mesh_ptr;
typedef const Mesh& mesh_ref; typedef const Mesh& mesh_ref;
#else #else
typedef std::bidirectional_iterator_tag iterator_category;
typedef ptrdiff_t difference_type;
typedef value_type& reference; typedef value_type& reference;
typedef value_type* pointer; typedef value_type* pointer;
typedef Mesh* mesh_ptr; typedef Mesh* mesh_ptr;
@@ -1231,11 +1257,15 @@ public:
typedef typename Mesh::FaceHandle value_handle; typedef typename Mesh::FaceHandle value_handle;
#if 1 #if 1
typedef std::bidirectional_iterator_tag iterator_category;
typedef ptrdiff_t difference_type;
typedef const value_type& reference; typedef const value_type& reference;
typedef const value_type* pointer; typedef const value_type* pointer;
typedef const Mesh* mesh_ptr; typedef const Mesh* mesh_ptr;
typedef const Mesh& mesh_ref; typedef const Mesh& mesh_ref;
#else #else
typedef std::bidirectional_iterator_tag iterator_category;
typedef ptrdiff_t difference_type;
typedef value_type& reference; typedef value_type& reference;
typedef value_type* pointer; typedef value_type* pointer;
typedef Mesh* mesh_ptr; typedef Mesh* mesh_ptr;