forked from boostorg/fusion
Patches for Codegear C++ Builder 2009
[SVN r48981]
This commit is contained in:
@@ -1,3 +1,10 @@
|
||||
/*=============================================================================
|
||||
Copyright (c) 2001-2006 Joel de Guzman
|
||||
Copyright (c) 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(BOOST_FUSION_FOLD_HPP_20070528_1253)
|
||||
#define BOOST_FUSION_FOLD_HPP_20070528_1253
|
||||
|
||||
@@ -98,7 +105,7 @@ namespace detail
|
||||
struct unrolled_fold<3>
|
||||
{
|
||||
template<typename I0, typename State, typename F>
|
||||
static typename result_of_unrolled_fold<I0, State, F, 3>::type
|
||||
static typename result_of_unrolled_fold<I0, State, F, 3>::type
|
||||
call(I0 const& i0, State const& state, F f)
|
||||
{
|
||||
typedef typename result_of::next<I0>::type I1;
|
||||
@@ -113,7 +120,7 @@ namespace detail
|
||||
struct unrolled_fold<2>
|
||||
{
|
||||
template<typename I0, typename State, typename F>
|
||||
static typename result_of_unrolled_fold<I0, State, F, 2>::type
|
||||
static typename result_of_unrolled_fold<I0, State, F, 2>::type
|
||||
call(I0 const& i0, State const& state, F f)
|
||||
{
|
||||
typedef typename result_of::next<I0>::type I1;
|
||||
@@ -126,7 +133,7 @@ namespace detail
|
||||
struct unrolled_fold<1>
|
||||
{
|
||||
template<typename I0, typename State, typename F>
|
||||
static typename result_of_unrolled_fold<I0, State, F, 1>::type
|
||||
static typename result_of_unrolled_fold<I0, State, F, 1>::type
|
||||
call(I0 const& i0, State const& state, F f)
|
||||
{
|
||||
return f(*i0, state);
|
||||
|
||||
Executable → Regular
Executable → Regular
+4
-4
@@ -14,10 +14,10 @@
|
||||
#include <boost/utility/enable_if.hpp>
|
||||
#include <boost/type_traits/is_same.hpp>
|
||||
#include <boost/fusion/algorithm/query/find_if.hpp>
|
||||
#include <boost/fusion/sequence/container/list/cons.hpp>
|
||||
#include <boost/fusion/container/list/cons.hpp>
|
||||
#include <boost/fusion/sequence/intrinsic/ext_/segments.hpp>
|
||||
#include <boost/fusion/sequence/view/ext_/segmented_iterator.hpp>
|
||||
#include <boost/fusion/sequence/view/ext_/segmented_iterator_range.hpp>
|
||||
#include <boost/fusion/view/ext_/segmented_iterator.hpp>
|
||||
#include <boost/fusion/view/ext_/segmented_iterator_range.hpp>
|
||||
#include <boost/fusion/support/ext_/is_segmented.hpp>
|
||||
|
||||
// fwd declarations
|
||||
@@ -117,7 +117,7 @@ namespace boost { namespace fusion { namespace detail
|
||||
private:
|
||||
static type call_(SegmentedRange const &range, mpl::true_)
|
||||
{
|
||||
return found::call(range, where::call(*range.where));
|
||||
return found::call(range, where::call(*range.where_));
|
||||
}
|
||||
|
||||
static type call_(SegmentedRange const &range, mpl::false_)
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
#if !defined(FUSION_CLEAR_09172005_1127)
|
||||
#define FUSION_CLEAR_09172005_1127
|
||||
|
||||
#include <boost/fusion/sequence/container/vector/vector10.hpp>
|
||||
#include <boost/fusion/container/vector/vector10.hpp>
|
||||
|
||||
namespace boost { namespace fusion
|
||||
{
|
||||
|
||||
@@ -1,20 +1,21 @@
|
||||
/*=============================================================================
|
||||
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)
|
||||
==============================================================================*/
|
||||
#if !defined(FUSION_ERASE_07232005_0534)
|
||||
#define FUSION_ERASE_07232005_0534
|
||||
|
||||
#include <boost/fusion/sequence/container/vector/vector10.hpp>
|
||||
#include <boost/fusion/sequence/view/joint_view/joint_view.hpp>
|
||||
#include <boost/fusion/sequence/view/iterator_range/iterator_range.hpp>
|
||||
#include <boost/fusion/iterator/equal_to.hpp>
|
||||
#include <boost/fusion/iterator/mpl/convert_iterator.hpp>
|
||||
#include <boost/fusion/container/vector/vector10.hpp>
|
||||
#include <boost/fusion/view/joint_view/joint_view.hpp>
|
||||
#include <boost/fusion/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/end.hpp>
|
||||
#include <boost/fusion/iterator/equal_to.hpp>
|
||||
#include <boost/fusion/iterator/mpl/convert_iterator.hpp>
|
||||
#include <boost/fusion/adapted/mpl/mpl_iterator.hpp>
|
||||
|
||||
namespace boost { namespace fusion
|
||||
{
|
||||
@@ -25,7 +26,7 @@ namespace boost { namespace fusion
|
||||
{
|
||||
typedef typename result_of::end<Sequence>::type seq_last_type;
|
||||
typedef typename convert_iterator<First>::type first_type;
|
||||
typedef typename
|
||||
typedef typename
|
||||
mpl::if_<
|
||||
result_of::equal_to<first_type, seq_last_type>
|
||||
, first_type
|
||||
@@ -33,19 +34,19 @@ namespace boost { namespace fusion
|
||||
>::type
|
||||
type;
|
||||
|
||||
static type
|
||||
static type
|
||||
call(First const& first, mpl::false_)
|
||||
{
|
||||
return fusion::next(convert_iterator<First>::call(first));
|
||||
}
|
||||
|
||||
static type
|
||||
static type
|
||||
call(First const& first, mpl::true_)
|
||||
{
|
||||
return convert_iterator<First>::call(first);
|
||||
}
|
||||
|
||||
static type
|
||||
static type
|
||||
call(First const& first)
|
||||
{
|
||||
return call(first, result_of::equal_to<first_type, seq_last_type>());
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
#if !defined(FUSION_FILTER_02122005_1839)
|
||||
#define FUSION_FILTER_02122005_1839
|
||||
|
||||
#include <boost/fusion/sequence/view/filter_view/filter_view.hpp>
|
||||
#include <boost/fusion/view/filter_view/filter_view.hpp>
|
||||
#include <boost/type_traits/is_same.hpp>
|
||||
|
||||
namespace boost { namespace fusion
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
#if !defined(FUSION_FILTER_IF_07172005_0818)
|
||||
#define FUSION_FILTER_IF_07172005_0818
|
||||
|
||||
#include <boost/fusion/sequence/view/filter_view/filter_view.hpp>
|
||||
#include <boost/fusion/view/filter_view/filter_view.hpp>
|
||||
|
||||
namespace boost { namespace fusion
|
||||
{
|
||||
|
||||
@@ -1,20 +1,21 @@
|
||||
/*=============================================================================
|
||||
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)
|
||||
==============================================================================*/
|
||||
#if !defined(FUSION_INSERT_07222005_0730)
|
||||
#define FUSION_INSERT_07222005_0730
|
||||
|
||||
#include <boost/fusion/sequence/container/vector/vector10.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/iterator_range/iterator_range.hpp>
|
||||
#include <boost/fusion/support/detail/as_fusion_element.hpp>
|
||||
#include <boost/fusion/iterator/mpl/convert_iterator.hpp>
|
||||
#include <boost/fusion/container/vector/vector10.hpp>
|
||||
#include <boost/fusion/view/joint_view/joint_view.hpp>
|
||||
#include <boost/fusion/view/single_view/single_view.hpp>
|
||||
#include <boost/fusion/view/iterator_range/iterator_range.hpp>
|
||||
#include <boost/fusion/sequence/intrinsic/begin.hpp>
|
||||
#include <boost/fusion/sequence/intrinsic/end.hpp>
|
||||
#include <boost/fusion/iterator/mpl/convert_iterator.hpp>
|
||||
#include <boost/fusion/adapted/mpl/mpl_iterator.hpp>
|
||||
|
||||
namespace boost { namespace fusion
|
||||
{
|
||||
@@ -42,7 +43,7 @@ namespace boost { namespace fusion
|
||||
insert(Sequence const& seq, Position const& pos, T const& x)
|
||||
{
|
||||
typedef result_of::insert<
|
||||
Sequence const, Position, T>
|
||||
Sequence const, Position, T>
|
||||
result_of;
|
||||
typedef typename result_of::left_type left_type;
|
||||
typedef typename result_of::right_type right_type;
|
||||
|
||||
@@ -1,19 +1,20 @@
|
||||
/*=============================================================================
|
||||
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)
|
||||
==============================================================================*/
|
||||
#if !defined(FUSION_INSERT_RANGE_009172005_1147)
|
||||
#define FUSION_INSERT_RANGE_009172005_1147
|
||||
|
||||
#include <boost/fusion/sequence/container/vector/vector10.hpp>
|
||||
#include <boost/fusion/sequence/view/joint_view/joint_view.hpp>
|
||||
#include <boost/fusion/sequence/view/iterator_range/iterator_range.hpp>
|
||||
#include <boost/fusion/iterator/mpl/convert_iterator.hpp>
|
||||
#include <boost/fusion/container/vector/vector10.hpp>
|
||||
#include <boost/fusion/view/joint_view/joint_view.hpp>
|
||||
#include <boost/fusion/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/end.hpp>
|
||||
#include <boost/fusion/iterator/mpl/convert_iterator.hpp>
|
||||
#include <boost/fusion/adapted/mpl/mpl_iterator.hpp>
|
||||
|
||||
namespace boost { namespace fusion
|
||||
{
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
#if !defined(FUSION_JOIN_200601222109)
|
||||
#define FUSION_JOIN_200601222109
|
||||
|
||||
#include <boost/fusion/sequence/view/joint_view.hpp>
|
||||
#include <boost/fusion/view/joint_view.hpp>
|
||||
|
||||
namespace boost { namespace fusion {
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
#if !defined(FUSION_POP_BACK_09172005_1038)
|
||||
#define FUSION_POP_BACK_09172005_1038
|
||||
|
||||
#include <boost/fusion/sequence/view/iterator_range/iterator_range.hpp>
|
||||
#include <boost/fusion/view/iterator_range/iterator_range.hpp>
|
||||
#include <boost/fusion/sequence/intrinsic/begin.hpp>
|
||||
#include <boost/fusion/sequence/intrinsic/end.hpp>
|
||||
#include <boost/fusion/iterator/prior.hpp>
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
#if !defined(FUSION_POP_FRONT_09172005_1115)
|
||||
#define FUSION_POP_FRONT_09172005_1115
|
||||
|
||||
#include <boost/fusion/sequence/view/iterator_range/iterator_range.hpp>
|
||||
#include <boost/fusion/view/iterator_range/iterator_range.hpp>
|
||||
#include <boost/fusion/sequence/intrinsic/begin.hpp>
|
||||
#include <boost/fusion/sequence/intrinsic/end.hpp>
|
||||
#include <boost/fusion/iterator/next.hpp>
|
||||
|
||||
@@ -8,8 +8,8 @@
|
||||
#define FUSION_PUSH_BACK_07162005_0235
|
||||
|
||||
#include <boost/fusion/support/detail/as_fusion_element.hpp>
|
||||
#include <boost/fusion/sequence/view/joint_view/joint_view.hpp>
|
||||
#include <boost/fusion/sequence/view/single_view/single_view.hpp>
|
||||
#include <boost/fusion/view/joint_view/joint_view.hpp>
|
||||
#include <boost/fusion/view/single_view/single_view.hpp>
|
||||
|
||||
namespace boost { namespace fusion
|
||||
{
|
||||
|
||||
@@ -8,8 +8,8 @@
|
||||
#define FUSION_PUSH_FRONT_07162005_0749
|
||||
|
||||
#include <boost/fusion/support/detail/as_fusion_element.hpp>
|
||||
#include <boost/fusion/sequence/view/joint_view/joint_view.hpp>
|
||||
#include <boost/fusion/sequence/view/single_view/single_view.hpp>
|
||||
#include <boost/fusion/view/joint_view/joint_view.hpp>
|
||||
#include <boost/fusion/view/single_view/single_view.hpp>
|
||||
|
||||
namespace boost { namespace fusion
|
||||
{
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
#if !defined(FUSION_REMOVE_07162005_0818)
|
||||
#define FUSION_REMOVE_07162005_0818
|
||||
|
||||
#include <boost/fusion/sequence/view/filter_view/filter_view.hpp>
|
||||
#include <boost/fusion/view/filter_view/filter_view.hpp>
|
||||
#include <boost/mpl/not.hpp>
|
||||
#include <boost/type_traits/is_same.hpp>
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
#if !defined(FUSION_REMOVE_IF_07162005_0818)
|
||||
#define FUSION_REMOVE_IF_07162005_0818
|
||||
|
||||
#include <boost/fusion/sequence/view/filter_view/filter_view.hpp>
|
||||
#include <boost/fusion/view/filter_view/filter_view.hpp>
|
||||
#include <boost/mpl/not.hpp>
|
||||
#include <boost/type_traits/is_same.hpp>
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
#if !defined(FUSION_REPLACE_08182005_0830)
|
||||
#define FUSION_REPLACE_08182005_0830
|
||||
|
||||
#include <boost/fusion/sequence/view/transform_view/transform_view.hpp>
|
||||
#include <boost/fusion/view/transform_view/transform_view.hpp>
|
||||
#include <boost/fusion/algorithm/transformation/detail/replace.hpp>
|
||||
|
||||
namespace boost { namespace fusion
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
#if !defined(FUSION_REPLACE_IF_08182005_0939)
|
||||
#define FUSION_REPLACE_IF_08182005_0939
|
||||
|
||||
#include <boost/fusion/sequence/view/transform_view/transform_view.hpp>
|
||||
#include <boost/fusion/view/transform_view/transform_view.hpp>
|
||||
#include <boost/fusion/algorithm/transformation/detail/replace_if.hpp>
|
||||
#include <boost/utility/enable_if.hpp>
|
||||
#include <boost/type_traits/is_same.hpp>
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
#if !defined(FUSION_REVERSE_07212005_1230)
|
||||
#define FUSION_REVERSE_07212005_1230
|
||||
|
||||
#include <boost/fusion/sequence/view/reverse_view/reverse_view.hpp>
|
||||
#include <boost/fusion/view/reverse_view/reverse_view.hpp>
|
||||
|
||||
namespace boost { namespace fusion
|
||||
{
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
#if !defined(FUSION_TRANSFORM_07052005_1057)
|
||||
#define FUSION_TRANSFORM_07052005_1057
|
||||
|
||||
#include <boost/fusion/sequence/view/transform_view/transform_view.hpp>
|
||||
#include <boost/fusion/view/transform_view/transform_view.hpp>
|
||||
|
||||
namespace boost { namespace fusion
|
||||
{
|
||||
@@ -22,7 +22,11 @@ namespace boost { namespace fusion
|
||||
};
|
||||
|
||||
template <typename Sequence, typename F>
|
||||
#if defined(BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS)
|
||||
struct transform<Sequence, F, void_>
|
||||
#else
|
||||
struct transform<Sequence, F>
|
||||
#endif
|
||||
{
|
||||
typedef transform_view<Sequence, F> type;
|
||||
};
|
||||
|
||||
@@ -9,14 +9,15 @@
|
||||
#if !defined(FUSION_ZIP_HPP_20060125_2058)
|
||||
#define FUSION_ZIP_HPP_20060125_2058
|
||||
|
||||
#include <boost/fusion/sequence/view/zip_view.hpp>
|
||||
#include <boost/fusion/sequence/adapted/mpl.hpp>
|
||||
#include <boost/fusion/sequence/container/vector.hpp>
|
||||
#include <boost/fusion/sequence/conversion/as_vector.hpp>
|
||||
#include <boost/fusion/view/zip_view.hpp>
|
||||
#include <boost/fusion/adapted/mpl.hpp>
|
||||
#include <boost/fusion/container/vector.hpp>
|
||||
#include <boost/fusion/container/vector/convert.hpp>
|
||||
#include <boost/type_traits/add_reference.hpp>
|
||||
#include <boost/preprocessor/repetition/enum.hpp>
|
||||
#include <boost/preprocessor/repetition/enum_params.hpp>
|
||||
#include <boost/preprocessor/repetition/enum_binary_params.hpp>
|
||||
#include <boost/preprocessor/repetition/repeat_from_to.hpp>
|
||||
#include <boost/preprocessor/arithmetic/inc.hpp>
|
||||
#include <boost/preprocessor/iteration/iterate.hpp>
|
||||
#include <boost/mpl/vector.hpp>
|
||||
@@ -53,7 +54,13 @@ namespace boost { namespace fusion {
|
||||
namespace result_of
|
||||
{
|
||||
template< BOOST_PP_ENUM_PARAMS(ZIP_ITERATION, typename T) >
|
||||
#if defined(BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS)
|
||||
#define TEXT(z, n, text) , text
|
||||
struct zip< BOOST_PP_ENUM_PARAMS(ZIP_ITERATION, T) BOOST_PP_REPEAT_FROM_TO(BOOST_PP_DEC(ZIP_ITERATION), FUSION_MAX_ZIP_SEQUENCES, TEXT, void_) >
|
||||
#undef TEXT
|
||||
#else
|
||||
struct zip< BOOST_PP_ENUM_PARAMS(ZIP_ITERATION, T) >
|
||||
#endif
|
||||
{
|
||||
typedef mpl::vector< BOOST_PP_ENUM_PARAMS(ZIP_ITERATION, T) > sequences;
|
||||
typedef typename mpl::transform<sequences, add_reference<mpl::_> >::type ref_params;
|
||||
|
||||
Reference in New Issue
Block a user