diff options
author | Vlad Voicu <vladv@rosedu.org> | 2012-03-02 10:01:11 (GMT) |
---|---|---|
committer | Kevin Smith <git@kismith.co.uk> | 2012-03-09 15:04:05 (GMT) |
commit | 1c8cd160b79b6bbcec72042bdb104ba530508a93 (patch) | |
tree | cff302b81e74c557fbc9e30fd43144d981b613d0 /3rdParty/Boost/src/boost/fusion/container/vector/vector_iterator.hpp | |
parent | 2944711aefec9a9dd66052440bc4f921910dd780 (diff) | |
download | swift-contrib-1c8cd160b79b6bbcec72042bdb104ba530508a93.zip swift-contrib-1c8cd160b79b6bbcec72042bdb104ba530508a93.tar.bz2 |
Added spirit to bundled boost
Diffstat (limited to '3rdParty/Boost/src/boost/fusion/container/vector/vector_iterator.hpp')
-rw-r--r-- | 3rdParty/Boost/src/boost/fusion/container/vector/vector_iterator.hpp | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/3rdParty/Boost/src/boost/fusion/container/vector/vector_iterator.hpp b/3rdParty/Boost/src/boost/fusion/container/vector/vector_iterator.hpp new file mode 100644 index 0000000..8faa13a --- /dev/null +++ b/3rdParty/Boost/src/boost/fusion/container/vector/vector_iterator.hpp @@ -0,0 +1,50 @@ +/*============================================================================= + 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& in_vec) + : vec(in_vec) {} + Vector& vec; + + private: + // silence MSVC warning C4512: assignment operator could not be generated + vector_iterator& operator= (vector_iterator const&); + }; +}} + +#endif + |