forked from boostorg/fusion
refactoring for v2.1
[SVN r40208]
This commit is contained in:
@ -1,20 +1,21 @@
|
|||||||
/*=============================================================================
|
/*=============================================================================
|
||||||
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_07232005_0534)
|
#if !defined(FUSION_ERASE_07232005_0534)
|
||||||
#define FUSION_ERASE_07232005_0534
|
#define FUSION_ERASE_07232005_0534
|
||||||
|
|
||||||
|
#include <boost/fusion/iterator/equal_to.hpp>
|
||||||
|
#include <boost/fusion/iterator/mpl/convert_iterator.hpp>
|
||||||
#include <boost/fusion/sequence/container/vector/vector10.hpp>
|
#include <boost/fusion/sequence/container/vector/vector10.hpp>
|
||||||
#include <boost/fusion/sequence/view/joint_view/joint_view.hpp>
|
#include <boost/fusion/sequence/view/joint_view/joint_view.hpp>
|
||||||
#include <boost/fusion/sequence/view/iterator_range/iterator_range.hpp>
|
#include <boost/fusion/sequence/view/iterator_range/iterator_range.hpp>
|
||||||
#include <boost/fusion/support/detail/as_fusion_element.hpp>
|
#include <boost/fusion/support/detail/as_fusion_element.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/iterator/equal_to.hpp>
|
#include <boost/fusion/sequence/adapted/mpl/mpl_iterator.hpp>
|
||||||
#include <boost/fusion/iterator/mpl/convert_iterator.hpp>
|
|
||||||
|
|
||||||
namespace boost { namespace fusion
|
namespace boost { namespace fusion
|
||||||
{
|
{
|
||||||
@ -25,7 +26,7 @@ namespace boost { namespace fusion
|
|||||||
{
|
{
|
||||||
typedef typename result_of::end<Sequence>::type seq_last_type;
|
typedef typename result_of::end<Sequence>::type seq_last_type;
|
||||||
typedef typename convert_iterator<First>::type first_type;
|
typedef typename convert_iterator<First>::type first_type;
|
||||||
typedef typename
|
typedef typename
|
||||||
mpl::if_<
|
mpl::if_<
|
||||||
result_of::equal_to<first_type, seq_last_type>
|
result_of::equal_to<first_type, seq_last_type>
|
||||||
, first_type
|
, first_type
|
||||||
@ -33,19 +34,19 @@ namespace boost { namespace fusion
|
|||||||
>::type
|
>::type
|
||||||
type;
|
type;
|
||||||
|
|
||||||
static type
|
static type
|
||||||
call(First const& first, mpl::false_)
|
call(First const& first, mpl::false_)
|
||||||
{
|
{
|
||||||
return fusion::next(convert_iterator<First>::call(first));
|
return fusion::next(convert_iterator<First>::call(first));
|
||||||
}
|
}
|
||||||
|
|
||||||
static type
|
static type
|
||||||
call(First const& first, mpl::true_)
|
call(First const& first, mpl::true_)
|
||||||
{
|
{
|
||||||
return convert_iterator<First>::call(first);
|
return convert_iterator<First>::call(first);
|
||||||
}
|
}
|
||||||
|
|
||||||
static type
|
static type
|
||||||
call(First const& first)
|
call(First const& first)
|
||||||
{
|
{
|
||||||
return call(first, result_of::equal_to<first_type, seq_last_type>());
|
return call(first, result_of::equal_to<first_type, seq_last_type>());
|
||||||
|
@ -1,20 +1,21 @@
|
|||||||
/*=============================================================================
|
/*=============================================================================
|
||||||
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_07222005_0730)
|
#if !defined(FUSION_INSERT_07222005_0730)
|
||||||
#define FUSION_INSERT_07222005_0730
|
#define FUSION_INSERT_07222005_0730
|
||||||
|
|
||||||
|
#include <boost/fusion/support/detail/as_fusion_element.hpp>
|
||||||
|
#include <boost/fusion/iterator/mpl/convert_iterator.hpp>
|
||||||
#include <boost/fusion/sequence/container/vector/vector10.hpp>
|
#include <boost/fusion/sequence/container/vector/vector10.hpp>
|
||||||
#include <boost/fusion/sequence/view/joint_view/joint_view.hpp>
|
#include <boost/fusion/sequence/view/joint_view/joint_view.hpp>
|
||||||
#include <boost/fusion/sequence/view/single_view/single_view.hpp>
|
#include <boost/fusion/sequence/view/single_view/single_view.hpp>
|
||||||
#include <boost/fusion/sequence/view/iterator_range/iterator_range.hpp>
|
#include <boost/fusion/sequence/view/iterator_range/iterator_range.hpp>
|
||||||
#include <boost/fusion/support/detail/as_fusion_element.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/iterator/mpl/convert_iterator.hpp>
|
#include <boost/fusion/sequence/adapted/mpl/mpl_iterator.hpp>
|
||||||
|
|
||||||
namespace boost { namespace fusion
|
namespace boost { namespace fusion
|
||||||
{
|
{
|
||||||
@ -42,7 +43,7 @@ namespace boost { namespace fusion
|
|||||||
insert(Sequence const& seq, Position const& pos, T const& x)
|
insert(Sequence const& seq, Position const& pos, T const& x)
|
||||||
{
|
{
|
||||||
typedef result_of::insert<
|
typedef result_of::insert<
|
||||||
Sequence const, Position, T>
|
Sequence const, Position, T>
|
||||||
result_of;
|
result_of;
|
||||||
typedef typename result_of::left_type left_type;
|
typedef typename result_of::left_type left_type;
|
||||||
typedef typename result_of::right_type right_type;
|
typedef typename result_of::right_type right_type;
|
||||||
|
@ -1,19 +1,20 @@
|
|||||||
/*=============================================================================
|
/*=============================================================================
|
||||||
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_009172005_1147)
|
#if !defined(FUSION_INSERT_RANGE_009172005_1147)
|
||||||
#define FUSION_INSERT_RANGE_009172005_1147
|
#define FUSION_INSERT_RANGE_009172005_1147
|
||||||
|
|
||||||
|
#include <boost/fusion/iterator/mpl/convert_iterator.hpp>
|
||||||
#include <boost/fusion/sequence/container/vector/vector10.hpp>
|
#include <boost/fusion/sequence/container/vector/vector10.hpp>
|
||||||
#include <boost/fusion/sequence/view/joint_view/joint_view.hpp>
|
#include <boost/fusion/sequence/view/joint_view/joint_view.hpp>
|
||||||
#include <boost/fusion/sequence/view/iterator_range/iterator_range.hpp>
|
#include <boost/fusion/sequence/view/iterator_range/iterator_range.hpp>
|
||||||
#include <boost/fusion/support/detail/as_fusion_element.hpp>
|
#include <boost/fusion/support/detail/as_fusion_element.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/iterator/mpl/convert_iterator.hpp>
|
#include <boost/fusion/sequence/adapted/mpl/mpl_iterator.hpp>
|
||||||
|
|
||||||
namespace boost { namespace fusion
|
namespace boost { namespace fusion
|
||||||
{
|
{
|
||||||
|
@ -1,19 +1,21 @@
|
|||||||
/*=============================================================================
|
/*=============================================================================
|
||||||
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_CONVERT_ITERATOR_05062005_1218)
|
#if !defined(FUSION_CONVERT_ITERATOR_05062005_1218)
|
||||||
#define FUSION_CONVERT_ITERATOR_05062005_1218
|
#define FUSION_CONVERT_ITERATOR_05062005_1218
|
||||||
|
|
||||||
#include <boost/fusion/support/is_iterator.hpp>
|
#include <boost/fusion/support/is_iterator.hpp>
|
||||||
#include <boost/fusion/sequence/adapted/mpl/mpl_iterator.hpp>
|
|
||||||
#include <boost/mpl/if.hpp>
|
#include <boost/mpl/if.hpp>
|
||||||
#include <boost/mpl/bool.hpp>
|
#include <boost/mpl/bool.hpp>
|
||||||
|
|
||||||
namespace boost { namespace fusion
|
namespace boost { namespace fusion
|
||||||
{
|
{
|
||||||
|
template <typename Iterator>
|
||||||
|
struct mpl_iterator; // forward declaration
|
||||||
|
|
||||||
// Test T. If it is a fusion iterator, return a reference to it.
|
// Test T. If it is a fusion iterator, return a reference to it.
|
||||||
// else, assume it is an mpl iterator.
|
// else, assume it is an mpl iterator.
|
||||||
|
|
||||||
|
@ -12,6 +12,7 @@
|
|||||||
#include <boost/mpl/minus.hpp>
|
#include <boost/mpl/minus.hpp>
|
||||||
#include <boost/mpl/next_prior.hpp>
|
#include <boost/mpl/next_prior.hpp>
|
||||||
#include <boost/mpl/and.hpp>
|
#include <boost/mpl/and.hpp>
|
||||||
|
#include <boost/fusion/iterator/mpl/convert_iterator.hpp>
|
||||||
#include <boost/fusion/sequence/container/list/cons.hpp>
|
#include <boost/fusion/sequence/container/list/cons.hpp>
|
||||||
#include <boost/fusion/sequence/view/joint_view.hpp>
|
#include <boost/fusion/sequence/view/joint_view.hpp>
|
||||||
#include <boost/fusion/sequence/view/single_view.hpp>
|
#include <boost/fusion/sequence/view/single_view.hpp>
|
||||||
@ -19,6 +20,7 @@
|
|||||||
#include <boost/fusion/sequence/view/iterator_range.hpp>
|
#include <boost/fusion/sequence/view/iterator_range.hpp>
|
||||||
#include <boost/fusion/sequence/view/ext_/multiple_view.hpp>
|
#include <boost/fusion/sequence/view/ext_/multiple_view.hpp>
|
||||||
#include <boost/fusion/sequence/view/ext_/segmented_iterator.hpp>
|
#include <boost/fusion/sequence/view/ext_/segmented_iterator.hpp>
|
||||||
|
#include <boost/fusion/sequence/adapted/mpl/mpl_iterator.hpp>
|
||||||
|
|
||||||
namespace boost { namespace fusion
|
namespace boost { namespace fusion
|
||||||
{
|
{
|
||||||
|
@ -1,13 +1,14 @@
|
|||||||
/*=============================================================================
|
/*=============================================================================
|
||||||
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_FILTER_VIEW_ITERATOR_05062005_0849)
|
#if !defined(FUSION_FILTER_VIEW_ITERATOR_05062005_0849)
|
||||||
#define FUSION_FILTER_VIEW_ITERATOR_05062005_0849
|
#define FUSION_FILTER_VIEW_ITERATOR_05062005_0849
|
||||||
|
|
||||||
#include <boost/fusion/iterator/mpl/convert_iterator.hpp>
|
#include <boost/fusion/iterator/mpl/convert_iterator.hpp>
|
||||||
|
#include <boost/fusion/sequence/adapted/mpl/mpl_iterator.hpp>
|
||||||
#include <boost/fusion/support/iterator_base.hpp>
|
#include <boost/fusion/support/iterator_base.hpp>
|
||||||
#include <boost/fusion/sequence/view/filter_view/detail/deref_impl.hpp>
|
#include <boost/fusion/sequence/view/filter_view/detail/deref_impl.hpp>
|
||||||
#include <boost/fusion/sequence/view/filter_view/detail/next_impl.hpp>
|
#include <boost/fusion/sequence/view/filter_view/detail/next_impl.hpp>
|
||||||
|
@ -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_ITERATOR_RANGE_05062005_1224)
|
#if !defined(FUSION_ITERATOR_RANGE_05062005_1224)
|
||||||
@ -10,12 +10,13 @@
|
|||||||
#include <boost/fusion/support/detail/access.hpp>
|
#include <boost/fusion/support/detail/access.hpp>
|
||||||
#include <boost/fusion/support/sequence_base.hpp>
|
#include <boost/fusion/support/sequence_base.hpp>
|
||||||
#include <boost/fusion/support/category_of.hpp>
|
#include <boost/fusion/support/category_of.hpp>
|
||||||
|
#include <boost/fusion/iterator/distance.hpp>
|
||||||
|
#include <boost/fusion/iterator/mpl/convert_iterator.hpp>
|
||||||
#include <boost/fusion/sequence/view/iterator_range/detail/begin_impl.hpp>
|
#include <boost/fusion/sequence/view/iterator_range/detail/begin_impl.hpp>
|
||||||
#include <boost/fusion/sequence/view/iterator_range/detail/end_impl.hpp>
|
#include <boost/fusion/sequence/view/iterator_range/detail/end_impl.hpp>
|
||||||
#include <boost/fusion/sequence/view/iterator_range/detail/at_impl.hpp>
|
#include <boost/fusion/sequence/view/iterator_range/detail/at_impl.hpp>
|
||||||
#include <boost/fusion/sequence/view/iterator_range/detail/value_at_impl.hpp>
|
#include <boost/fusion/sequence/view/iterator_range/detail/value_at_impl.hpp>
|
||||||
#include <boost/fusion/iterator/mpl/convert_iterator.hpp>
|
#include <boost/fusion/sequence/adapted/mpl/mpl_iterator.hpp>
|
||||||
#include <boost/fusion/iterator/distance.hpp>
|
|
||||||
#include <boost/mpl/bool.hpp>
|
#include <boost/mpl/bool.hpp>
|
||||||
|
|
||||||
namespace boost { namespace fusion
|
namespace boost { namespace fusion
|
||||||
|
@ -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_JOINT_VIEW_ITERATOR_07162005_0140)
|
#if !defined(FUSION_JOINT_VIEW_ITERATOR_07162005_0140)
|
||||||
@ -10,6 +10,7 @@
|
|||||||
#include <boost/fusion/support/iterator_base.hpp>
|
#include <boost/fusion/support/iterator_base.hpp>
|
||||||
#include <boost/fusion/iterator/equal_to.hpp>
|
#include <boost/fusion/iterator/equal_to.hpp>
|
||||||
#include <boost/fusion/iterator/mpl/convert_iterator.hpp>
|
#include <boost/fusion/iterator/mpl/convert_iterator.hpp>
|
||||||
|
#include <boost/fusion/sequence/adapted/mpl/mpl_iterator.hpp>
|
||||||
#include <boost/fusion/sequence/view/joint_view/detail/deref_impl.hpp>
|
#include <boost/fusion/sequence/view/joint_view/detail/deref_impl.hpp>
|
||||||
#include <boost/fusion/sequence/view/joint_view/detail/next_impl.hpp>
|
#include <boost/fusion/sequence/view/joint_view/detail/next_impl.hpp>
|
||||||
#include <boost/fusion/sequence/view/joint_view/detail/value_of_impl.hpp>
|
#include <boost/fusion/sequence/view/joint_view/detail/value_of_impl.hpp>
|
||||||
|
@ -11,6 +11,7 @@
|
|||||||
#include <boost/fusion/support/iterator_base.hpp>
|
#include <boost/fusion/support/iterator_base.hpp>
|
||||||
#include <boost/fusion/support/category_of.hpp>
|
#include <boost/fusion/support/category_of.hpp>
|
||||||
#include <boost/fusion/iterator/mpl/convert_iterator.hpp>
|
#include <boost/fusion/iterator/mpl/convert_iterator.hpp>
|
||||||
|
#include <boost/fusion/sequence/adapted/mpl/mpl_iterator.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/view/repetitive_view/detail/deref_impl.hpp>
|
#include <boost/fusion/sequence/view/repetitive_view/detail/deref_impl.hpp>
|
||||||
@ -21,7 +22,7 @@ namespace boost { namespace fusion
|
|||||||
{
|
{
|
||||||
struct repetitive_view_iterator_tag;
|
struct repetitive_view_iterator_tag;
|
||||||
|
|
||||||
template<typename Sequence, typename Pos =
|
template<typename Sequence, typename Pos =
|
||||||
typename result_of::begin<Sequence>::type>
|
typename result_of::begin<Sequence>::type>
|
||||||
struct repetitive_view_iterator
|
struct repetitive_view_iterator
|
||||||
: iterator_base< repetitive_view_iterator<Sequence,Pos> >
|
: iterator_base< repetitive_view_iterator<Sequence,Pos> >
|
||||||
|
@ -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_REVERSE_VIEW_ITERATOR_07202005_0835)
|
#if !defined(FUSION_REVERSE_VIEW_ITERATOR_07202005_0835)
|
||||||
@ -10,6 +10,7 @@
|
|||||||
#include <boost/fusion/support/iterator_base.hpp>
|
#include <boost/fusion/support/iterator_base.hpp>
|
||||||
#include <boost/fusion/support/category_of.hpp>
|
#include <boost/fusion/support/category_of.hpp>
|
||||||
#include <boost/fusion/iterator/mpl/convert_iterator.hpp>
|
#include <boost/fusion/iterator/mpl/convert_iterator.hpp>
|
||||||
|
#include <boost/fusion/sequence/adapted/mpl/mpl_iterator.hpp>
|
||||||
#include <boost/fusion/sequence/view/reverse_view/detail/deref_impl.hpp>
|
#include <boost/fusion/sequence/view/reverse_view/detail/deref_impl.hpp>
|
||||||
#include <boost/fusion/sequence/view/reverse_view/detail/next_impl.hpp>
|
#include <boost/fusion/sequence/view/reverse_view/detail/next_impl.hpp>
|
||||||
#include <boost/fusion/sequence/view/reverse_view/detail/prior_impl.hpp>
|
#include <boost/fusion/sequence/view/reverse_view/detail/prior_impl.hpp>
|
||||||
|
@ -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_TRANSFORM_VIEW_ITERATOR_07162005_1033)
|
#if !defined(FUSION_TRANSFORM_VIEW_ITERATOR_07162005_1033)
|
||||||
@ -10,6 +10,7 @@
|
|||||||
#include <boost/fusion/support/iterator_base.hpp>
|
#include <boost/fusion/support/iterator_base.hpp>
|
||||||
#include <boost/fusion/support/category_of.hpp>
|
#include <boost/fusion/support/category_of.hpp>
|
||||||
#include <boost/fusion/iterator/mpl/convert_iterator.hpp>
|
#include <boost/fusion/iterator/mpl/convert_iterator.hpp>
|
||||||
|
#include <boost/fusion/sequence/adapted/mpl/mpl_iterator.hpp>
|
||||||
#include <boost/fusion/sequence/view/transform_view/detail/deref_impl.hpp>
|
#include <boost/fusion/sequence/view/transform_view/detail/deref_impl.hpp>
|
||||||
#include <boost/fusion/sequence/view/transform_view/detail/next_impl.hpp>
|
#include <boost/fusion/sequence/view/transform_view/detail/next_impl.hpp>
|
||||||
#include <boost/fusion/sequence/view/transform_view/detail/prior_impl.hpp>
|
#include <boost/fusion/sequence/view/transform_view/detail/prior_impl.hpp>
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
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_STRICTEST_TRAVERSAL_20060123_2101)
|
#if !defined(FUSION_STRICTEST_TRAVERSAL_20060123_2101)
|
||||||
@ -16,8 +16,8 @@
|
|||||||
#include <boost/type_traits/remove_reference.hpp>
|
#include <boost/type_traits/remove_reference.hpp>
|
||||||
#include <boost/type_traits/is_convertible.hpp>
|
#include <boost/type_traits/is_convertible.hpp>
|
||||||
|
|
||||||
namespace boost { namespace fusion {
|
namespace boost { namespace fusion
|
||||||
|
{
|
||||||
struct forward_traversal_tag;
|
struct forward_traversal_tag;
|
||||||
struct bidirectional_traversal_tag;
|
struct bidirectional_traversal_tag;
|
||||||
struct random_access_traversal_tag;
|
struct random_access_traversal_tag;
|
||||||
@ -58,7 +58,7 @@ namespace boost { namespace fusion {
|
|||||||
template<typename Sequence>
|
template<typename Sequence>
|
||||||
struct strictest_traversal
|
struct strictest_traversal
|
||||||
: result_of::fold<
|
: result_of::fold<
|
||||||
Sequence, fusion::random_access_traversal_tag,
|
Sequence, fusion::random_access_traversal_tag,
|
||||||
strictest_traversal_impl>
|
strictest_traversal_impl>
|
||||||
{};
|
{};
|
||||||
|
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
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_VALUE_OF_IMPL_20060124_2147)
|
#if !defined(FUSION_VALUE_OF_IMPL_20060124_2147)
|
||||||
@ -17,8 +17,8 @@
|
|||||||
#include <boost/mpl/identity.hpp>
|
#include <boost/mpl/identity.hpp>
|
||||||
#include <boost/type_traits/is_same.hpp>
|
#include <boost/type_traits/is_same.hpp>
|
||||||
|
|
||||||
namespace boost { namespace fusion {
|
namespace boost { namespace fusion
|
||||||
|
{
|
||||||
struct zip_view_iterator_tag;
|
struct zip_view_iterator_tag;
|
||||||
|
|
||||||
namespace detail
|
namespace detail
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
/*=============================================================================
|
/*=============================================================================
|
||||||
Copyright (c) 2007 Tobias Schwinger
|
Copyright (c) 2007 Tobias Schwinger
|
||||||
|
|
||||||
Use modification and distribution are subject to the Boost Software
|
Use modification and distribution are subject to the Boost Software
|
||||||
License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
|
License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
|
||||||
http://www.boost.org/LICENSE_1_0.txt).
|
http://www.boost.org/LICENSE_1_0.txt).
|
||||||
==============================================================================*/
|
==============================================================================*/
|
||||||
@ -29,7 +29,7 @@ namespace boost { namespace fusion { namespace traits
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
// We cannot use fusion::transform_view here as result_of looses cv qualifiers
|
// We cannot use fusion::transform_view here as result_of loses cv qualifiers
|
||||||
// on built in types
|
// on built in types
|
||||||
template <class Sequence>
|
template <class Sequence>
|
||||||
struct deduce_sequence
|
struct deduce_sequence
|
||||||
|
@ -1,17 +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_COMPILER_CONFIG_01052006_1200)
|
|
||||||
#define FUSION_COMPILER_CONFIG_01052006_1200
|
|
||||||
|
|
||||||
#include <boost/config.hpp>
|
|
||||||
#include <boost/detail/workaround.hpp>
|
|
||||||
|
|
||||||
#if BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1310))
|
|
||||||
#pragma warning(disable : 4512 4244 4100 4305)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif
|
|
@ -1,14 +1,12 @@
|
|||||||
/*=============================================================================
|
/*=============================================================================
|
||||||
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_ITERATOR_BASE_05042005_1008)
|
#if !defined(FUSION_ITERATOR_BASE_05042005_1008)
|
||||||
#define FUSION_ITERATOR_BASE_05042005_1008
|
#define FUSION_ITERATOR_BASE_05042005_1008
|
||||||
|
|
||||||
#include <boost/fusion/support/detail/compiler_config.hpp>
|
|
||||||
|
|
||||||
namespace boost { namespace fusion
|
namespace boost { namespace fusion
|
||||||
{
|
{
|
||||||
struct iterator_root {};
|
struct iterator_root {};
|
||||||
|
@ -2,13 +2,12 @@
|
|||||||
Copyright (c) 2005 Joel de Guzman
|
Copyright (c) 2005 Joel de Guzman
|
||||||
Copyright (c) 2006 Tobias Schwinger
|
Copyright (c) 2006 Tobias Schwinger
|
||||||
|
|
||||||
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_PAIR_07222005_1203)
|
#if !defined(FUSION_PAIR_07222005_1203)
|
||||||
#define FUSION_PAIR_07222005_1203
|
#define FUSION_PAIR_07222005_1203
|
||||||
|
|
||||||
#include <boost/fusion/support/detail/compiler_config.hpp>
|
|
||||||
#include <boost/fusion/support/detail/access.hpp>
|
#include <boost/fusion/support/detail/access.hpp>
|
||||||
#include <boost/fusion/support/detail/as_fusion_element.hpp>
|
#include <boost/fusion/support/detail/as_fusion_element.hpp>
|
||||||
|
|
||||||
@ -23,7 +22,7 @@ namespace boost { namespace fusion
|
|||||||
|
|
||||||
pair(typename detail::call_param<Second>::type val)
|
pair(typename detail::call_param<Second>::type val)
|
||||||
: second(val) {}
|
: second(val) {}
|
||||||
|
|
||||||
template <typename Second2>
|
template <typename Second2>
|
||||||
pair(pair<First, Second2> const& rhs)
|
pair(pair<First, Second2> const& rhs)
|
||||||
: second(rhs.second) {}
|
: second(rhs.second) {}
|
||||||
@ -45,7 +44,7 @@ namespace boost { namespace fusion
|
|||||||
template<typename First, typename Second>
|
template<typename First, typename Second>
|
||||||
struct make_pair
|
struct make_pair
|
||||||
{
|
{
|
||||||
typedef fusion::pair<First,
|
typedef fusion::pair<First,
|
||||||
typename detail::as_fusion_element<Second>::type> type;
|
typename detail::as_fusion_element<Second>::type> type;
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -84,16 +83,16 @@ namespace boost { namespace fusion
|
|||||||
is >> p.second;
|
is >> p.second;
|
||||||
return is;
|
return is;
|
||||||
}
|
}
|
||||||
|
|
||||||
template <typename First, typename SecondL, typename SecondR>
|
template <typename First, typename SecondL, typename SecondR>
|
||||||
inline bool
|
inline bool
|
||||||
operator==(pair<First, SecondL> const& l, pair<First, SecondR> const& r)
|
operator==(pair<First, SecondL> const& l, pair<First, SecondR> const& r)
|
||||||
{
|
{
|
||||||
return l.second == r.second;
|
return l.second == r.second;
|
||||||
}
|
}
|
||||||
|
|
||||||
template <typename First, typename SecondL, typename SecondR>
|
template <typename First, typename SecondL, typename SecondR>
|
||||||
inline bool
|
inline bool
|
||||||
operator!=(pair<First, SecondL> const& l, pair<First, SecondR> const& r)
|
operator!=(pair<First, SecondL> const& l, pair<First, SecondR> const& r)
|
||||||
{
|
{
|
||||||
return l.second != r.second;
|
return l.second != r.second;
|
||||||
|
@ -2,13 +2,12 @@
|
|||||||
Copyright (c) 2001-2006 Joel de Guzman
|
Copyright (c) 2001-2006 Joel de Guzman
|
||||||
Copyright (c) 2007 Tobias Schwinger
|
Copyright (c) 2007 Tobias Schwinger
|
||||||
|
|
||||||
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_BASE_04182005_0737)
|
#if !defined(FUSION_SEQUENCE_BASE_04182005_0737)
|
||||||
#define FUSION_SEQUENCE_BASE_04182005_0737
|
#define FUSION_SEQUENCE_BASE_04182005_0737
|
||||||
|
|
||||||
#include <boost/fusion/support/detail/compiler_config.hpp>
|
|
||||||
#include <boost/mpl/begin_end_fwd.hpp>
|
#include <boost/mpl/begin_end_fwd.hpp>
|
||||||
|
|
||||||
namespace boost { namespace fusion
|
namespace boost { namespace fusion
|
||||||
@ -37,7 +36,7 @@ namespace boost { namespace fusion
|
|||||||
namespace boost { namespace mpl
|
namespace boost { namespace mpl
|
||||||
{
|
{
|
||||||
// Deliberately break mpl::begin, so it doesn't lie that a Fusion sequence
|
// Deliberately break mpl::begin, so it doesn't lie that a Fusion sequence
|
||||||
// is not an MPL sequence by returning mpl::void_.
|
// is not an MPL sequence by returning mpl::void_.
|
||||||
// In other words: Fusion Sequences are always MPL Sequences, but they can
|
// In other words: Fusion Sequences are always MPL Sequences, but they can
|
||||||
// be incompletely defined.
|
// be incompletely defined.
|
||||||
template<> struct begin_impl< boost::fusion::fusion_sequence_tag >;
|
template<> struct begin_impl< boost::fusion::fusion_sequence_tag >;
|
||||||
|
@ -1,17 +1,17 @@
|
|||||||
/*=============================================================================
|
/*=============================================================================
|
||||||
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_TAG_OF_09232005_0845)
|
#if !defined(FUSION_TAG_OF_09232005_0845)
|
||||||
#define FUSION_TAG_OF_09232005_0845
|
#define FUSION_TAG_OF_09232005_0845
|
||||||
|
|
||||||
|
#include <boost/utility/enable_if.hpp>
|
||||||
#include <boost/type_traits/remove_const.hpp>
|
#include <boost/type_traits/remove_const.hpp>
|
||||||
#include <boost/fusion/support/tag_of_fwd.hpp>
|
#include <boost/fusion/support/tag_of_fwd.hpp>
|
||||||
#include <boost/fusion/support/detail/is_mpl_sequence.hpp>
|
#include <boost/fusion/support/detail/is_mpl_sequence.hpp>
|
||||||
#include <boost/mpl/has_xxx.hpp>
|
#include <boost/mpl/has_xxx.hpp>
|
||||||
#include <boost/utility/enable_if.hpp>
|
|
||||||
#include <boost/mpl/identity.hpp>
|
#include <boost/mpl/identity.hpp>
|
||||||
#include <boost/mpl/assert.hpp>
|
#include <boost/mpl/assert.hpp>
|
||||||
#include <boost/mpl/bool.hpp>
|
#include <boost/mpl/bool.hpp>
|
||||||
@ -26,13 +26,13 @@ namespace boost
|
|||||||
namespace tuples
|
namespace tuples
|
||||||
{
|
{
|
||||||
struct null_type;
|
struct null_type;
|
||||||
|
|
||||||
template <
|
template <
|
||||||
class T0, class T1, class T2, class T3, class T4,
|
class T0, class T1, class T2, class T3, class T4,
|
||||||
class T5, class T6, class T7, class T8, class T9
|
class T5, class T6, class T7, class T8, class T9
|
||||||
>
|
>
|
||||||
class tuple;
|
class tuple;
|
||||||
|
|
||||||
template <class Head, class Tail>
|
template <class Head, class Tail>
|
||||||
struct cons;
|
struct cons;
|
||||||
}
|
}
|
||||||
@ -53,7 +53,7 @@ namespace boost { namespace fusion
|
|||||||
{};
|
{};
|
||||||
|
|
||||||
template <
|
template <
|
||||||
class T0, class T1, class T2, class T3, class T4,
|
class T0, class T1, class T2, class T3, class T4,
|
||||||
class T5, class T6, class T7, class T8, class T9
|
class T5, class T6, class T7, class T8, class T9
|
||||||
>
|
>
|
||||||
struct is_specialized<tuples::tuple<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9> >
|
struct is_specialized<tuples::tuple<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9> >
|
||||||
|
@ -2,14 +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_TAG_OF_FWD_31122005_1445)
|
#if !defined(BOOST_FUSION_TAG_OF_FWD_31122005_1445)
|
||||||
#define BOOST_FUSION_TAG_OF_FWD_31122005_1445
|
#define BOOST_FUSION_TAG_OF_FWD_31122005_1445
|
||||||
|
|
||||||
namespace boost { namespace fusion {
|
namespace boost { namespace fusion
|
||||||
|
{
|
||||||
namespace traits
|
namespace traits
|
||||||
{
|
{
|
||||||
template<typename T, typename Active = void>
|
template<typename T, typename Active = void>
|
||||||
|
@ -1,7 +1,14 @@
|
|||||||
|
/*=============================================================================
|
||||||
|
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(BOOST_FUSION_SUPPORT_VOID_20070706_2125)
|
#if !defined(BOOST_FUSION_SUPPORT_VOID_20070706_2125)
|
||||||
#define BOOST_FUSION_SUPPORT_VOID_20070706_2125
|
#define BOOST_FUSION_SUPPORT_VOID_20070706_2125
|
||||||
|
|
||||||
namespace boost { namespace fusion {
|
namespace boost { namespace fusion
|
||||||
|
{
|
||||||
struct void_ {};
|
struct void_ {};
|
||||||
}}
|
}}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user