From 0f11e531ac6de1a15c3684e62131d8c58c35ad4e Mon Sep 17 00:00:00 2001 From: Joel de Guzman Date: Sat, 6 Oct 2007 14:10:30 +0000 Subject: [PATCH] fix for incomplete type is not allowed when tuple is forward declared. fixed the other as_xxx files as well. [SVN r39724] --- .../adapted/boost_tuple/boost_tuple_iterator.hpp | 1 + .../boost/fusion/sequence/conversion/detail/as_map.hpp | 10 +++++----- .../boost/fusion/sequence/conversion/detail/as_set.hpp | 10 +++++----- .../fusion/sequence/conversion/detail/as_vector.hpp | 10 +++++----- 4 files changed, 16 insertions(+), 15 deletions(-) diff --git a/include/boost/fusion/sequence/adapted/boost_tuple/boost_tuple_iterator.hpp b/include/boost/fusion/sequence/adapted/boost_tuple/boost_tuple_iterator.hpp index 8c83e465..fca135e5 100644 --- a/include/boost/fusion/sequence/adapted/boost_tuple/boost_tuple_iterator.hpp +++ b/include/boost/fusion/sequence/adapted/boost_tuple/boost_tuple_iterator.hpp @@ -13,6 +13,7 @@ #include #include #include +#include #include namespace boost { namespace fusion diff --git a/include/boost/fusion/sequence/conversion/detail/as_map.hpp b/include/boost/fusion/sequence/conversion/detail/as_map.hpp index abfada36..d163311c 100644 --- a/include/boost/fusion/sequence/conversion/detail/as_map.hpp +++ b/include/boost/fusion/sequence/conversion/detail/as_map.hpp @@ -1,7 +1,7 @@ /*============================================================================= Copyright (c) 2001-2006 Joel de Guzman - Distributed under the Boost Software License, Version 1.0. (See accompanying + 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) ==============================================================================*/ #ifndef BOOST_PP_IS_ITERATING @@ -15,7 +15,7 @@ #include #include #include -#include +#include #include #include #include @@ -24,7 +24,7 @@ namespace boost { namespace fusion { namespace detail { template struct as_map; - + template <> struct as_map<0> { @@ -33,7 +33,7 @@ namespace boost { namespace fusion { namespace detail { typedef map<> type; }; - + template static typename apply::type call(Iterator) @@ -84,7 +84,7 @@ namespace boost { namespace fusion { namespace detail BOOST_PP_REPEAT(N, BOOST_FUSION_VALUE_OF_ITERATOR, _) typedef map type; }; - + template static typename apply::type call(Iterator const& i0) diff --git a/include/boost/fusion/sequence/conversion/detail/as_set.hpp b/include/boost/fusion/sequence/conversion/detail/as_set.hpp index 717d21ae..bd21f3c0 100644 --- a/include/boost/fusion/sequence/conversion/detail/as_set.hpp +++ b/include/boost/fusion/sequence/conversion/detail/as_set.hpp @@ -1,7 +1,7 @@ /*============================================================================= Copyright (c) 2001-2006 Joel de Guzman - Distributed under the Boost Software License, Version 1.0. (See accompanying + 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) ==============================================================================*/ #ifndef BOOST_PP_IS_ITERATING @@ -15,7 +15,7 @@ #include #include #include -#include +#include #include #include #include @@ -24,7 +24,7 @@ namespace boost { namespace fusion { namespace detail { template struct as_set; - + template <> struct as_set<0> { @@ -33,7 +33,7 @@ namespace boost { namespace fusion { namespace detail { typedef set<> type; }; - + template static typename apply::type call(Iterator) @@ -84,7 +84,7 @@ namespace boost { namespace fusion { namespace detail BOOST_PP_REPEAT(N, BOOST_FUSION_VALUE_OF_ITERATOR, _) typedef set type; }; - + template static typename apply::type call(Iterator const& i0) diff --git a/include/boost/fusion/sequence/conversion/detail/as_vector.hpp b/include/boost/fusion/sequence/conversion/detail/as_vector.hpp index 493b42fe..ffd79df0 100644 --- a/include/boost/fusion/sequence/conversion/detail/as_vector.hpp +++ b/include/boost/fusion/sequence/conversion/detail/as_vector.hpp @@ -1,7 +1,7 @@ /*============================================================================= Copyright (c) 2001-2006 Joel de Guzman - Distributed under the Boost Software License, Version 1.0. (See accompanying + 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) ==============================================================================*/ #ifndef BOOST_PP_IS_ITERATING @@ -15,7 +15,7 @@ #include #include #include -#include +#include #include #include #include @@ -24,7 +24,7 @@ namespace boost { namespace fusion { namespace detail { template struct as_vector; - + template <> struct as_vector<0> { @@ -33,7 +33,7 @@ namespace boost { namespace fusion { namespace detail { typedef vector<> type; }; - + template static typename apply::type call(Iterator) @@ -84,7 +84,7 @@ namespace boost { namespace fusion { namespace detail BOOST_PP_REPEAT(N, BOOST_FUSION_VALUE_OF_ITERATOR, _) typedef vector type; }; - + template static typename apply::type call(Iterator const& i0)