#include <boost/iterator/iterator_categories.hpp>
#include <boost/operators.hpp>
+#include <iterator>
+#include <cstddef>
+
struct new_random_access
: std::random_access_iterator_tag
, boost::random_access_traversal_tag
{};
struct new_iterator
- : public boost::iterator< new_random_access, int >
+ : public std::iterator< new_random_access, int >
{
int& operator*() const { return *m_x; }
new_iterator& operator++() { return *this; }
new_iterator operator+(std::ptrdiff_t, new_iterator x) { return x; }
struct old_iterator
- : public boost::iterator<std::random_access_iterator_tag, int>
+ : public std::iterator<std::random_access_iterator_tag, int>
{
int& operator*() const { return *m_x; }
old_iterator& operator++() { return *this; }