Index: third_party/boost/boost/fusion/container/vector/vector_iterator.hpp |
diff --git a/third_party/boost/boost/fusion/container/vector/vector_iterator.hpp b/third_party/boost/boost/fusion/container/vector/vector_iterator.hpp |
new file mode 100644 |
index 0000000000000000000000000000000000000000..9feeb5209708aef8e34840a6719240af492693af |
--- /dev/null |
+++ b/third_party/boost/boost/fusion/container/vector/vector_iterator.hpp |
@@ -0,0 +1,46 @@ |
+/*============================================================================= |
+ Copyright (c) 2001-2006 Joel de Guzman |
+ |
+ Distributed under the Boost Software License, Version 1.0. (See accompanying |
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) |
+==============================================================================*/ |
+#if !defined(FUSION_VECTOR_ITERATOR_05042005_0635) |
+#define FUSION_VECTOR_ITERATOR_05042005_0635 |
+ |
+#include <boost/fusion/support/iterator_base.hpp> |
+#include <boost/fusion/container/vector/detail/deref_impl.hpp> |
+#include <boost/fusion/container/vector/detail/value_of_impl.hpp> |
+#include <boost/fusion/container/vector/detail/next_impl.hpp> |
+#include <boost/fusion/container/vector/detail/prior_impl.hpp> |
+#include <boost/fusion/container/vector/detail/equal_to_impl.hpp> |
+#include <boost/fusion/container/vector/detail/distance_impl.hpp> |
+#include <boost/fusion/container/vector/detail/advance_impl.hpp> |
+#include <boost/type_traits/add_const.hpp> |
+#include <boost/mpl/int.hpp> |
+ |
+namespace boost { namespace fusion |
+{ |
+ struct vector_iterator_tag; |
+ struct random_access_traversal_tag; |
+ |
+ template <typename Vector, int N> |
+ struct vector_iterator_identity; |
+ |
+ template <typename Vector, int N> |
+ struct vector_iterator : iterator_base<vector_iterator<Vector, N> > |
+ { |
+ typedef mpl::int_<N> index; |
+ typedef Vector vector; |
+ typedef vector_iterator_tag fusion_tag; |
+ typedef random_access_traversal_tag category; |
+ typedef vector_iterator_identity< |
+ typename add_const<Vector>::type, N> identity; |
+ |
+ vector_iterator(Vector& vec) |
+ : vec(vec) {} |
+ Vector& vec; |
+ }; |
+}} |
+ |
+#endif |
+ |