]> git.proxmox.com Git - ceph.git/blobdiff - ceph/src/boost/libs/iterator/test/is_readable_iterator.cpp
update sources to ceph Nautilus 14.2.1
[ceph.git] / ceph / src / boost / libs / iterator / test / is_readable_iterator.cpp
index ee58089d320ab7a3f351ec6e525b115d6d6f4b6f..c6636977e3d787b8547e9e2a6f722209d63e9208 100644 (file)
@@ -5,10 +5,10 @@
 #include <deque>
 #include <iterator>
 #include <iostream>
+#include <cstddef> // std::ptrdiff_t
 #include <boost/static_assert.hpp>
 #include <boost/noncopyable.hpp>
 #include <boost/iterator/is_readable_iterator.hpp>
-#include <boost/iterator.hpp>
 
 // Last, for BOOST_NO_LVALUE_RETURN_DETECTION
 #include <boost/iterator/detail/config_def.hpp>
@@ -20,26 +20,35 @@ struct v
 };
 
 
-struct value_iterator : boost::iterator<std::input_iterator_tag,v>
+struct value_iterator
 {
+    typedef std::input_iterator_tag iterator_category;
+    typedef v value_type;
+    typedef std::ptrdiff_t difference_type;
+    typedef v* pointer;
+    typedef v& reference;
+
     v operator*() const;
 };
 
-struct noncopyable_iterator : boost::iterator<std::forward_iterator_tag,boost::noncopyable>
+struct noncopyable_iterator
 {
+    typedef std::forward_iterator_tag iterator_category;
+    typedef boost::noncopyable value_type;
+    typedef std::ptrdiff_t difference_type;
+    typedef boost::noncopyable* pointer;
+    typedef boost::noncopyable& reference;
+       
     boost::noncopyable const& operator*() const;
 };
 
-struct proxy_iterator : boost::iterator<std::output_iterator_tag,v>
+struct proxy_iterator
 {
-#if BOOST_WORKAROUND(__GNUC__, == 2)
-    typedef boost::iterator<std::input_iterator_tag,v> base;
-    typedef base::iterator_category iterator_category;
-    typedef base::value_type value_type;
-    typedef base::difference_type difference_type;
-    typedef base::pointer pointer;
-    typedef base::reference reference;
-#endif 
+    typedef std::output_iterator_tag iterator_category;
+    typedef v value_type;
+    typedef std::ptrdiff_t difference_type;
+    typedef v* pointer;
+    typedef v& reference;
     
     struct proxy
     {
@@ -50,16 +59,13 @@ struct proxy_iterator : boost::iterator<std::output_iterator_tag,v>
     proxy operator*() const;
 };
 
-struct proxy_iterator2 : boost::iterator<std::output_iterator_tag,v>
+struct proxy_iterator2
 {
-#if BOOST_WORKAROUND(__GNUC__, == 2)
-    typedef boost::iterator<std::input_iterator_tag,v> base;
-    typedef base::iterator_category iterator_category;
-    typedef base::value_type value_type;
-    typedef base::difference_type difference_type;
-    typedef base::pointer pointer;
-    typedef base::reference reference;
-#endif 
+    typedef std::output_iterator_tag iterator_category;
+    typedef v value_type;
+    typedef std::ptrdiff_t difference_type;
+    typedef v* pointer;
+    typedef v& reference;
     
     struct proxy
     {