diff --git a/coding/dd_vector.hpp b/coding/dd_vector.hpp index 1dee003998..ea578a8f04 100644 --- a/coding/dd_vector.hpp +++ b/coding/dd_vector.hpp @@ -1,11 +1,13 @@ #pragma once #include "reader.hpp" #include "varint.hpp" + #include "../base/assert.hpp" #include "../base/base.hpp" #include "../base/src_point.hpp" + #include "../std/type_traits.hpp" -#include +#include "../std/iterator_facade.hpp" template < @@ -40,12 +42,10 @@ public: return result; } - class const_iterator : public boost::iterator_facade< + class const_iterator : public iterator_facade< const_iterator, value_type const, - boost::random_access_traversal_tag, - value_type const &, - difference_type> + random_access_traversal_tag> { public: const_iterator() : m_pReader(NULL), m_I(0), m_bValueRead(false) diff --git a/std/iterator_facade.hpp b/std/iterator_facade.hpp new file mode 100644 index 0000000000..232956644e --- /dev/null +++ b/std/iterator_facade.hpp @@ -0,0 +1,14 @@ +#pragma once +#include "common_defines.hpp" + +#ifdef new +#undef new +#endif + +#include +using boost::iterator_facade; +using boost::random_access_traversal_tag; + +#ifdef DEBUG_NEW +#define new DEBUG_NEW +#endif