phase4: refactoring for v2.1

[SVN r40213]
This commit is contained in:
Joel de Guzman
2007-10-20 13:13:58 +00:00
parent e894481f5b
commit c35180f4f9
43 changed files with 400 additions and 200 deletions

View File

@ -12,7 +12,7 @@
#include <boost/fusion/view/zip_view.hpp> #include <boost/fusion/view/zip_view.hpp>
#include <boost/fusion/adapted/mpl.hpp> #include <boost/fusion/adapted/mpl.hpp>
#include <boost/fusion/container/vector.hpp> #include <boost/fusion/container/vector.hpp>
#include <boost/fusion/sequence/conversion/as_vector.hpp> #include <boost/fusion/container/vector/convert.hpp>
#include <boost/type_traits/add_reference.hpp> #include <boost/type_traits/add_reference.hpp>
#include <boost/preprocessor/repetition/enum.hpp> #include <boost/preprocessor/repetition/enum.hpp>
#include <boost/preprocessor/repetition/enum_params.hpp> #include <boost/preprocessor/repetition/enum_params.hpp>

View File

@ -2,13 +2,14 @@
Copyright (c) 2001-2006 Joel de Guzman Copyright (c) 2001-2006 Joel de Guzman
Copyright (c) 2005-2006 Dan Marsden Copyright (c) 2005-2006 Dan Marsden
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) file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
==============================================================================*/ ==============================================================================*/
#if !defined(BOOST_FUSION_SEQUENCE_CONTAINER_DEQUE_24112006_2036) #if !defined(BOOST_FUSION_SEQUENCE_CONTAINER_DEQUE_24112006_2036)
#define BOOST_FUSION_SEQUENCE_CONTAINER_DEQUE_24112006_2036 #define BOOST_FUSION_SEQUENCE_CONTAINER_DEQUE_24112006_2036
#include <boost/fusion/container/deque/deque.hpp> #include <boost/fusion/container/deque/deque.hpp>
#include <boost/fusion/container/deque/convert.hpp>
#endif #endif

View File

@ -2,18 +2,19 @@
Copyright (c) 2001-2006 Joel de Guzman Copyright (c) 2001-2006 Joel de Guzman
Copyright (c) 2006 Dan Marsden Copyright (c) 2006 Dan Marsden
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) file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
==============================================================================*/ ==============================================================================*/
#if !defined(FUSION_AS_DEQUE_20061213_2207) #if !defined(FUSION_CONVERT_20061213_2207)
#define FUSION_AS_DEQUE_20061213_2207 #define FUSION_CONVERT_20061213_2207
#include <boost/fusion/sequence/conversion/detail/as_deque.hpp> #include <boost/fusion/container/deque/detail/as_deque.hpp>
#include <boost/fusion/container/deque/detail/convert_impl.hpp>
#include <boost/fusion/container/deque/deque.hpp> #include <boost/fusion/container/deque/deque.hpp>
#include <boost/fusion/sequence/intrinsic/begin.hpp> #include <boost/fusion/sequence/intrinsic/begin.hpp>
#include <boost/fusion/sequence/intrinsic/size.hpp> #include <boost/fusion/sequence/intrinsic/size.hpp>
namespace boost { namespace fusion namespace boost { namespace fusion
{ {
namespace result_of namespace result_of
{ {

View File

@ -55,7 +55,7 @@ namespace boost { namespace fusion { namespace detail
typedef typename fusion::result_of::value_of<BOOST_PP_CAT(I, n)>::type \ typedef typename fusion::result_of::value_of<BOOST_PP_CAT(I, n)>::type \
BOOST_PP_CAT(T, n); BOOST_PP_CAT(T, n);
#define BOOST_PP_FILENAME_1 <boost/fusion/sequence/conversion/detail/as_deque.hpp> #define BOOST_PP_FILENAME_1 <boost/fusion/container/deque/detail/as_deque.hpp>
#define BOOST_PP_ITERATION_LIMITS (1, FUSION_MAX_DEQUE_SIZE) #define BOOST_PP_ITERATION_LIMITS (1, FUSION_MAX_DEQUE_SIZE)
#include BOOST_PP_ITERATE() #include BOOST_PP_ITERATE()

View File

@ -0,0 +1,45 @@
/*=============================================================================
Copyright (c) 2001-2006 Joel de Guzman
Copyright (c) 2005-2006 Dan Marsden
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_CONVERT_IMPL_20061213_2207)
#define FUSION_CONVERT_IMPL_20061213_2207
#include <boost/fusion/container/deque/detail/as_deque.hpp>
#include <boost/fusion/container/deque/deque.hpp>
#include <boost/fusion/sequence/intrinsic/begin.hpp>
#include <boost/fusion/sequence/intrinsic/size.hpp>
namespace boost { namespace fusion
{
struct deque_tag;
namespace extension
{
template <typename T>
struct convert_impl;
template <>
struct convert_impl<deque_tag>
{
template <typename Sequence>
struct apply
{
typedef typename detail::as_deque<result_of::size<Sequence>::value> gen;
typedef typename gen::
template apply<typename result_of::begin<Sequence>::type>::type
type;
static type call(Sequence& seq)
{
return gen::call(fusion::begin(seq));
}
};
};
}
}}
#endif

View File

@ -1,7 +1,7 @@
/*============================================================================= /*=============================================================================
Copyright (c) 2001-2006 Joel de Guzman 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) file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
==============================================================================*/ ==============================================================================*/
#if !defined(FUSION_SEQUENCE_CLASS_LIST_10022005_0605) #if !defined(FUSION_SEQUENCE_CLASS_LIST_10022005_0605)
@ -12,5 +12,6 @@
#include <boost/fusion/container/list/limits.hpp> #include <boost/fusion/container/list/limits.hpp>
#include <boost/fusion/container/list/list.hpp> #include <boost/fusion/container/list/list.hpp>
#include <boost/fusion/container/list/list_fwd.hpp> #include <boost/fusion/container/list/list_fwd.hpp>
#include <boost/fusion/container/list/convert.hpp>
#endif #endif

View File

@ -1,26 +1,27 @@
/*============================================================================= /*=============================================================================
Copyright (c) 2001-2006 Joel de Guzman 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) file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
==============================================================================*/ ==============================================================================*/
#if !defined(FUSION_AS_LIST_09232005_1215) #if !defined(FUSION_CONVERT_09232005_1215)
#define FUSION_AS_LIST_09232005_1215 #define FUSION_CONVERT_09232005_1215
#include <boost/fusion/container/list/cons.hpp> #include <boost/fusion/container/list/cons.hpp>
#include <boost/fusion/container/list/detail/build_cons.hpp>
#include <boost/fusion/container/list/detail/convert_impl.hpp>
#include <boost/fusion/sequence/intrinsic/empty.hpp> #include <boost/fusion/sequence/intrinsic/empty.hpp>
#include <boost/fusion/sequence/intrinsic/begin.hpp> #include <boost/fusion/sequence/intrinsic/begin.hpp>
#include <boost/fusion/sequence/intrinsic/end.hpp> #include <boost/fusion/sequence/intrinsic/end.hpp>
#include <boost/fusion/sequence/conversion/detail/build_cons.hpp>
namespace boost { namespace fusion namespace boost { namespace fusion
{ {
namespace result_of namespace result_of
{ {
template <typename Sequence> template <typename Sequence>
struct as_list struct as_list
{ {
typedef typename typedef typename
detail::build_cons< detail::build_cons<
typename result_of::begin<Sequence>::type typename result_of::begin<Sequence>::type
, typename result_of::end<Sequence>::type , typename result_of::end<Sequence>::type

View File

@ -0,0 +1,51 @@
/*=============================================================================
Copyright (c) 2001-2006 Joel de Guzman
Copyright (c) 2005-2006 Dan Marsden
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_CONVERT_IMPL_09232005_1215)
#define FUSION_CONVERT_IMPL_09232005_1215
#include <boost/fusion/container/list/cons.hpp>
#include <boost/fusion/container/list/detail/build_cons.hpp>
#include <boost/fusion/sequence/intrinsic/empty.hpp>
#include <boost/fusion/sequence/intrinsic/begin.hpp>
#include <boost/fusion/sequence/intrinsic/end.hpp>
namespace boost { namespace fusion
{
struct cons_tag;
namespace extension
{
template <typename T>
struct convert_impl;
template <>
struct convert_impl<cons_tag>
{
template <typename Sequence>
struct apply
{
typedef typename
detail::build_cons<
typename result_of::begin<Sequence>::type
, typename result_of::end<Sequence>::type
>
build_cons;
typedef typename build_cons::type type;
static type
call(Sequence& seq)
{
return build_cons::call(fusion::begin(seq), fusion::end(seq));
}
};
};
}
}}
#endif

View File

@ -1,7 +1,7 @@
/*============================================================================= /*=============================================================================
Copyright (c) 2001-2006 Joel de Guzman 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) file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
==============================================================================*/ ==============================================================================*/
#if !defined(FUSION_SEQUENCE_CLASS_MAP_10022005_0606) #if !defined(FUSION_SEQUENCE_CLASS_MAP_10022005_0606)
@ -10,5 +10,6 @@
#include <boost/fusion/container/map/limits.hpp> #include <boost/fusion/container/map/limits.hpp>
#include <boost/fusion/container/map/map.hpp> #include <boost/fusion/container/map/map.hpp>
#include <boost/fusion/container/map/map_fwd.hpp> #include <boost/fusion/container/map/map_fwd.hpp>
#include <boost/fusion/container/map/convert.hpp>
#endif #endif

View File

@ -1,18 +1,19 @@
/*============================================================================= /*=============================================================================
Copyright (c) 2001-2006 Joel de Guzman 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) file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
==============================================================================*/ ==============================================================================*/
#if !defined(FUSION_AS_MAP_09232005_1340) #if !defined(FUSION_CONVERT_09232005_1340)
#define FUSION_AS_MAP_09232005_1340 #define FUSION_CONVERT_09232005_1340
#include <boost/fusion/sequence/conversion/detail/as_map.hpp> #include <boost/fusion/container/map/detail/as_map.hpp>
#include <boost/fusion/container/map/detail/convert_impl.hpp>
#include <boost/fusion/container/map/map.hpp> #include <boost/fusion/container/map/map.hpp>
#include <boost/fusion/sequence/intrinsic/begin.hpp> #include <boost/fusion/sequence/intrinsic/begin.hpp>
#include <boost/fusion/sequence/intrinsic/size.hpp> #include <boost/fusion/sequence/intrinsic/size.hpp>
namespace boost { namespace fusion namespace boost { namespace fusion
{ {
namespace result_of namespace result_of
{ {

View File

@ -54,7 +54,7 @@ namespace boost { namespace fusion { namespace detail
typedef typename fusion::result_of::value_of<BOOST_PP_CAT(I, n)>::type \ typedef typename fusion::result_of::value_of<BOOST_PP_CAT(I, n)>::type \
BOOST_PP_CAT(T, n); BOOST_PP_CAT(T, n);
#define BOOST_PP_FILENAME_1 <boost/fusion/sequence/conversion/detail/as_map.hpp> #define BOOST_PP_FILENAME_1 <boost/fusion/container/map/detail/as_map.hpp>
#define BOOST_PP_ITERATION_LIMITS (1, FUSION_MAX_MAP_SIZE) #define BOOST_PP_ITERATION_LIMITS (1, FUSION_MAX_MAP_SIZE)
#include BOOST_PP_ITERATE() #include BOOST_PP_ITERATE()

View File

@ -0,0 +1,45 @@
/*=============================================================================
Copyright (c) 2001-2006 Joel de Guzman
Copyright (c) 2005-2006 Dan Marsden
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_CONVERT_IMPL_09232005_1340)
#define FUSION_CONVERT_IMPL_09232005_1340
#include <boost/fusion/container/map/detail/as_map.hpp>
#include <boost/fusion/container/map/map.hpp>
#include <boost/fusion/sequence/intrinsic/begin.hpp>
#include <boost/fusion/sequence/intrinsic/size.hpp>
namespace boost { namespace fusion
{
struct map_tag;
namespace extension
{
template <typename T>
struct convert_impl;
template <>
struct convert_impl<map_tag>
{
template <typename Sequence>
struct apply
{
typedef typename detail::as_map<result_of::size<Sequence>::value> gen;
typedef typename gen::
template apply<typename result_of::begin<Sequence>::type>::type
type;
static type call(Sequence& seq)
{
return gen::call(fusion::begin(seq));
}
};
};
}
}}
#endif

View File

@ -1,7 +1,7 @@
/*============================================================================= /*=============================================================================
Copyright (c) 2001-2006 Joel de Guzman 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) file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
==============================================================================*/ ==============================================================================*/
#if !defined(FUSION_SEQUENCE_CLASS_SET_10022005_0607) #if !defined(FUSION_SEQUENCE_CLASS_SET_10022005_0607)
@ -10,5 +10,6 @@
#include <boost/fusion/container/set/limits.hpp> #include <boost/fusion/container/set/limits.hpp>
#include <boost/fusion/container/set/set.hpp> #include <boost/fusion/container/set/set.hpp>
#include <boost/fusion/container/set/set_fwd.hpp> #include <boost/fusion/container/set/set_fwd.hpp>
#include <boost/fusion/container/set/convert.hpp>
#endif #endif

View File

@ -1,18 +1,19 @@
/*============================================================================= /*=============================================================================
Copyright (c) 2001-2006 Joel de Guzman 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) file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
==============================================================================*/ ==============================================================================*/
#if !defined(FUSION_AS_SET_09232005_1341) #if !defined(FUSION_CONVERT_09232005_1341)
#define FUSION_AS_SET_09232005_1341 #define FUSION_CONVERT_09232005_1341
#include <boost/fusion/sequence/conversion/detail/as_set.hpp> #include <boost/fusion/container/set/detail/as_set.hpp>
#include <boost/fusion/container/set/detail/convert_impl.hpp>
#include <boost/fusion/container/set/set.hpp> #include <boost/fusion/container/set/set.hpp>
#include <boost/fusion/sequence/intrinsic/begin.hpp> #include <boost/fusion/sequence/intrinsic/begin.hpp>
#include <boost/fusion/sequence/intrinsic/size.hpp> #include <boost/fusion/sequence/intrinsic/size.hpp>
namespace boost { namespace fusion namespace boost { namespace fusion
{ {
namespace result_of namespace result_of
{ {

View File

@ -54,7 +54,7 @@ namespace boost { namespace fusion { namespace detail
typedef typename fusion::result_of::value_of<BOOST_PP_CAT(I, n)>::type \ typedef typename fusion::result_of::value_of<BOOST_PP_CAT(I, n)>::type \
BOOST_PP_CAT(T, n); BOOST_PP_CAT(T, n);
#define BOOST_PP_FILENAME_1 <boost/fusion/sequence/conversion/detail/as_set.hpp> #define BOOST_PP_FILENAME_1 <boost/fusion/container/set/detail/as_set.hpp>
#define BOOST_PP_ITERATION_LIMITS (1, FUSION_MAX_SET_SIZE) #define BOOST_PP_ITERATION_LIMITS (1, FUSION_MAX_SET_SIZE)
#include BOOST_PP_ITERATE() #include BOOST_PP_ITERATE()

View File

@ -0,0 +1,45 @@
/*=============================================================================
Copyright (c) 2001-2006 Joel de Guzman
Copyright (c) 2005-2006 Dan Marsden
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_CONVERT_IMPL_09232005_1341)
#define FUSION_CONVERT_IMPL_09232005_1341
#include <boost/fusion/container/set/detail/as_set.hpp>
#include <boost/fusion/container/set/set.hpp>
#include <boost/fusion/sequence/intrinsic/begin.hpp>
#include <boost/fusion/sequence/intrinsic/size.hpp>
namespace boost { namespace fusion
{
struct set_tag;
namespace extension
{
template <typename T>
struct convert_impl;
template <>
struct convert_impl<set_tag>
{
template <typename Sequence>
struct apply
{
typedef typename detail::as_set<result_of::size<Sequence>::value> gen;
typedef typename gen::
template apply<typename result_of::begin<Sequence>::type>::type
type;
static type call(Sequence& seq)
{
return gen::call(fusion::begin(seq));
}
};
};
}
}}
#endif

View File

@ -1,7 +1,7 @@
/*============================================================================= /*=============================================================================
Copyright (c) 2001-2006 Joel de Guzman 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) file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
==============================================================================*/ ==============================================================================*/
#if !defined(FUSION_SEQUENCE_CLASS_VECTOR_10022005_0602) #if !defined(FUSION_SEQUENCE_CLASS_VECTOR_10022005_0602)
@ -16,5 +16,6 @@
#include <boost/fusion/container/vector/vector.hpp> #include <boost/fusion/container/vector/vector.hpp>
#include <boost/fusion/container/vector/vector_fwd.hpp> #include <boost/fusion/container/vector/vector_fwd.hpp>
#include <boost/fusion/container/vector/vector_iterator.hpp> #include <boost/fusion/container/vector/vector_iterator.hpp>
#include <boost/fusion/container/vector/convert.hpp>
#endif #endif

View File

@ -1,18 +1,19 @@
/*============================================================================= /*=============================================================================
Copyright (c) 2001-2006 Joel de Guzman 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) file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
==============================================================================*/ ==============================================================================*/
#if !defined(FUSION_AS_VECTOR_09222005_1104) #if !defined(FUSION_CONVERT_09222005_1104)
#define FUSION_AS_VECTOR_09222005_1104 #define FUSION_CONVERT_09222005_1104
#include <boost/fusion/sequence/conversion/detail/as_vector.hpp> #include <boost/fusion/container/vector/detail/as_vector.hpp>
#include <boost/fusion/container/vector/detail/convert_impl.hpp>
#include <boost/fusion/container/vector/vector.hpp> #include <boost/fusion/container/vector/vector.hpp>
#include <boost/fusion/sequence/intrinsic/begin.hpp> #include <boost/fusion/sequence/intrinsic/begin.hpp>
#include <boost/fusion/sequence/intrinsic/size.hpp> #include <boost/fusion/sequence/intrinsic/size.hpp>
namespace boost { namespace fusion namespace boost { namespace fusion
{ {
namespace result_of namespace result_of
{ {

View File

@ -54,7 +54,7 @@ namespace boost { namespace fusion { namespace detail
typedef typename fusion::result_of::value_of<BOOST_PP_CAT(I, n)>::type \ typedef typename fusion::result_of::value_of<BOOST_PP_CAT(I, n)>::type \
BOOST_PP_CAT(T, n); BOOST_PP_CAT(T, n);
#define BOOST_PP_FILENAME_1 <boost/fusion/sequence/conversion/detail/as_vector.hpp> #define BOOST_PP_FILENAME_1 <boost/fusion/container/vector/detail/as_vector.hpp>
#define BOOST_PP_ITERATION_LIMITS (1, FUSION_MAX_VECTOR_SIZE) #define BOOST_PP_ITERATION_LIMITS (1, FUSION_MAX_VECTOR_SIZE)
#include BOOST_PP_ITERATE() #include BOOST_PP_ITERATE()

View File

@ -0,0 +1,45 @@
/*=============================================================================
Copyright (c) 2001-2006 Joel de Guzman
Copyright (c) 2005-2006 Dan Marsden
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_CONVERT_IMPL_09222005_1104)
#define FUSION_CONVERT_IMPL_09222005_1104
#include <boost/fusion/container/vector/detail/as_vector.hpp>
#include <boost/fusion/container/vector/vector.hpp>
#include <boost/fusion/sequence/intrinsic/begin.hpp>
#include <boost/fusion/sequence/intrinsic/size.hpp>
namespace boost { namespace fusion
{
struct vector_tag;
namespace extension
{
template <typename T>
struct convert_impl;
template <>
struct convert_impl<vector_tag>
{
template <typename Sequence>
struct apply
{
typedef typename detail::as_vector<result_of::size<Sequence>::value> gen;
typedef typename gen::
template apply<typename result_of::begin<Sequence>::type>::type
type;
static type call(Sequence& seq)
{
return gen::call(fusion::begin(seq));
}
};
};
}
}}
#endif

View File

@ -9,7 +9,7 @@
#include <boost/fusion/container/vector/vector_fwd.hpp> #include <boost/fusion/container/vector/vector_fwd.hpp>
#include <boost/fusion/container/vector/detail/vector_n_chooser.hpp> #include <boost/fusion/container/vector/detail/vector_n_chooser.hpp>
#include <boost/fusion/sequence/conversion/detail/as_vector.hpp> #include <boost/fusion/container/vector/detail/as_vector.hpp>
#include <boost/fusion/sequence/intrinsic/begin.hpp> #include <boost/fusion/sequence/intrinsic/begin.hpp>
#include <boost/mpl/at.hpp> #include <boost/mpl/at.hpp>
#include <boost/mpl/bool.hpp> #include <boost/mpl/bool.hpp>

View File

@ -23,7 +23,7 @@
#include <boost/fusion/sequence/intrinsic/value_at.hpp> #include <boost/fusion/sequence/intrinsic/value_at.hpp>
#include <boost/fusion/sequence/intrinsic/size.hpp> #include <boost/fusion/sequence/intrinsic/size.hpp>
#include <boost/fusion/container/vector/vector.hpp> #include <boost/fusion/container/vector/vector.hpp>
#include <boost/fusion/sequence/conversion/as_vector.hpp> #include <boost/fusion/container/vector/convert.hpp>
#include <boost/fusion/functional/adapter/limits.hpp> #include <boost/fusion/functional/adapter/limits.hpp>
#include <boost/fusion/functional/adapter/detail/access.hpp> #include <boost/fusion/functional/adapter/detail/access.hpp>

View File

@ -7,6 +7,6 @@
#if !defined(FUSION_INCLUDE_AS_VECTOR) #if !defined(FUSION_INCLUDE_AS_VECTOR)
#define FUSION_INCLUDE_AS_VECTOR #define FUSION_INCLUDE_AS_VECTOR
#include <boost/fusion/sequence/conversion/as_vector.hpp> #include <boost/fusion/container/vector/convert.hpp>
#endif #endif

View File

@ -1,80 +0,0 @@
/*=============================================================================
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_AS_10022005_1442)
#define FUSION_AS_10022005_1442
namespace boost { namespace fusion
{
namespace result_of
{
template <typename Sequence>
struct as_list;
template <typename Sequence>
struct as_map;
template <typename Sequence>
struct as_set;
template <typename Sequence>
struct as_vector;
template <typename Sequence>
struct as_deque;
}
namespace detail
{
template <typename Tag>
struct as_impl;
template <>
struct as_impl<cons_tag>
{
template <typename Sequence>
struct apply : result_of::as_list<Sequence> {};
};
template <>
struct as_impl<map_tag>
{
template <typename Sequence>
struct apply : result_of::as_map<Sequence> {};
};
template <>
struct as_impl<set_tag>
{
template <typename Sequence>
struct apply : result_of::as_set<Sequence> {};
};
template <>
struct as_impl<vector_tag>
{
template <typename Sequence>
struct apply : result_of::as_vector<Sequence> {};
};
template<>
struct as_impl<deque_tag>
{
template <typename Sequence>
struct apply : result_of::as_deque<Sequence> {};
};
template <typename Tag, typename Sequence>
struct as
{
typedef typename
as_impl<Tag>::template apply<Sequence>::type
type;
};
}
}}
#endif

View File

@ -1,7 +1,7 @@
/*============================================================================= /*=============================================================================
Copyright (c) 2001-2006 Joel de Guzman 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) file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
==============================================================================*/ ==============================================================================*/
#if !defined(FUSION_ERASE_10022005_1835) #if !defined(FUSION_ERASE_10022005_1835)
@ -10,7 +10,7 @@
#include <boost/mpl/erase.hpp> #include <boost/mpl/erase.hpp>
#include <boost/fusion/support/tag_of.hpp> #include <boost/fusion/support/tag_of.hpp>
#include <boost/fusion/algorithm/transformation/erase.hpp> #include <boost/fusion/algorithm/transformation/erase.hpp>
#include <boost/fusion/mpl/detail/as.hpp> #include <boost/fusion/sequence/convert.hpp>
namespace boost { namespace mpl namespace boost { namespace mpl
{ {
@ -23,12 +23,13 @@ namespace boost { namespace mpl
template <typename Sequence, typename First, typename Last> template <typename Sequence, typename First, typename Last>
struct apply struct apply
{ {
typedef typename typedef typename
fusion::result_of::erase<Sequence, First, Last>::type fusion::result_of::erase<Sequence, First, Last>::type
result; result;
typedef typename typedef typename
fusion::detail::as<typename fusion::detail::tag_of<Sequence>::type, result>::type fusion::result_of::convert<
typename fusion::detail::tag_of<Sequence>::type, result>::type
type; type;
}; };
}; };

View File

@ -1,7 +1,7 @@
/*============================================================================= /*=============================================================================
Copyright (c) 2001-2006 Joel de Guzman 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) file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
==============================================================================*/ ==============================================================================*/
#if !defined(FUSION_ERASE_KEY_10022005_1907) #if !defined(FUSION_ERASE_KEY_10022005_1907)
@ -10,7 +10,7 @@
#include <boost/mpl/erase_key.hpp> #include <boost/mpl/erase_key.hpp>
#include <boost/fusion/support/tag_of.hpp> #include <boost/fusion/support/tag_of.hpp>
#include <boost/fusion/algorithm/transformation/erase_key.hpp> #include <boost/fusion/algorithm/transformation/erase_key.hpp>
#include <boost/fusion/mpl/detail/as.hpp> #include <boost/fusion/sequence/convert.hpp>
namespace boost { namespace mpl namespace boost { namespace mpl
{ {
@ -23,12 +23,13 @@ namespace boost { namespace mpl
template <typename Sequence, typename Key> template <typename Sequence, typename Key>
struct apply struct apply
{ {
typedef typename typedef typename
fusion::result_of::erase_key<Sequence, Key>::type fusion::result_of::erase_key<Sequence, Key>::type
result; result;
typedef typename typedef typename
fusion::detail::as<typename fusion::detail::tag_of<Sequence>::type, result>::type fusion::result_of::convert<
typename fusion::detail::tag_of<Sequence>::type, result>::type
type; type;
}; };
}; };

View File

@ -1,7 +1,7 @@
/*============================================================================= /*=============================================================================
Copyright (c) 2001-2006 Joel de Guzman 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) file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
==============================================================================*/ ==============================================================================*/
#if !defined(FUSION_INSERT_10022005_1837) #if !defined(FUSION_INSERT_10022005_1837)
@ -10,7 +10,7 @@
#include <boost/mpl/insert.hpp> #include <boost/mpl/insert.hpp>
#include <boost/fusion/support/tag_of.hpp> #include <boost/fusion/support/tag_of.hpp>
#include <boost/fusion/algorithm/transformation/insert.hpp> #include <boost/fusion/algorithm/transformation/insert.hpp>
#include <boost/fusion/mpl/detail/as.hpp> #include <boost/fusion/sequence/convert.hpp>
namespace boost { namespace mpl namespace boost { namespace mpl
{ {
@ -23,12 +23,13 @@ namespace boost { namespace mpl
template <typename Sequence, typename Pos, typename T> template <typename Sequence, typename Pos, typename T>
struct apply struct apply
{ {
typedef typename typedef typename
fusion::result_of::insert<Sequence, Pos, T>::type fusion::result_of::insert<Sequence, Pos, T>::type
result; result;
typedef typename typedef typename
fusion::detail::as<typename fusion::detail::tag_of<Sequence>::type, result>::type fusion::result_of::convert<
typename fusion::detail::tag_of<Sequence>::type, result>::type
type; type;
}; };
}; };

View File

@ -1,7 +1,7 @@
/*============================================================================= /*=============================================================================
Copyright (c) 2001-2006 Joel de Guzman 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) file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
==============================================================================*/ ==============================================================================*/
#if !defined(FUSION_INSERT_RANGE_10022005_1838) #if !defined(FUSION_INSERT_RANGE_10022005_1838)
@ -10,7 +10,7 @@
#include <boost/mpl/insert_range.hpp> #include <boost/mpl/insert_range.hpp>
#include <boost/fusion/support/tag_of.hpp> #include <boost/fusion/support/tag_of.hpp>
#include <boost/fusion/algorithm/transformation/insert_range.hpp> #include <boost/fusion/algorithm/transformation/insert_range.hpp>
#include <boost/fusion/mpl/detail/as.hpp> #include <boost/fusion/sequence/convert.hpp>
namespace boost { namespace mpl namespace boost { namespace mpl
{ {
@ -23,12 +23,13 @@ namespace boost { namespace mpl
template <typename Sequence, typename Pos, typename Range> template <typename Sequence, typename Pos, typename Range>
struct apply struct apply
{ {
typedef typename typedef typename
fusion::result_of::insert_range<Sequence, Pos, Range>::type fusion::result_of::insert_range<Sequence, Pos, Range>::type
result; result;
typedef typename typedef typename
fusion::detail::as<typename fusion::detail::tag_of<Sequence>::type, result>::type fusion::result_of::convert<
typename fusion::detail::tag_of<Sequence>::type, result>::type
type; type;
}; };
}; };

View File

@ -1,7 +1,7 @@
/*============================================================================= /*=============================================================================
Copyright (c) 2001-2006 Joel de Guzman 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) file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
==============================================================================*/ ==============================================================================*/
#if !defined(FUSION_POP_BACK_10022005_1801) #if !defined(FUSION_POP_BACK_10022005_1801)
@ -10,7 +10,7 @@
#include <boost/mpl/pop_back.hpp> #include <boost/mpl/pop_back.hpp>
#include <boost/fusion/support/tag_of.hpp> #include <boost/fusion/support/tag_of.hpp>
#include <boost/fusion/algorithm/transformation/pop_back.hpp> #include <boost/fusion/algorithm/transformation/pop_back.hpp>
#include <boost/fusion/mpl/detail/as.hpp> #include <boost/fusion/sequence/convert.hpp>
namespace boost { namespace mpl namespace boost { namespace mpl
{ {
@ -23,12 +23,13 @@ namespace boost { namespace mpl
template <typename Sequence> template <typename Sequence>
struct apply struct apply
{ {
typedef typename typedef typename
fusion::result_of::pop_back<Sequence>::type fusion::result_of::pop_back<Sequence>::type
result; result;
typedef typename typedef typename
fusion::detail::as<typename fusion::detail::tag_of<Sequence>::type, result>::type fusion::result_of::convert<
typename fusion::detail::tag_of<Sequence>::type, result>::type
type; type;
}; };
}; };

View File

@ -1,7 +1,7 @@
/*============================================================================= /*=============================================================================
Copyright (c) 2001-2006 Joel de Guzman 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) file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
==============================================================================*/ ==============================================================================*/
#if !defined(FUSION_POP_FRONT_10022005_1800) #if !defined(FUSION_POP_FRONT_10022005_1800)
@ -10,7 +10,7 @@
#include <boost/mpl/pop_front.hpp> #include <boost/mpl/pop_front.hpp>
#include <boost/fusion/support/tag_of.hpp> #include <boost/fusion/support/tag_of.hpp>
#include <boost/fusion/algorithm/transformation/pop_front.hpp> #include <boost/fusion/algorithm/transformation/pop_front.hpp>
#include <boost/fusion/mpl/detail/as.hpp> #include <boost/fusion/sequence/convert.hpp>
namespace boost { namespace mpl namespace boost { namespace mpl
{ {
@ -23,12 +23,13 @@ namespace boost { namespace mpl
template <typename Sequence> template <typename Sequence>
struct apply struct apply
{ {
typedef typename typedef typename
fusion::result_of::pop_front<Sequence>::type fusion::result_of::pop_front<Sequence>::type
result; result;
typedef typename typedef typename
fusion::detail::as<typename fusion::detail::tag_of<Sequence>::type, result>::type fusion::result_of::convert<
typename fusion::detail::tag_of<Sequence>::type, result>::type
type; type;
}; };
}; };

View File

@ -1,7 +1,7 @@
/*============================================================================= /*=============================================================================
Copyright (c) 2001-2006 Joel de Guzman 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) file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
==============================================================================*/ ==============================================================================*/
#if !defined(FUSION_PUSH_BACK_10022005_1647) #if !defined(FUSION_PUSH_BACK_10022005_1647)
@ -10,7 +10,7 @@
#include <boost/mpl/push_back.hpp> #include <boost/mpl/push_back.hpp>
#include <boost/fusion/support/tag_of.hpp> #include <boost/fusion/support/tag_of.hpp>
#include <boost/fusion/algorithm/transformation/push_back.hpp> #include <boost/fusion/algorithm/transformation/push_back.hpp>
#include <boost/fusion/mpl/detail/as.hpp> #include <boost/fusion/sequence/convert.hpp>
namespace boost { namespace mpl namespace boost { namespace mpl
{ {
@ -23,12 +23,13 @@ namespace boost { namespace mpl
template <typename Sequence, typename T> template <typename Sequence, typename T>
struct apply struct apply
{ {
typedef typename typedef typename
fusion::result_of::push_back<Sequence, T>::type fusion::result_of::push_back<Sequence, T>::type
result; result;
typedef typename typedef typename
fusion::detail::as<typename fusion::detail::tag_of<Sequence>::type, result>::type fusion::result_of::convert<
typename fusion::detail::tag_of<Sequence>::type, result>::type
type; type;
}; };
}; };

View File

@ -1,7 +1,7 @@
/*============================================================================= /*=============================================================================
Copyright (c) 2001-2006 Joel de Guzman 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) file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
==============================================================================*/ ==============================================================================*/
#if !defined(FUSION_PUSH_FRONT_10022005_1720) #if !defined(FUSION_PUSH_FRONT_10022005_1720)
@ -10,7 +10,7 @@
#include <boost/mpl/push_front.hpp> #include <boost/mpl/push_front.hpp>
#include <boost/fusion/support/tag_of.hpp> #include <boost/fusion/support/tag_of.hpp>
#include <boost/fusion/algorithm/transformation/push_front.hpp> #include <boost/fusion/algorithm/transformation/push_front.hpp>
#include <boost/fusion/mpl/detail/as.hpp> #include <boost/fusion/sequence/convert.hpp>
namespace boost { namespace mpl namespace boost { namespace mpl
{ {
@ -23,12 +23,13 @@ namespace boost { namespace mpl
template <typename Sequence, typename T> template <typename Sequence, typename T>
struct apply struct apply
{ {
typedef typename typedef typename
fusion::result_of::push_front<Sequence, T>::type fusion::result_of::push_front<Sequence, T>::type
result; result;
typedef typename typedef typename
fusion::detail::as<typename fusion::detail::tag_of<Sequence>::type, result>::type fusion::result_of::convert<
typename fusion::detail::tag_of<Sequence>::type, result>::type
type; type;
}; };
}; };

View File

@ -9,10 +9,9 @@
#include <boost/fusion/sequence/sequence_facade.hpp> #include <boost/fusion/sequence/sequence_facade.hpp>
#include <boost/fusion/sequence/comparison.hpp> #include <boost/fusion/sequence/comparison.hpp>
#include <boost/fusion/sequence/conversion.hpp>
#include <boost/fusion/sequence/generation.hpp> #include <boost/fusion/sequence/generation.hpp>
#include <boost/fusion/sequence/intrinsic.hpp> #include <boost/fusion/sequence/intrinsic.hpp>
#include <boost/fusion/sequence/io.hpp> #include <boost/fusion/sequence/io.hpp>
#include <boost/fusion/adapted.hpp> #include <boost/fusion/sequence/convert.hpp>
#endif #endif

View File

@ -1,16 +0,0 @@
/*=============================================================================
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_SEQUENCE_CONVERSION_10022005_0622)
#define FUSION_SEQUENCE_CONVERSION_10022005_0622
#include <boost/fusion/sequence/conversion/as_list.hpp>
#include <boost/fusion/sequence/conversion/as_map.hpp>
#include <boost/fusion/sequence/conversion/as_set.hpp>
#include <boost/fusion/sequence/conversion/as_vector.hpp>
#include <boost/fusion/sequence/conversion/as_deque.hpp>
#endif

View File

@ -0,0 +1,48 @@
/*=============================================================================
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_CONVERT_10022005_1442)
#define FUSION_CONVERT_10022005_1442
namespace boost { namespace fusion
{
namespace extension
{
template <typename Tag>
struct convert_impl;
}
namespace result_of
{
template <typename Tag, typename Sequence>
struct convert
{
typedef typename extension::convert_impl<Tag> gen;
typedef typename
gen::template apply<Sequence>::type
type;
};
}
template <typename Tag, typename Sequence>
inline typename result_of::convert<Tag, Sequence>::type
convert(Sequence& seq)
{
typedef typename result_of::convert<Tag, Sequence>::gen gen;
return gen::call(seq);
}
template <typename Tag, typename Sequence>
inline typename result_of::convert<Tag, Sequence const>::type
convert(Sequence const& seq)
{
typedef typename result_of::convert<Tag, Sequence const>::gen gen;
return gen::call(seq);
}
}}
#endif

View File

@ -10,7 +10,7 @@
#define BOOST_FUSION_SUPPORT_DEDUCE_SEQUENCE_HPP_INCLUDED #define BOOST_FUSION_SUPPORT_DEDUCE_SEQUENCE_HPP_INCLUDED
#include <boost/fusion/support/deduce.hpp> #include <boost/fusion/support/deduce.hpp>
#include <boost/fusion/sequence/conversion/as_vector.hpp> #include <boost/fusion/container/vector/convert.hpp>
#include <boost/fusion/mpl.hpp> #include <boost/fusion/mpl.hpp>
#include <boost/mpl/transform.hpp> #include <boost/mpl/transform.hpp>

View File

@ -10,7 +10,7 @@
#include <boost/fusion/container/vector.hpp> #include <boost/fusion/container/vector.hpp>
#include <boost/fusion/sequence/intrinsic/at.hpp> #include <boost/fusion/sequence/intrinsic/at.hpp>
#include <boost/fusion/sequence/conversion/as_vector.hpp> #include <boost/fusion/container/vector/convert.hpp>
#include <boost/fusion/algorithm/transformation/transform.hpp> #include <boost/fusion/algorithm/transformation/transform.hpp>
#include <boost/type_traits/remove_reference.hpp> #include <boost/type_traits/remove_reference.hpp>
#include <boost/type_traits/is_reference.hpp> #include <boost/type_traits/is_reference.hpp>

View File

@ -11,7 +11,7 @@
#include <boost/fusion/container/vector.hpp> #include <boost/fusion/container/vector.hpp>
#include <boost/fusion/iterator/deref.hpp> #include <boost/fusion/iterator/deref.hpp>
#include <boost/fusion/algorithm/transformation/transform.hpp> #include <boost/fusion/algorithm/transformation/transform.hpp>
#include <boost/fusion/sequence/conversion/as_vector.hpp> #include <boost/fusion/container/vector/convert.hpp>
#include <boost/fusion/support/unused.hpp> #include <boost/fusion/support/unused.hpp>
#include <boost/mpl/eval_if.hpp> #include <boost/mpl/eval_if.hpp>
#include <boost/mpl/identity.hpp> #include <boost/mpl/identity.hpp>

View File

@ -8,7 +8,7 @@
#if !defined(FUSION_VALUE_AT_IMPL_20060124_2129) #if !defined(FUSION_VALUE_AT_IMPL_20060124_2129)
#define FUSION_VALUE_AT_IMPL_20060124_2129 #define FUSION_VALUE_AT_IMPL_20060124_2129
#include <boost/fusion/sequence/conversion/as_vector.hpp> #include <boost/fusion/container/vector/convert.hpp>
#include <boost/fusion/algorithm/transformation/transform.hpp> #include <boost/fusion/algorithm/transformation/transform.hpp>
#include <boost/fusion/sequence/intrinsic/value_at.hpp> #include <boost/fusion/sequence/intrinsic/value_at.hpp>
#include <boost/type_traits/remove_reference.hpp> #include <boost/type_traits/remove_reference.hpp>

View File

@ -8,7 +8,7 @@
#if !defined(FUSION_VALUE_OF_IMPL_20060124_2147) #if !defined(FUSION_VALUE_OF_IMPL_20060124_2147)
#define FUSION_VALUE_OF_IMPL_20060124_2147 #define FUSION_VALUE_OF_IMPL_20060124_2147
#include <boost/fusion/sequence/conversion/as_vector.hpp> #include <boost/fusion/container/vector/convert.hpp>
#include <boost/fusion/algorithm/transformation/transform.hpp> #include <boost/fusion/algorithm/transformation/transform.hpp>
#include <boost/fusion/iterator/value_of.hpp> #include <boost/fusion/iterator/value_of.hpp>
#include <boost/mpl/placeholders.hpp> #include <boost/mpl/placeholders.hpp>

View File

@ -17,7 +17,7 @@
#include <boost/fusion/view/zip_view/detail/size_impl.hpp> #include <boost/fusion/view/zip_view/detail/size_impl.hpp>
#include <boost/fusion/view/zip_view/detail/at_impl.hpp> #include <boost/fusion/view/zip_view/detail/at_impl.hpp>
#include <boost/fusion/view/zip_view/detail/value_at_impl.hpp> #include <boost/fusion/view/zip_view/detail/value_at_impl.hpp>
#include <boost/fusion/sequence/conversion/as_vector.hpp> #include <boost/fusion/container/vector/convert.hpp>
#include <boost/fusion/algorithm/query/find_if.hpp> #include <boost/fusion/algorithm/query/find_if.hpp>
#include <boost/fusion/sequence/intrinsic/end.hpp> #include <boost/fusion/sequence/intrinsic/end.hpp>
#include <boost/fusion/sequence/intrinsic/size.hpp> #include <boost/fusion/sequence/intrinsic/size.hpp>

View File

@ -18,7 +18,7 @@
#include <boost/fusion/view/zip_view/detail/value_of_impl.hpp> #include <boost/fusion/view/zip_view/detail/value_of_impl.hpp>
#include <boost/fusion/view/zip_view/detail/equal_to_impl.hpp> #include <boost/fusion/view/zip_view/detail/equal_to_impl.hpp>
#include <boost/fusion/sequence/conversion/as_vector.hpp> #include <boost/fusion/container/vector/convert.hpp>
namespace boost { namespace fusion { namespace boost { namespace fusion {