|
Boost-Commit : |
Subject: [Boost-commit] svn:boost r54672 - in sandbox/SOC/2009/fusion: . boost/fusion/adapted/array/detail boost/fusion/adapted/boost_tuple/detail boost/fusion/adapted/std_pair/detail boost/fusion/adapted/struct/detail boost/fusion/algorithm/iteration/detail boost/fusion/algorithm/query/detail boost/fusion/algorithm/transformation boost/fusion/algorithm/transformation/detail boost/fusion/container/list boost/fusion/container/list/detail/cons boost/fusion/container/list/detail/list boost/fusion/container/map boost/fusion/container/map/detail boost/fusion/container/map/detail/pp boost/fusion/container/map/detail/variadic_templates boost/fusion/container/set boost/fusion/container/set/detail boost/fusion/container/set/detail/pp boost/fusion/container/set/detail/variadic_templates boost/fusion/container/vector boost/fusion/container/vector/detail boost/fusion/container/vector/detail/variadic_templates boost/fusion/functional boost/fusion/iterator boost/fusion/iterator/detail boost/fusion/mpl boost/fusion/mpl/detail boost/fusion/sequence boost/fusion/sequence/comparison/detail boost/fusion/sequence/intrinsic boost/fusion/sequence/io boost/fusion/sequence/io/detail boost/fusion/support boost/fusion/support/detail/iterator_adapter boost/fusion/support/variadic_templates boost/fusion/tuple boost/fusion/tuple/detail boost/fusion/view/detail boost/fusion/view/filter_view/detail boost/fusion/view/reverse_view/detail boost/fusion/view/single_view/detail boost/fusion/view/zip_view libs/fusion/doc libs/fusion/example/cookbook libs/fusion/test libs/fusion/test/functional
From: mr.chr.schmidt_at_[hidden]
Date: 2009-07-05 11:42:29
Author: cschmidt
Date: 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
New Revision: 54672
URL: http://svn.boost.org/trac/boost/changeset/54672
Log:
cleanup
Added:
sandbox/SOC/2009/fusion/libs/fusion/test/functional/make_unfused.cpp (contents, props changed)
sandbox/SOC/2009/fusion/libs/fusion/test/functional/unfused.cpp (contents, props changed)
Removed:
sandbox/SOC/2009/fusion/boost/fusion/container/map/detail/pp/map_lookup.hpp
sandbox/SOC/2009/fusion/boost/fusion/container/set/detail/pp/set_lookup.hpp
sandbox/SOC/2009/fusion/boost/fusion/functional/
sandbox/SOC/2009/fusion/boost/fusion/tuple/detail/
sandbox/SOC/2009/fusion/boost/fusion/tuple/make_tuple.hpp
sandbox/SOC/2009/fusion/boost/fusion/tuple/tuple_fwd.hpp
sandbox/SOC/2009/fusion/boost/fusion/tuple/tuple_tie.hpp
sandbox/SOC/2009/fusion/libs/fusion/test/functional/make_unfused_generic.cpp
sandbox/SOC/2009/fusion/libs/fusion/test/functional/make_unfused_lvalue_args.cpp
sandbox/SOC/2009/fusion/libs/fusion/test/functional/make_unfused_rvalue_args.cpp
sandbox/SOC/2009/fusion/libs/fusion/test/functional/unfused_generic.cpp
sandbox/SOC/2009/fusion/libs/fusion/test/functional/unfused_lvalue_args.cpp
sandbox/SOC/2009/fusion/libs/fusion/test/functional/unfused_rvalue_args.cpp
Text files modified:
sandbox/SOC/2009/fusion/boost/fusion/adapted/array/detail/is_sequence_impl.hpp | 4
sandbox/SOC/2009/fusion/boost/fusion/adapted/array/detail/is_view_impl.hpp | 3
sandbox/SOC/2009/fusion/boost/fusion/adapted/boost_tuple/detail/is_sequence_impl.hpp | 4
sandbox/SOC/2009/fusion/boost/fusion/adapted/boost_tuple/detail/is_view_impl.hpp | 4
sandbox/SOC/2009/fusion/boost/fusion/adapted/boost_tuple/detail/value_at_impl.hpp | 4
sandbox/SOC/2009/fusion/boost/fusion/adapted/std_pair/detail/is_sequence_impl.hpp | 4
sandbox/SOC/2009/fusion/boost/fusion/adapted/std_pair/detail/is_view_impl.hpp | 3
sandbox/SOC/2009/fusion/boost/fusion/adapted/std_pair/detail/size_impl.hpp | 4
sandbox/SOC/2009/fusion/boost/fusion/adapted/struct/detail/is_sequence_impl.hpp | 4
sandbox/SOC/2009/fusion/boost/fusion/adapted/struct/detail/is_view_impl.hpp | 3
sandbox/SOC/2009/fusion/boost/fusion/adapted/struct/detail/size_impl.hpp | 4
sandbox/SOC/2009/fusion/boost/fusion/algorithm/iteration/detail/fold.hpp | 152 +++++-----
sandbox/SOC/2009/fusion/boost/fusion/algorithm/iteration/detail/for_each.hpp | 64 ++--
sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/detail/count_if.hpp | 70 ++--
sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/detail/replace_if.hpp | 7
sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/erase.hpp | 4
sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/filter.hpp | 7
sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/insert.hpp | 2
sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/insert_range.hpp | 13
sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/join.hpp | 9
sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/replace_if.hpp | 1
sandbox/SOC/2009/fusion/boost/fusion/container/list/cons.hpp | 24 -
sandbox/SOC/2009/fusion/boost/fusion/container/list/convert.hpp | 15
sandbox/SOC/2009/fusion/boost/fusion/container/list/detail/cons/deref_impl.hpp | 8
sandbox/SOC/2009/fusion/boost/fusion/container/list/detail/cons/equal_to_impl.hpp | 6
sandbox/SOC/2009/fusion/boost/fusion/container/list/detail/cons/value_of_impl.hpp | 4
sandbox/SOC/2009/fusion/boost/fusion/container/list/detail/list/at_impl.hpp | 3
sandbox/SOC/2009/fusion/boost/fusion/container/map/convert.hpp | 13
sandbox/SOC/2009/fusion/boost/fusion/container/map/detail/at_key_impl.hpp | 10
sandbox/SOC/2009/fusion/boost/fusion/container/map/detail/begin_impl.hpp | 14
sandbox/SOC/2009/fusion/boost/fusion/container/map/detail/convert_impl.hpp | 16
sandbox/SOC/2009/fusion/boost/fusion/container/map/detail/end_impl.hpp | 14
sandbox/SOC/2009/fusion/boost/fusion/container/map/detail/value_at_key_impl.hpp | 8
sandbox/SOC/2009/fusion/boost/fusion/container/map/detail/variadic_templates/as_map_impl.hpp | 9
sandbox/SOC/2009/fusion/boost/fusion/container/map/map.hpp | 8
sandbox/SOC/2009/fusion/boost/fusion/container/set/convert.hpp | 14
sandbox/SOC/2009/fusion/boost/fusion/container/set/detail/at_key_impl.hpp | 10
sandbox/SOC/2009/fusion/boost/fusion/container/set/detail/begin_impl.hpp | 13
sandbox/SOC/2009/fusion/boost/fusion/container/set/detail/convert_impl.hpp | 12
sandbox/SOC/2009/fusion/boost/fusion/container/set/detail/end_impl.hpp | 14
sandbox/SOC/2009/fusion/boost/fusion/container/set/detail/pp/set_forward_ctor.hpp | 2
sandbox/SOC/2009/fusion/boost/fusion/container/set/detail/value_at_key_impl.hpp | 8
sandbox/SOC/2009/fusion/boost/fusion/container/set/detail/variadic_templates/as_set_impl.hpp | 9
sandbox/SOC/2009/fusion/boost/fusion/container/set/set.hpp | 12
sandbox/SOC/2009/fusion/boost/fusion/container/vector/convert.hpp | 13
sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/advance_impl.hpp | 21
sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/at_impl.hpp | 10
sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/begin_impl.hpp | 8
sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/convert_impl.hpp | 13
sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/deref_impl.hpp | 13
sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/end_impl.hpp | 16
sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/equal_to_impl.hpp | 6
sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/next_impl.hpp | 21
sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/prior_impl.hpp | 23 +
sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/value_at_impl.hpp | 5
sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/value_of_impl.hpp | 13
sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/variadic_templates/as_vector_impl.hpp | 9
sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/variadic_templates/vector_impl.hpp | 42 +-
sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/variadic_templates/vector_n.hpp | 6
sandbox/SOC/2009/fusion/boost/fusion/container/vector/vector.hpp | 15
sandbox/SOC/2009/fusion/boost/fusion/container/vector/vector10.hpp | 7
sandbox/SOC/2009/fusion/boost/fusion/iterator/advance.hpp | 45 +-
sandbox/SOC/2009/fusion/boost/fusion/iterator/deref.hpp | 26
sandbox/SOC/2009/fusion/boost/fusion/iterator/detail/advance.hpp | 48 +-
sandbox/SOC/2009/fusion/boost/fusion/iterator/iterator_facade.hpp | 15
sandbox/SOC/2009/fusion/boost/fusion/iterator/next.hpp | 20
sandbox/SOC/2009/fusion/boost/fusion/iterator/prior.hpp | 19
sandbox/SOC/2009/fusion/boost/fusion/iterator/value_of.hpp | 11
sandbox/SOC/2009/fusion/boost/fusion/mpl/clear.hpp | 4
sandbox/SOC/2009/fusion/boost/fusion/mpl/detail/fusion_iterator.hpp | 36 +-
sandbox/SOC/2009/fusion/boost/fusion/mpl/empty.hpp | 4
sandbox/SOC/2009/fusion/boost/fusion/mpl/end.hpp | 4
sandbox/SOC/2009/fusion/boost/fusion/mpl/erase.hpp | 6
sandbox/SOC/2009/fusion/boost/fusion/mpl/erase_key.hpp | 6
sandbox/SOC/2009/fusion/boost/fusion/mpl/front.hpp | 4
sandbox/SOC/2009/fusion/boost/fusion/mpl/has_key.hpp | 4
sandbox/SOC/2009/fusion/boost/fusion/mpl/insert.hpp | 6
sandbox/SOC/2009/fusion/boost/fusion/mpl/insert_range.hpp | 6
sandbox/SOC/2009/fusion/boost/fusion/mpl/pop_back.hpp | 6
sandbox/SOC/2009/fusion/boost/fusion/mpl/pop_front.hpp | 6
sandbox/SOC/2009/fusion/boost/fusion/mpl/push_back.hpp | 6
sandbox/SOC/2009/fusion/boost/fusion/mpl/push_front.hpp | 6
sandbox/SOC/2009/fusion/boost/fusion/mpl/size.hpp | 4
sandbox/SOC/2009/fusion/boost/fusion/sequence/comparison/detail/enable_comparison.hpp | 16
sandbox/SOC/2009/fusion/boost/fusion/sequence/comparison/detail/equal_to.hpp | 18
sandbox/SOC/2009/fusion/boost/fusion/sequence/comparison/detail/greater.hpp | 14
sandbox/SOC/2009/fusion/boost/fusion/sequence/comparison/detail/greater_equal.hpp | 14
sandbox/SOC/2009/fusion/boost/fusion/sequence/comparison/detail/less.hpp | 14
sandbox/SOC/2009/fusion/boost/fusion/sequence/comparison/detail/less_equal.hpp | 14
sandbox/SOC/2009/fusion/boost/fusion/sequence/comparison/detail/not_equal_to.hpp | 18
sandbox/SOC/2009/fusion/boost/fusion/sequence/convert.hpp | 13
sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/at.hpp | 33 +-
sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/at_key.hpp | 26 +
sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/back.hpp | 12
sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/begin.hpp | 21
sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/empty.hpp | 25
sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/end.hpp | 21
sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/front.hpp | 12
sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/has_key.hpp | 29 +-
sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/size.hpp | 9
sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/swap.hpp | 43 +-
sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/value_at.hpp | 18
sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/value_at_key.hpp | 15
sandbox/SOC/2009/fusion/boost/fusion/sequence/io/detail/in.hpp | 11
sandbox/SOC/2009/fusion/boost/fusion/sequence/io/detail/manip.hpp | 22 -
sandbox/SOC/2009/fusion/boost/fusion/sequence/io/detail/out.hpp | 4
sandbox/SOC/2009/fusion/boost/fusion/sequence/io/in.hpp | 14
sandbox/SOC/2009/fusion/boost/fusion/sequence/io/out.hpp | 12
sandbox/SOC/2009/fusion/boost/fusion/support/detail/iterator_adapter/advance_impl.hpp | 26 -
sandbox/SOC/2009/fusion/boost/fusion/support/detail/iterator_adapter/deref_impl.hpp | 22
sandbox/SOC/2009/fusion/boost/fusion/support/detail/iterator_adapter/distance_impl.hpp | 21
sandbox/SOC/2009/fusion/boost/fusion/support/detail/iterator_adapter/equal_to_impl.hpp | 14
sandbox/SOC/2009/fusion/boost/fusion/support/detail/iterator_adapter/next_impl.hpp | 24 -
sandbox/SOC/2009/fusion/boost/fusion/support/detail/iterator_adapter/prior_impl.hpp | 24 -
sandbox/SOC/2009/fusion/boost/fusion/support/detail/iterator_adapter/value_of_impl.hpp | 11
sandbox/SOC/2009/fusion/boost/fusion/support/is_view.hpp | 1
sandbox/SOC/2009/fusion/boost/fusion/support/iterator_base.hpp | 17
sandbox/SOC/2009/fusion/boost/fusion/support/pair.hpp | 27 +
sandbox/SOC/2009/fusion/boost/fusion/support/sequence_base.hpp | 13
sandbox/SOC/2009/fusion/boost/fusion/support/variadic_templates/variadic_quote.hpp | 12
sandbox/SOC/2009/fusion/boost/fusion/tuple/tuple.hpp | 97 +------
sandbox/SOC/2009/fusion/boost/fusion/view/detail/strictest_traversal.hpp | 4
sandbox/SOC/2009/fusion/boost/fusion/view/filter_view/detail/begin_impl.hpp | 10
sandbox/SOC/2009/fusion/boost/fusion/view/filter_view/detail/end_impl.hpp | 10
sandbox/SOC/2009/fusion/boost/fusion/view/filter_view/detail/equal_to_impl.hpp | 6
sandbox/SOC/2009/fusion/boost/fusion/view/reverse_view/detail/advance_impl.hpp | 24
sandbox/SOC/2009/fusion/boost/fusion/view/reverse_view/detail/distance_impl.hpp | 18
sandbox/SOC/2009/fusion/boost/fusion/view/reverse_view/detail/next_impl.hpp | 10
sandbox/SOC/2009/fusion/boost/fusion/view/reverse_view/detail/prior_impl.hpp | 18
sandbox/SOC/2009/fusion/boost/fusion/view/single_view/detail/begin_impl.hpp | 6
sandbox/SOC/2009/fusion/boost/fusion/view/single_view/detail/deref_impl.hpp | 8
sandbox/SOC/2009/fusion/boost/fusion/view/single_view/detail/end_impl.hpp | 6
sandbox/SOC/2009/fusion/boost/fusion/view/single_view/detail/next_impl.hpp | 8
sandbox/SOC/2009/fusion/boost/fusion/view/single_view/detail/value_of_impl.hpp | 6
sandbox/SOC/2009/fusion/boost/fusion/view/zip_view/zip_view_iterator_fwd.hpp | 9
sandbox/SOC/2009/fusion/libs/fusion/doc/Jamfile | 6
sandbox/SOC/2009/fusion/libs/fusion/doc/adapted.qbk | 8
sandbox/SOC/2009/fusion/libs/fusion/doc/extension.qbk | 2
sandbox/SOC/2009/fusion/libs/fusion/doc/functional.qbk | 536 ++++++++-------------------------------
sandbox/SOC/2009/fusion/libs/fusion/doc/tuple.qbk | 5
sandbox/SOC/2009/fusion/libs/fusion/example/cookbook/do_the_bind.cpp | 59 +++-
sandbox/SOC/2009/fusion/libs/fusion/test/Jamfile | 56 +--
sandbox/SOC/2009/fusion/libs/fusion/test/functional/invoke.cpp | 2
sandbox/SOC/2009/fusion/project-root.jam | 2
144 files changed, 1212 insertions(+), 1513 deletions(-)
Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/array/detail/is_sequence_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/array/detail/is_sequence_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/array/detail/is_sequence_impl.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -24,7 +24,9 @@
struct is_sequence_impl<array_tag>
{
template<typename Sequence>
- struct apply : mpl::true_ {};
+ struct apply
+ : mpl::true_
+ {};
};
}
}}
Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/array/detail/is_view_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/array/detail/is_view_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/array/detail/is_view_impl.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -24,7 +24,8 @@
struct is_view_impl<array_tag>
{
template<typename T>
- struct apply : mpl::false_
+ struct apply
+ : mpl::false_
{};
};
}
Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/boost_tuple/detail/is_sequence_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/boost_tuple/detail/is_sequence_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/boost_tuple/detail/is_sequence_impl.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -23,7 +23,9 @@
struct is_sequence_impl<boost_tuple_tag>
{
template<typename Sequence>
- struct apply : mpl::true_ {};
+ struct apply
+ : mpl::true_
+ {};
};
}
}}
Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/boost_tuple/detail/is_view_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/boost_tuple/detail/is_view_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/boost_tuple/detail/is_view_impl.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -23,7 +23,9 @@
struct is_view_impl<boost_tuple_tag>
{
template<typename T>
- struct apply : mpl::false_ {};
+ struct apply
+ : mpl::false_
+ {};
};
}
}}
Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/boost_tuple/detail/value_at_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/boost_tuple/detail/value_at_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/boost_tuple/detail/value_at_impl.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -23,7 +23,9 @@
struct value_at_impl<boost_tuple_tag>
{
template <typename Sequence, typename N>
- struct apply : tuples::element<N::value, Sequence> {};
+ struct apply
+ : tuples::element<N::value, Sequence>
+ {};
};
}
}}
Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/std_pair/detail/is_sequence_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/std_pair/detail/is_sequence_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/std_pair/detail/is_sequence_impl.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -24,7 +24,9 @@
struct is_sequence_impl<std_pair_tag>
{
template<typename Sequence>
- struct apply : mpl::true_ {};
+ struct apply
+ : mpl::true_
+ {};
};
}
}}
Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/std_pair/detail/is_view_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/std_pair/detail/is_view_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/std_pair/detail/is_view_impl.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -24,7 +24,8 @@
struct is_view_impl<std_pair_tag>
{
template<typename T>
- struct apply : mpl::false_
+ struct apply
+ : mpl::false_
{};
};
}
Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/std_pair/detail/size_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/std_pair/detail/size_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/std_pair/detail/size_impl.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -24,7 +24,9 @@
struct size_impl<std_pair_tag>
{
template <typename Sequence>
- struct apply : mpl::int_<2> {};
+ struct apply
+ : mpl::int_<2>
+ {};
};
}
}}
Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/struct/detail/is_sequence_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/struct/detail/is_sequence_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/struct/detail/is_sequence_impl.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -24,7 +24,9 @@
struct is_sequence_impl<struct_tag>
{
template<typename Sequence>
- struct apply : mpl::true_ {};
+ struct apply
+ : mpl::true_
+ {};
};
}
}}
Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/struct/detail/is_view_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/struct/detail/is_view_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/struct/detail/is_view_impl.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -24,7 +24,8 @@
struct is_view_impl<struct_tag>
{
template<typename T>
- struct apply : mpl::false_
+ struct apply
+ : mpl::false_
{};
};
}
Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/struct/detail/size_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/struct/detail/size_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/struct/detail/size_impl.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -30,7 +30,9 @@
struct size_impl<struct_tag>
{
template <typename Sequence>
- struct apply : extension::struct_size<Sequence> {};
+ struct apply
+ : extension::struct_size<Sequence>
+ {};
};
}
}}
Modified: sandbox/SOC/2009/fusion/boost/fusion/algorithm/iteration/detail/fold.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/algorithm/iteration/detail/fold.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/algorithm/iteration/detail/fold.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -73,77 +73,81 @@
type;
};
- template<typename I0, typename State, typename F, int N>
+ template<typename It0, typename State, typename F, int N>
struct result_of_unrolled_fold;
template<int N>
struct unrolled_fold
{
- template<typename I0, typename State, typename F>
- static typename result_of_unrolled_fold<I0, State, F, N>::type
- call(I0 const& i0,
+ template<typename It0, typename State, typename F>
+ static typename result_of_unrolled_fold<It0, State, F, N>::type
+ call(It0 const& it0,
BOOST_FUSION_R_ELSE_LREF(State) state,
BOOST_FUSION_R_ELSE_LREF(F) f)
{
- typedef typename result_of::next<I0>::type I1;
- I1 i1 = fusion::next(i0);
- typedef typename result_of::next<I1>::type I2;
- I2 i2 = fusion::next(i1);
- typedef typename result_of::next<I2>::type I3;
- I3 i3 = fusion::next(i2);
- typedef typename result_of::next<I3>::type I4;
- I4 i4 = fusion::next(i3);
+ typedef typename result_of::next<It0>::type It1;
+ It1 it1 = fusion::next(it0);
+ typedef typename result_of::next<It1>::type It2;
+ It2 it2 = fusion::next(it1);
+ typedef typename result_of::next<It2>::type It3;
+ It3 it3 = fusion::next(it2);
+ typedef typename result_of::next<It3>::type It4;
+ It4 it4 = fusion::next(it3);
return unrolled_fold<N-4>::call(
- i4,
- f(fusion::deref(i3),
- f(fusion::deref(i2),
- f(fusion::deref(i1),
- f(fusion::deref(i0),
+ it4,
+ f(fusion::deref(it3),
+ f(fusion::deref(it2),
+ f(fusion::deref(it1),
+ f(fusion::deref(it0),
BOOST_FUSION_FORWARD(State,state)
- )
- )
- )
- ),
- f);
+ )
+ )
+ )
+ ),
+ BOOST_FUSION_FORWARD(F,f));
}
};
template<>
struct unrolled_fold<3>
{
- template<typename I0, typename State, typename F>
- static typename result_of_unrolled_fold<I0, State, F, 3>::type
- call(I0 const& i0,
+ template<typename It0, typename State, typename F>
+ static typename result_of_unrolled_fold<It0, State, F, 3>::type
+ call(It0 const& it0,
BOOST_FUSION_R_ELSE_LREF(State) state,
BOOST_FUSION_R_ELSE_LREF(F) f)
{
- typedef typename result_of::next<I0>::type I1;
- I1 i1 = fusion::next(i0);
- typedef typename result_of::next<I1>::type I2;
- I2 i2 = fusion::next(i1);
-
- return f(fusion::deref(i2),
- f(fusion::deref(i1),
- f(fusion::deref(i0), BOOST_FUSION_FORWARD(State,state))
- ));
+ typedef typename result_of::next<It0>::type It1;
+ It1 it1 = fusion::next(it0);
+ typedef typename result_of::next<It1>::type It2;
+ It2 it2 = fusion::next(it1);
+
+ return f(fusion::deref(it2),
+ f(fusion::deref(it1),
+ f(
+ fusion::deref(it0),
+ BOOST_FUSION_FORWARD(State,state)
+ )
+ )
+ );
}
};
template<>
struct unrolled_fold<2>
{
- template<typename I0, typename State, typename F>
- static typename result_of_unrolled_fold<I0, State, F, 2>::type
- call(I0 const& i0,
+ template<typename It0, typename State, typename F>
+ static typename result_of_unrolled_fold<It0, State, F, 2>::type
+ call(It0 const& it0,
BOOST_FUSION_R_ELSE_LREF(State) state,
BOOST_FUSION_R_ELSE_LREF(F) f)
{
- typedef typename result_of::next<I0>::type I1;
- I1 i1 = fusion::next(i0);
+ typedef typename result_of::next<It0>::type It1;
+ It1 it1 = fusion::next(it0);
- return f(fusion::deref(i1),
- f(fusion::deref(i0),
+ return f(fusion::deref(it1),
+ f(fusion::deref(it0),
BOOST_FUSION_FORWARD(State,state)));
}
};
@@ -151,22 +155,22 @@
template<>
struct unrolled_fold<1>
{
- template<typename I0, typename State, typename F>
- static typename result_of_unrolled_fold<I0, State, F, 1>::type
- call(I0 const& i0,
+ template<typename It0, typename State, typename F>
+ static typename result_of_unrolled_fold<It0, State, F, 1>::type
+ call(It0 const& it0,
BOOST_FUSION_R_ELSE_LREF(State) state,
BOOST_FUSION_R_ELSE_LREF(F) f)
{
- return f(fusion::deref(i0), BOOST_FUSION_FORWARD(State,state));
+ return f(fusion::deref(it0), BOOST_FUSION_FORWARD(State,state));
}
};
template<>
struct unrolled_fold<0>
{
- template<typename I0, typename State, typename F>
+ template<typename It0, typename State, typename F>
static State
- call(I0 const&,
+ call(It0 const&,
BOOST_FUSION_R_ELSE_LREF(State) state,
BOOST_FUSION_R_ELSE_LREF(F))
{
@@ -207,57 +211,57 @@
);
}
- template<typename I0, typename State, typename F, int N>
+ template<typename It0, typename State, typename F, int N>
struct result_of_unrolled_fold
{
- typedef typename result_of::next<I0>::type I1;
- typedef typename result_of::next<I1>::type I2;
- typedef typename result_of::next<I2>::type I3;
- typedef typename result_of::next<I3>::type I4;
- typedef typename fold_apply<I0, State, F>::type Rest1;
- typedef typename fold_apply<I1, Rest1, F>::type Rest2;
- typedef typename fold_apply<I2, Rest2, F>::type Rest3;
- typedef typename fold_apply<I3, Rest3, F>::type Rest4;
+ typedef typename result_of::next<It0>::type It1;
+ typedef typename result_of::next<It1>::type It2;
+ typedef typename result_of::next<It2>::type It3;
+ typedef typename result_of::next<It3>::type It4;
+ typedef typename fold_apply<It0, State, F>::type Rest1;
+ typedef typename fold_apply<It1, Rest1, F>::type Rest2;
+ typedef typename fold_apply<It2, Rest2, F>::type Rest3;
+ typedef typename fold_apply<It3, Rest3, F>::type Rest4;
typedef typename
- result_of_unrolled_fold<I4, Rest4, F, N-4>::type
+ result_of_unrolled_fold<It4, Rest4, F, N-4>::type
type;
};
- template<typename I0, typename State, typename F>
- struct result_of_unrolled_fold<I0, State, F, 3>
+ template<typename It0, typename State, typename F>
+ struct result_of_unrolled_fold<It0, State, F, 3>
{
- typedef typename result_of::next<I0>::type I1;
- typedef typename result_of::next<I1>::type I2;
- typedef typename fold_apply<I0, State, F>::type Rest;
- typedef typename fold_apply<I1, Rest, F>::type Rest2;
+ typedef typename result_of::next<It0>::type It1;
+ typedef typename result_of::next<It1>::type It2;
+ typedef typename fold_apply<It0, State, F>::type Rest;
+ typedef typename fold_apply<It1, Rest, F>::type Rest2;
typedef typename
- fold_apply<I2, Rest2, F>::type
+ fold_apply<It2, Rest2, F>::type
type;
};
- template<typename I0, typename State, typename F>
- struct result_of_unrolled_fold<I0, State, F, 2>
+ template<typename It0, typename State, typename F>
+ struct result_of_unrolled_fold<It0, State, F, 2>
{
- typedef typename result_of::next<I0>::type I1;
- typedef typename fold_apply<I0, State, F>::type Rest;
+ typedef typename result_of::next<It0>::type It1;
+ typedef typename fold_apply<It0, State, F>::type Rest;
typedef typename
- fold_apply<I1, Rest, F>::type
+ fold_apply<It1, Rest, F>::type
type;
};
- template<typename I0, typename State, typename F>
- struct result_of_unrolled_fold<I0, State, F, 1>
+ template<typename It0, typename State, typename F>
+ struct result_of_unrolled_fold<It0, State, F, 1>
{
typedef typename
- fold_apply<I0, State, F>::type
+ fold_apply<It0, State, F>::type
type;
};
- template<typename I0, typename State, typename F>
- struct result_of_unrolled_fold<I0, State, F, 0>
+ template<typename It0, typename State, typename F>
+ struct result_of_unrolled_fold<It0, State, F, 0>
{
typedef State type;
};
Modified: sandbox/SOC/2009/fusion/boost/fusion/algorithm/iteration/detail/for_each.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/algorithm/iteration/detail/for_each.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/algorithm/iteration/detail/for_each.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -59,66 +59,66 @@
template<int N>
struct for_each_unrolled
{
- template<typename I0, typename F>
- static void call(I0 const& i0, BOOST_FUSION_R_ELSE_LREF(F) f)
+ template<typename It0, typename F>
+ static void call(It0 const& it0, BOOST_FUSION_R_ELSE_LREF(F) f)
{
- f(fusion::deref(i0));
+ f(fusion::deref(it0));
- typedef typename result_of::next<I0>::type I1;
- I1 i1(fusion::next(i0));
- f(fusion::deref(i1));
+ typedef typename result_of::next<It0>::type It1;
+ It1 it1(fusion::next(it0));
+ f(fusion::deref(it1));
- typedef typename result_of::next<I1>::type I2;
- I2 i2(fusion::next(i1));
- f(fusion::deref(i2));
+ typedef typename result_of::next<It1>::type It2;
+ It2 it2(fusion::next(it1));
+ f(fusion::deref(it2));
- typedef typename result_of::next<I2>::type I3;
- I3 i3(fusion::next(i2));
- f(fusion::deref(i3));
+ typedef typename result_of::next<It2>::type It3;
+ It3 it3(fusion::next(it2));
+ f(fusion::deref(it3));
- for_each_unrolled<N-4>::call(fusion::next(i3), f);
+ for_each_unrolled<N-4>::call(fusion::next(it3), f);
}
};
template<>
struct for_each_unrolled<3>
{
- template<typename I0, typename F>
- static void call(I0 const& i0, BOOST_FUSION_R_ELSE_LREF(F) f)
+ template<typename It0, typename F>
+ static void call(It0 const& it0, BOOST_FUSION_R_ELSE_LREF(F) f)
{
- f(fusion::deref(i0));
+ f(fusion::deref(it0));
- typedef typename result_of::next<I0>::type I1;
- I1 i1(fusion::next(i0));
- f(fusion::deref(i1));
-
- typedef typename result_of::next<I1>::type I2;
- I2 i2(fusion::next(i1));
- f(fusion::deref(i2));
+ typedef typename result_of::next<It0>::type It1;
+ It1 it1(fusion::next(it0));
+ f(fusion::deref(it1));
+
+ typedef typename result_of::next<It1>::type It2;
+ It2 it2(fusion::next(it1));
+ f(fusion::deref(it2));
}
};
template<>
struct for_each_unrolled<2>
{
- template<typename I0, typename F>
- static void call(I0 const& i0, BOOST_FUSION_R_ELSE_LREF(F) f)
+ template<typename It0, typename F>
+ static void call(It0 const& it0, BOOST_FUSION_R_ELSE_LREF(F) f)
{
- f(fusion::deref(i0));
+ f(fusion::deref(it0));
- typedef typename result_of::next<I0>::type I1;
- I1 i1(fusion::next(i0));
- f(fusion::deref(i1));
+ typedef typename result_of::next<It0>::type It1;
+ It1 it1(fusion::next(it0));
+ f(fusion::deref(it1));
}
};
template<>
struct for_each_unrolled<1>
{
- template<typename I0, typename F>
- static void call(I0 const& i0, BOOST_FUSION_R_ELSE_LREF(F))
+ template<typename It0, typename F>
+ static void call(It0 const& it0, BOOST_FUSION_R_ELSE_LREF(F))
{
- f(fusion::deref(i0));
+ f(fusion::deref(it0));
}
};
Modified: sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/detail/count_if.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/detail/count_if.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/detail/count_if.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -70,33 +70,33 @@
template<int n>
struct unrolled_count_if
{
- template<typename I0, typename F>
- static int call(I0 const& i0, BOOST_FUSION_R_ELSE_LREF(F) f)
+ template<typename It0, typename F>
+ static int call(It0 const& it0, BOOST_FUSION_R_ELSE_LREF(F) f)
{
int ct = unrolled_count_if<n-4>::
- call(fusion::advance_c<4>(i0), BOOST_FUSION_FORWARD(F,f));
- if(f(fusion::deref(i0)))
+ call(fusion::advance_c<4>(it0), BOOST_FUSION_FORWARD(F,f));
+ if(f(fusion::deref(it0)))
{
++ct;
}
- typedef typename result_of::next<I0>::type I1;
- I1 i1(fusion::next(i0));
- if(f(fusion::deref(i1)))
+ typedef typename result_of::next<It0>::type It1;
+ It1 it1(fusion::next(it0));
+ if(f(fusion::deref(it1)))
{
++ct;
}
- typedef typename result_of::next<I1>::type I2;
- I2 i2(fusion::next(i1));
- if(f(fusion::deref(i2)))
+ typedef typename result_of::next<It1>::type It2;
+ It2 it2(fusion::next(it1));
+ if(f(fusion::deref(it2)))
{
++ct;
}
- typedef typename result_of::next<I2>::type I3;
- I3 i3(fusion::next(i2));
- if(f(fusion::deref(i3)))
+ typedef typename result_of::next<It2>::type It3;
+ It3 it3(fusion::next(it2));
+ if(f(fusion::deref(it3)))
{
++ct;
}
@@ -108,25 +108,25 @@
template<>
struct unrolled_count_if<3>
{
- template<typename I0, typename F>
- static int call(I0 const& i0, BOOST_FUSION_R_ELSE_LREF(F) f)
+ template<typename It0, typename F>
+ static int call(It0 const& it0, BOOST_FUSION_R_ELSE_LREF(F) f)
{
int ct = 0;
- if(f(fusion::deref(i0)))
+ if(f(fusion::deref(it0)))
{
++ct;
}
- typedef typename result_of::next<I0>::type I1;
- I1 i1(fusion::next(i0));
- if(f(fusion::deref(i1)))
+ typedef typename result_of::next<It0>::type It1;
+ It1 it1(fusion::next(it0));
+ if(f(fusion::deref(it1)))
{
++ct;
}
- typedef typename result_of::next<I1>::type I2;
- I2 i2(fusion::next(i1));
- if(f(fusion::deref(i2)))
+ typedef typename result_of::next<It1>::type It2;
+ It2 it2(fusion::next(it1));
+ if(f(fusion::deref(it2)))
{
++ct;
}
@@ -138,18 +138,18 @@
template<>
struct unrolled_count_if<2>
{
- template<typename I0, typename F>
- static int call(I0 const& i0, BOOST_FUSION_R_ELSE_LREF(F) f)
+ template<typename It0, typename F>
+ static int call(It0 const& it0, BOOST_FUSION_R_ELSE_LREF(F) f)
{
int ct = 0;
- if(f(fusion::deref(i0)))
+ if(f(fusion::deref(it0)))
{
++ct;
}
- typedef typename result_of::next<I0>::type I1;
- I1 i1(fusion::next(i0));
- if(f(fusion::deref(i1)))
+ typedef typename result_of::next<It0>::type It1;
+ It1 it1(fusion::next(it0));
+ if(f(fusion::deref(it1)))
{
++ct;
}
@@ -161,11 +161,11 @@
template<>
struct unrolled_count_if<1>
{
- template<typename I0, typename F>
- static int call(I0 const& i0, BOOST_FUSION_R_ELSE_LREF(F) f)
+ template<typename It0, typename F>
+ static int call(It0 const& it0, BOOST_FUSION_R_ELSE_LREF(F) f)
{
int ct = 0;
- if(f(fusion::deref(i0)))
+ if(f(fusion::deref(it0)))
{
++ct;
}
@@ -177,8 +177,8 @@
template<>
struct unrolled_count_if<0>
{
- template<typename I0, typename F>
- static int call(I0 const&, BOOST_FUSION_R_ELSE_LREF(F))
+ template<typename It0, typename F>
+ static int call(It0 const&, BOOST_FUSION_R_ELSE_LREF(F))
{
return 0;
}
@@ -196,9 +196,7 @@
>
gen;
- return gen::call(
- fusion::begin(BOOST_FUSION_FORWARD(Seq,seq)),
- BOOST_FUSION_FORWARD(F,f));
+ return gen::call(fusion::begin(seq),BOOST_FUSION_FORWARD(F,f));
}
}
}}
Modified: sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/detail/replace_if.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/detail/replace_if.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/detail/replace_if.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -90,13 +90,10 @@
>
gen;
- //TODO ???
return gen::call(
BOOST_FUSION_FORWARD(U, x),
- static_cast<F>(f),
- static_cast<NewValue>(new_value));
- //BOOST_FUSION_FORWARD(pred_type,f),
- //BOOST_FUSION_FORWARD(value_type,new_value));
+ f,
+ new_value);
}
F f;
Modified: sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/erase.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/erase.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/erase.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -120,12 +120,12 @@
return result_type(
left_type(
- fusion::begin(BOOST_FUSION_FORWARD(Seq,seq))
+ fusion::begin(seq)
, first
)
, right_type(
last
- , fusion::end(BOOST_FUSION_FORWARD(Seq,seq))
+ , fusion::end(seq)
));
}
Modified: sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/filter.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/filter.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/filter.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -30,8 +30,11 @@
inline typename result_of::filter<BOOST_FUSION_R_ELSE_LREF(Seq), T>::type
filter(BOOST_FUSION_R_ELSE_LREF(Seq) seq)
{
- return filter_view<BOOST_FUSION_R_ELSE_LREF(Seq),is_same<mpl::_, T> >(
- BOOST_FUSION_FORWARD(Seq,seq));
+ return
+ filter_view<
+ BOOST_FUSION_R_ELSE_LREF(Seq)
+ , is_same<mpl::_, T>
+ >(BOOST_FUSION_FORWARD(Seq,seq));
}
}}
Modified: sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/insert.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/insert.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/insert.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -43,7 +43,7 @@
{
return insert_range(BOOST_FUSION_FORWARD(Seq,seq)
, pos
- , (const single_view<T>&) make_single_view(BOOST_FUSION_FORWARD(T,x)));
+ , make_single_view(BOOST_FUSION_FORWARD(T,x)));
}
//TODO cref
Modified: sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/insert_range.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/insert_range.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/insert_range.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -59,13 +59,16 @@
return result(
left_insert_type(
left_type(
- fusion::begin(BOOST_FUSION_FORWARD(Seq,seq)),
- pos),
- BOOST_FUSION_FORWARD(Range,range)),
+ fusion::begin(seq),
+ pos
+ ),
+ BOOST_FUSION_FORWARD(Range,range)
+ ),
right_type(
pos,
- fusion::end(seq))
- );
+ fusion::end(seq)
+ )
+ );
}
}}
Modified: sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/join.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/join.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/join.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -31,16 +31,11 @@
join(BOOST_FUSION_R_ELSE_LREF(Lhs) lhs,
BOOST_FUSION_R_ELSE_LREF(Rhs) rhs)
{
- typedef typename
+ return typename
result_of::join<
BOOST_FUSION_R_ELSE_LREF(Lhs)
, BOOST_FUSION_R_ELSE_LREF(Rhs)
- >::type
- type;
-
- return type(
- BOOST_FUSION_FORWARD(Lhs,lhs)
- , BOOST_FUSION_FORWARD(Rhs,rhs));
+ >::type(lhs,rhs);
}
}}
Modified: sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/replace_if.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/replace_if.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/replace_if.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -58,6 +58,7 @@
, BOOST_FUSION_R_ELSE_LREF(NewValue)
>::type
type;
+
typedef
detail::replacer_if<
typename detail::as_fusion_element<
Modified: sandbox/SOC/2009/fusion/boost/fusion/container/list/cons.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/list/cons.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/list/cons.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -54,14 +54,8 @@
nil(const nil&)
{}
- template<typename Seq>
- nil(detail::sequence_assign_type<Seq> const volatile&)
- {
- //TODO cschmidt: assert!
- }
-
- template<typename Sequence>
- nil(detail::sequence_assign_type<Sequence> const volatile&&)
+ template<typename SeqAssign>
+ nil(BOOST_FUSION_R_ELSE_LREF(SeqAssign))
{
//TODO cschmidt: assert!
}
@@ -125,19 +119,19 @@
//cschmidt: rvalue ref if possible, so this does not collide with
//cons(OtherCar&&,OtherCdr&&)
- template<typename Iterator>
+ template<typename It>
cons(detail::assign_by_deref,
- BOOST_FUSION_R_ELSE_CLREF(Iterator) iterator)
- : car(fusion::deref(iterator))
- , cdr(detail::assign_by_deref(),fusion::next(iterator))
+ BOOST_FUSION_R_ELSE_CLREF(It) it)
+ : car(fusion::deref(it))
+ , cdr(detail::assign_by_deref(),fusion::next(it))
{}
/*
- template<typename Sequence>
+ template<typename Seq>
vector(typename enable_if_c<sizeof...(Elements)!=1,
- BOOST_FUSION_R_ELSE_CLREF(Sequence)>::type seq)
+ BOOST_FUSION_R_ELSE_CLREF(Seq)>::type seq)
: base(detail::assign_by_deref(),
- fusion::begin(BOOST_FUSION_FORWARD(Sequence,seq)))
+ fusion::begin(BOOST_FUSION_FORWARD(Seq,seq)))
{}
*/
Modified: sandbox/SOC/2009/fusion/boost/fusion/container/list/convert.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/list/convert.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/list/convert.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -16,30 +16,29 @@
{
namespace result_of
{
- template <typename Sequence>
+ template <typename Seq>
struct as_list
{
typedef typename
extension::convert_impl<list_tag>::
- template apply<typename detail::add_lref<Sequence>::type>
+ template apply<typename detail::add_lref<Seq>::type>
gen;
typedef typename gen::type type;
};
}
- template <typename Sequence>
- inline typename
- result_of::as_list<BOOST_FUSION_R_ELSE_CLREF(Sequence)>::type
- as_list(BOOST_FUSION_R_ELSE_CLREF(Sequence) seq)
+ template <typename Seq>
+ inline typename result_of::as_list<BOOST_FUSION_R_ELSE_CLREF(Seq)>::type
+ as_list(BOOST_FUSION_R_ELSE_CLREF(Seq) seq)
{
typedef typename
- result_of::as_list<BOOST_FUSION_R_ELSE_CLREF(Sequence)>::gen
+ result_of::as_list<BOOST_FUSION_R_ELSE_CLREF(Seq)>::gen
gen;
+
return gen::call(seq);
}
}}
-
#endif
Modified: sandbox/SOC/2009/fusion/boost/fusion/container/list/detail/cons/deref_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/list/detail/cons/deref_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/list/detail/cons/deref_impl.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -21,11 +21,11 @@
template <>
struct deref_impl<cons_iterator_tag>
{
- template <typename Iterator>
+ template <typename ItRef>
struct apply
{
typedef typename
- detail::remove_reference<Iterator>::type::cons_type
+ detail::remove_reference<ItRef>::type::cons_type
cons_type;
typedef typename
detail::remove_reference<cons_type>::type::car_type
@@ -36,9 +36,9 @@
type;
static type
- call(Iterator i)
+ call(ItRef it)
{
- return i.cons->car;
+ return it.cons->car;
}
};
};
Modified: sandbox/SOC/2009/fusion/boost/fusion/container/list/detail/cons/equal_to_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/list/detail/cons/equal_to_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/list/detail/cons/equal_to_impl.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -20,17 +20,17 @@
template <>
struct equal_to_impl<cons_iterator_tag>
{
- template <typename I1Ref, typename I2Ref>
+ template <typename It1Ref, typename It2Ref>
struct apply
: is_same<
typename detail::identity<
typename detail::remove_reference<
- I1Ref
+ It1Ref
>::type::cons_type
>::type
, typename detail::identity<
typename detail::remove_reference<
- I2Ref
+ It2Ref
>::type::cons_type
>::type
>
Modified: sandbox/SOC/2009/fusion/boost/fusion/container/list/detail/cons/value_of_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/list/detail/cons/value_of_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/list/detail/cons/value_of_impl.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -21,11 +21,11 @@
template <>
struct value_of_impl<cons_iterator_tag>
{
- template <typename Iterator>
+ template <typename ItRef>
struct apply
{
typedef typename
- detail::remove_reference<Iterator>::type::cons_type
+ detail::remove_reference<ItRef>::type::cons_type
cons_type;
typedef typename
Modified: sandbox/SOC/2009/fusion/boost/fusion/container/list/detail/list/at_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/list/detail/list/at_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/list/detail/list/at_impl.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -37,8 +37,7 @@
static type
call(SeqRef seq)
{
- return fusion::at<N>(
- static_cast<storage_type&>(seq.get_data()));
+ return fusion::at<N>(seq.get_data());
}
};
};
Modified: sandbox/SOC/2009/fusion/boost/fusion/container/map/convert.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/map/convert.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/map/convert.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -16,25 +16,26 @@
{
namespace result_of
{
- template <typename Sequence>
+ template <typename Seq>
struct as_map
{
typedef typename
extension::convert_impl<map_tag>::
- template apply<typename detail::add_lref<Sequence>::type>
+ template apply<typename detail::add_lref<Seq>::type>
gen;
typedef typename gen::apply::type type;
};
}
- template <typename Sequence>
- inline typename result_of::as_map<BOOST_FUSION_R_ELSE_CLREF(Sequence)>::type
- as_map(BOOST_FUSION_R_ELSE_CLREF(Sequence) seq)
+ template <typename Seq>
+ inline typename result_of::as_map<BOOST_FUSION_R_ELSE_CLREF(Seq)>::type
+ as_map(BOOST_FUSION_R_ELSE_CLREF(Seq) seq)
{
typedef typename
- result_of::as_map<BOOST_FUSION_R_ELSE_CLREF(Sequence)>::gen
+ result_of::as_map<BOOST_FUSION_R_ELSE_CLREF(Seq)>::gen
gen;
+
return gen::call(seq);
}
Modified: sandbox/SOC/2009/fusion/boost/fusion/container/map/detail/at_key_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/map/detail/at_key_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/map/detail/at_key_impl.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -20,22 +20,22 @@
template <>
struct at_key_impl<map_tag>
{
- template <typename Sequence, typename Key>
+ template <typename SeqRef, typename Key>
struct apply
{
typedef typename
- detail::remove_reference<Sequence>::type::
+ detail::remove_reference<SeqRef>::type::
template meta_at_impl<Key>::type
element;
typedef typename
- detail::result_of_forward_as<Sequence,element>::type
+ detail::result_of_forward_as<SeqRef,element>::type
type;
static type
- call(Sequence s)
+ call(SeqRef seq)
{
- return s.at_impl(mpl::identity<Key>());
+ return seq.at_impl(mpl::identity<Key>());
}
};
};
Modified: sandbox/SOC/2009/fusion/boost/fusion/container/map/detail/begin_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/map/detail/begin_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/map/detail/begin_impl.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -20,12 +20,15 @@
template <>
struct begin_impl<map_tag>
{
- template <typename Sequence>
+ template <typename SeqRef>
struct apply
{
typedef typename
- detail::result_of_forward_as<Sequence
- , typename detail::remove_reference<Sequence>::type::storage_type
+ detail::result_of_forward_as<
+ SeqRef
+ , typename detail::remove_reference<
+ SeqRef
+ >::type::storage_type
>::type
storage_type;
@@ -34,10 +37,9 @@
type;
static type
- call(Sequence s)
+ call(SeqRef seq)
{
- return fusion::begin(
- static_cast<storage_type>(s.get_data()));
+ return fusion::begin(seq.get_data());
}
};
};
Modified: sandbox/SOC/2009/fusion/boost/fusion/container/map/detail/convert_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/map/detail/convert_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/map/detail/convert_impl.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -26,27 +26,29 @@
template <>
struct convert_impl<map_tag>
{
- template <typename Sequence>
+ template <typename SeqRef>
struct apply
{
#ifdef BOOST_NO_VARIADIC_TEMPLATES
typedef typename
- detail::as_map<result_of::size<Sequence>::value>
+ detail::as_map<result_of::size<SeqRef>::value>
gen;
- typedef typename gen::template apply<
- typename result_of::begin<Sequence>::type>::type
+ typedef typename
+ gen::template apply<
+ typename result_of::begin<SeqRef>::type
+ >::type
type;
- static type call(Sequence seq)
+ static type call(SeqRef seq)
{
return gen::call(
fusion::begin(BOOST_FUSION_FORWARD(Sequence,seq)));
}
#else
- typedef typename detail::as_map_impl<Sequence> gen;
+ typedef typename detail::as_map_impl<SeqRef> gen;
typedef typename gen::apply::type type;
- static type call(Sequence seq)
+ static type call(SeqRef seq)
{
return gen::call(seq);
}
Modified: sandbox/SOC/2009/fusion/boost/fusion/container/map/detail/end_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/map/detail/end_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/map/detail/end_impl.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -20,12 +20,15 @@
template <>
struct end_impl<map_tag>
{
- template <typename Sequence>
+ template <typename SeqRef>
struct apply
{
typedef typename
- detail::result_of_forward_as<Sequence
- , typename detail::remove_reference<Sequence>::type::storage_type
+ detail::result_of_forward_as<
+ SeqRef
+ , typename detail::remove_reference<
+ SeqRef
+ >::type::storage_type
>::type
storage_type;
@@ -34,10 +37,9 @@
type;
static type
- call(Sequence s)
+ call(SeqRef seq)
{
- return fusion::end(
- static_cast<storage_type>(s.get_data()));
+ return fusion::end(seq.get_data());
}
};
};
Deleted: sandbox/SOC/2009/fusion/boost/fusion/container/map/detail/pp/map_lookup.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/map/detail/pp/map_lookup.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
+++ (empty file)
@@ -1,128 +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)
-==============================================================================*/
-
-#ifndef BOOST_FUSION_CONTAINER_MAP_DETAIL_PP_MAP_LOOKUP_HPP
-#define BOOST_FUSION_CONTAINER_MAP_DETAIL_PP_MAP_LOOKUP_HPP
-#define FUSION_MAP_LOOKUP_07212005_1118
-
-#include <boost/preprocessor/iterate.hpp>
-#include <boost/preprocessor/cat.hpp>
-#include <boost/preprocessor/arithmetic/dec.hpp>
-#include <boost/preprocessor/repetition/enum_params.hpp>
-#include <boost/preprocessor/repetition/enum_binary_params.hpp>
-
-#if defined(BOOST_MSVC) && (BOOST_MSVC == 1310)
-#pragma warning (push)
-#pragma warning(disable: 4348) // redefinition of default parameter
-#endif
-
- template <typename Key, typename dummy = int>
- struct meta_at_impl
- {
- typedef void_ type;
- };
-
- template <typename Key, typename dummy = int>
- struct meta_find_impl
- {
- typedef vector_iterator<storage_type, storage_type::size::value> type;
- };
-
- template <typename Key, typename dummy = int>
- struct meta_find_impl_const
- {
- typedef vector_iterator<storage_type const, storage_type::size::value> type;
- };
-
- template <typename Key>
- vector_iterator<storage_type const, storage_type::size::value>
- find_impl(mpl::identity<Key>) const
- {
- return vector_iterator<storage_type const, storage_type::size::value>(data);
- }
-
- template <typename Key>
- vector_iterator<storage_type, storage_type::size::value>
- find_impl(mpl::identity<Key>)
- {
- return vector_iterator<storage_type, storage_type::size::value>(data);
- }
-
-#define BOOST_PP_FILENAME_1 \
- <boost/fusion/container/map/detail/map_lookup.hpp>
-#define BOOST_PP_ITERATION_LIMITS (0, BOOST_PP_DEC(FUSION_MAX_MAP_SIZE))
-#include BOOST_PP_ITERATE()
-
-#if defined(BOOST_MSVC) && (BOOST_MSVC == 1310)
-#pragma warning (pop)
-#endif
-
-#endif
-#else // defined(BOOST_PP_IS_ITERATING)
-///////////////////////////////////////////////////////////////////////////////
-//
-// Preprocessor vertical repetition code
-//
-///////////////////////////////////////////////////////////////////////////////
-
-#define N BOOST_PP_ITERATION()
-
- template <typename dummy>
- struct meta_at_impl<
- typename detail::map_key_type<BOOST_PP_CAT(T, N), N>::type, dummy>
- {
- typedef typename detail::map_value_type<BOOST_PP_CAT(T, N)>::type type;
- };
-
- typename detail::map_data_type<BOOST_PP_CAT(T, N)>::type
- at_impl(mpl::identity<typename detail::map_key_type<BOOST_PP_CAT(T, N), N>::type>)
- {
- return detail::map_lookup_key<
- N
- , typename detail::map_data_type<BOOST_PP_CAT(T, N)>::type
- , typename detail::map_key_type<BOOST_PP_CAT(T, N), N>::type
- , storage_type>::call(data);
- }
-
- typename detail::map_const_data_type<BOOST_PP_CAT(T, N)>::type
- at_impl(mpl::identity<typename detail::map_key_type<BOOST_PP_CAT(T, N), N>::type>) const
- {
- return detail::map_lookup_key<
- N
- , typename detail::map_const_data_type<BOOST_PP_CAT(T, N)>::type
- , typename detail::map_key_type<BOOST_PP_CAT(T, N), N>::type
- , storage_type const>::call(data);
- }
-
- template <typename dummy>
- struct meta_find_impl<
- typename detail::map_key_type<BOOST_PP_CAT(T, N), N>::type, dummy>
- {
- typedef vector_iterator<storage_type, N> type;
- };
-
- template <typename dummy>
- struct meta_find_impl_const<
- typename detail::map_key_type<BOOST_PP_CAT(T, N), N>::type, dummy>
- {
- typedef vector_iterator<storage_type const, N> type;
- };
-
- vector_iterator<storage_type, N>
- find_impl(mpl::identity<typename detail::map_key_type<BOOST_PP_CAT(T, N), N>::type>)
- {
- return vector_iterator<storage_type, N>(data);
- }
-
- vector_iterator<storage_type const, N>
- find_impl(mpl::identity<typename detail::map_key_type<BOOST_PP_CAT(T, N), N>::type>) const
- {
- return vector_iterator<storage_type const, N>(data);
- }
-
-#undef N
-#endif // defined(BOOST_PP_IS_ITERATING)
Modified: sandbox/SOC/2009/fusion/boost/fusion/container/map/detail/value_at_key_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/map/detail/value_at_key_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/map/detail/value_at_key_impl.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -21,14 +21,12 @@
template <>
struct value_at_key_impl<map_tag>
{
- template <typename Sequence, typename Key>
+ template <typename SeqRef, typename Key>
struct apply
{
typedef typename
- detail::remove_reference<Sequence>::type
- identity_sequence_type;
- typedef typename
- identity_sequence_type::template meta_at_impl<Key>::type
+ detail::remove_reference<SeqRef>::type::
+ template meta_at_impl<Key>::type
type;
};
};
Modified: sandbox/SOC/2009/fusion/boost/fusion/container/map/detail/variadic_templates/as_map_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/map/detail/variadic_templates/as_map_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/map/detail/variadic_templates/as_map_impl.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -17,7 +17,8 @@
namespace boost { namespace fusion { namespace detail
{
- template<typename Sequence>struct as_map_impl
+ template<typename SeqRef>
+ struct as_map_impl
{
struct apply
{
@@ -25,17 +26,17 @@
mpl::apply<
mpl::unpack_args<variadic_quote<map> >
, typename detail::to_random_access_mpl_seq<
- typename detail::remove_reference<Sequence>::type
+ typename detail::remove_reference<SeqRef>::type
>::type
>::type
type;
};
static typename apply::type
- call(Sequence sequence)
+ call(SeqRef seq)
{
return typename apply::type(
- sequence_assign(BOOST_FUSION_FORWARD(Sequence,sequence)));
+ sequence_assign(BOOST_FUSION_FORWARD(SeqRef,seq)));
}
};
}}}
Modified: sandbox/SOC/2009/fusion/boost/fusion/container/map/map.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/map/map.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/map/map.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -55,8 +55,6 @@
typedef vector<EXPAND_ARGUMENTS(FUSION_MAX_MAP_SIZE)> storage_type;
typedef typename storage_type::size size;
-#ifndef BOOST_NO_VARIADIC_TEMPLATES
- //TODO cschmidt: enable for non-variadic templates version?
private:
template<class Key>struct is_key
{
@@ -127,10 +125,9 @@
>
type;
};
-#endif
map()
- : data() {}
+ {}
#define MAP_CTOR(COMBINATION)\
map(map COMBINATION map_)\
@@ -148,8 +145,7 @@
: data(BOOST_FUSION_FORWARD(Arg,arg))
{}
-# include <boost/fusion/container/map/detail/pp/set_forward_ctor.hpp>
-# include <boost/fusion/container/map/detail/pp/set_lookup.hpp>
+# include <boost/fusion/container/map/detail/pp/map_forward_ctor.hpp>
#else
template <typename... OtherArguments>
map(BOOST_FUSION_R_ELSE_CLREF(OtherArguments)... other_arguments)
Modified: sandbox/SOC/2009/fusion/boost/fusion/container/set/convert.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/set/convert.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/set/convert.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -16,27 +16,27 @@
{
namespace result_of
{
- template <typename Sequence>
+ template <typename Seq>
struct as_set
{
typedef typename
extension::convert_impl<set_tag>::
- template apply<typename detail::add_lref<Sequence>::type>
+ template apply<typename detail::add_lref<Seq>::type>
gen;
typedef typename gen::apply::type type;
};
}
- template <typename Sequence>
- inline typename result_of::as_set<BOOST_FUSION_R_ELSE_CLREF(Sequence)>::type
- as_set(BOOST_FUSION_R_ELSE_CLREF(Sequence) seq)
+ template <typename Seq>
+ inline typename result_of::as_set<BOOST_FUSION_R_ELSE_CLREF(Seq)>::type
+ as_set(BOOST_FUSION_R_ELSE_CLREF(Seq) seq)
{
typedef typename
- result_of::as_set<BOOST_FUSION_R_ELSE_CLREF(Sequence)>::gen
+ result_of::as_set<BOOST_FUSION_R_ELSE_CLREF(Seq)>::gen
gen;
- return gen::call(BOOST_FUSION_FORWARD(Sequence,seq));
+ return gen::call(seq);
}
}}
Modified: sandbox/SOC/2009/fusion/boost/fusion/container/set/detail/at_key_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/set/detail/at_key_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/set/detail/at_key_impl.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -20,22 +20,22 @@
template <>
struct at_key_impl<set_tag>
{
- template <typename Sequence, typename Key>
+ template <typename SeqRef, typename Key>
struct apply
{
typedef typename
- detail::remove_reference<Sequence>::type::
+ detail::remove_reference<SeqRef>::type::
template meta_at_impl<Key>::type
element;
typedef typename
- detail::result_of_forward_as<Sequence,element>::type
+ detail::result_of_forward_as<SeqRef,element>::type
type;
static type
- call(Sequence s)
+ call(SeqRef seq)
{
- return s.at_impl(mpl::identity<Key>());
+ return seq.at_impl(mpl::identity<Key>());
}
};
};
Modified: sandbox/SOC/2009/fusion/boost/fusion/container/set/detail/begin_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/set/detail/begin_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/set/detail/begin_impl.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -20,12 +20,14 @@
template <>
struct begin_impl<set_tag>
{
- template <typename Sequence>
+ template <typename SeqRef>
struct apply
{
typedef typename
- detail::result_of_forward_as<Sequence
- , typename detail::remove_reference<Sequence>::type::storage_type
+ detail::result_of_forward_as<SeqRef
+ , typename detail::remove_reference<
+ SeqRef
+ >::type::storage_type
>::type
storage_type;
@@ -34,10 +36,9 @@
type;
static type
- call(Sequence s)
+ call(SeqRef seq)
{
- return fusion::begin(
- static_cast<storage_type>(s.get_data()));
+ return fusion::begin(seq.get_data());
}
};
};
Modified: sandbox/SOC/2009/fusion/boost/fusion/container/set/detail/convert_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/set/detail/convert_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/set/detail/convert_impl.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -26,28 +26,28 @@
template <>
struct convert_impl<set_tag>
{
- template <typename Sequence>
+ template <typename SeqRef>
struct apply
{
#ifdef BOOST_NO_VARIADIC_TEMPLATES
typedef typename
- detail::as_set<result_of::size<Sequence>::value>
+ detail::as_set<result_of::size<SeqRef>::value>
gen;
typedef typename gen::template apply<
- typename result_of::begin<Sequence>::type>::type
+ typename result_of::begin<SeqRef>::type>::type
type;
- static type call(Sequence seq)
+ static type call(SeqRef seq)
{
return gen::call(
fusion::begin(BOOST_FUSION_FORWARD(Sequence,seq)));
}
#else
- typedef typename detail::as_set_impl<Sequence> gen;
+ typedef typename detail::as_set_impl<SeqRef> gen;
typedef typename gen::apply::type type;
- static type call(Sequence seq)
+ static type call(SeqRef seq)
{
return gen::call(seq);
}
Modified: sandbox/SOC/2009/fusion/boost/fusion/container/set/detail/end_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/set/detail/end_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/set/detail/end_impl.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -20,12 +20,15 @@
template <>
struct end_impl<set_tag>
{
- template <typename Sequence>
+ template <typename SeqRef>
struct apply
{
typedef typename
- detail::result_of_forward_as<Sequence
- , typename detail::remove_reference<Sequence>::type::storage_type
+ detail::result_of_forward_as<
+ SeqRef
+ , typename detail::remove_reference<
+ SeqRef
+ >::type::storage_type
>::type
storage_type;
@@ -34,10 +37,9 @@
type;
static type
- call(Sequence s)
+ call(SeqRef seq)
{
- return fusion::end(
- static_cast<storage_type>(s.get_data()));
+ return fusion::end(seq.get_data());
}
};
};
Modified: sandbox/SOC/2009/fusion/boost/fusion/container/set/detail/pp/set_forward_ctor.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/set/detail/pp/set_forward_ctor.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/set/detail/pp/set_forward_ctor.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -7,7 +7,6 @@
#ifndef BOOST_FUSION_CONTAINER_SET_DETAIL_PP_SET_FORWARD_CTOR_HPP
#define BOOST_FUSION_CONTAINER_SET_DETAIL_PP_SET_FORWARD_CTOR_HPP
-#define FUSION_SET_FORWARD_CTOR_09162005_1115
#include <boost/preprocessor/iterate.hpp>
#include <boost/preprocessor/repetition/enum_params.hpp>
@@ -18,7 +17,6 @@
#define BOOST_PP_ITERATION_LIMITS (1, FUSION_MAX_SET_SIZE)
#include BOOST_PP_ITERATE()
-#endif
#else // defined(BOOST_PP_IS_ITERATING)
///////////////////////////////////////////////////////////////////////////////
//
Deleted: sandbox/SOC/2009/fusion/boost/fusion/container/set/detail/pp/set_lookup.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/set/detail/pp/set_lookup.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
+++ (empty file)
@@ -1,122 +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)
-==============================================================================*/
-
-#ifndef BOOST_FUSION_CONTAINER_SET_DETAIL_PP_SET_LOOKUP_HPP
-#define BOOST_FUSION_CONTAINER_SET_DETAIL_PP_SET_LOOKUP_HPP
-#define FUSION_SET_LOOKUP_09162005_1116
-
-#include <boost/preprocessor/iterate.hpp>
-#include <boost/preprocessor/cat.hpp>
-#include <boost/preprocessor/arithmetic/dec.hpp>
-#include <boost/preprocessor/repetition/enum_params.hpp>
-#include <boost/preprocessor/repetition/enum_binary_params.hpp>
-#include <boost/type_traits/add_const.hpp>
-#include <boost/type_traits/add_reference.hpp>
-
-#if defined(BOOST_MSVC) && (BOOST_MSVC == 1310)
-#pragma warning (push)
-#pragma warning(disable: 4348) // redefinition of default parameter
-#endif
-
- template <typename Key, typename dummy = int>
- struct meta_at_impl
- {
- typedef void_ type;
- };
-
- template <typename Key, typename dummy = int>
- struct meta_find_impl
- {
- typedef vector_iterator<storage_type, storage_type::size::value> type;
- };
-
- template <typename Key, typename dummy = int>
- struct meta_find_impl_const
- {
- typedef vector_iterator<storage_type const, storage_type::size::value> type;
- };
-
- template <typename Key>
- vector_iterator<storage_type const, storage_type::size::value>
- find_impl(mpl::identity<Key>) const
- {
- return vector_iterator<storage_type const, storage_type::size::value>(data);
- }
-
- template <typename Key>
- vector_iterator<storage_type, storage_type::size::value>
- find_impl(mpl::identity<Key>)
- {
- return vector_iterator<storage_type, storage_type::size::value>(data);
- }
-
-#define BOOST_PP_FILENAME_1 \
- <boost/fusion/container/set/detail/set_lookup.hpp>
-#define BOOST_PP_ITERATION_LIMITS (0, BOOST_PP_DEC(FUSION_MAX_SET_SIZE))
-#include BOOST_PP_ITERATE()
-
-#if defined(BOOST_MSVC) && (BOOST_MSVC == 1310)
-#pragma warning (pop)
-#endif
-
-#endif
-#else // defined(BOOST_PP_IS_ITERATING)
-///////////////////////////////////////////////////////////////////////////////
-//
-// Preprocessor vertical repetition code
-//
-///////////////////////////////////////////////////////////////////////////////
-
-#define N BOOST_PP_ITERATION()
-
- template <typename dummy>
- struct meta_at_impl<
- typename detail::set_key_type<BOOST_PP_CAT(T, N), N>::type, dummy>
- {
- typedef BOOST_PP_CAT(T, N) type;
- };
-
- typename add_reference<BOOST_PP_CAT(T, N)>::type
- at_impl(mpl::identity<typename detail::set_key_type<BOOST_PP_CAT(T, N), N>::type>)
- {
- return data.at_impl(mpl::int_<N>());
- }
-
- typename add_reference<typename add_const<BOOST_PP_CAT(T, N)>::type>::type
- at_impl(mpl::identity<typename detail::set_key_type<BOOST_PP_CAT(T, N), N>::type>) const
- {
- return data.at_impl(mpl::int_<N>());
- }
-
- template <typename dummy>
- struct meta_find_impl<
- typename detail::set_key_type<BOOST_PP_CAT(T, N), N>::type, dummy>
- {
- typedef vector_iterator<storage_type, N> type;
- };
-
- template <typename dummy>
- struct meta_find_impl_const<
- typename detail::set_key_type<BOOST_PP_CAT(T, N), N>::type, dummy>
- {
- typedef vector_iterator<storage_type const, N> type;
- };
-
- vector_iterator<storage_type, N>
- find_impl(mpl::identity<typename detail::set_key_type<BOOST_PP_CAT(T, N), N>::type>)
- {
- return vector_iterator<storage_type, N>(data);
- }
-
- vector_iterator<storage_type const, N>
- find_impl(mpl::identity<typename detail::set_key_type<BOOST_PP_CAT(T, N), N>::type>) const
- {
- return vector_iterator<storage_type const, N>(data);
- }
-
-#undef N
-#endif // defined(BOOST_PP_IS_ITERATING)
Modified: sandbox/SOC/2009/fusion/boost/fusion/container/set/detail/value_at_key_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/set/detail/value_at_key_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/set/detail/value_at_key_impl.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -21,14 +21,12 @@
template <>
struct value_at_key_impl<set_tag>
{
- template <typename Sequence, typename Key>
+ template <typename SeqRef, typename Key>
struct apply
{
typedef typename
- detail::remove_reference<Sequence>::type
- identity_sequence_type;
- typedef typename
- identity_sequence_type::template meta_at_impl<Key>::type
+ detail::remove_reference<SeqRef>::type::
+ template meta_at_impl<Key>::type
type;
};
};
Modified: sandbox/SOC/2009/fusion/boost/fusion/container/set/detail/variadic_templates/as_set_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/set/detail/variadic_templates/as_set_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/set/detail/variadic_templates/as_set_impl.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -16,7 +16,8 @@
namespace boost { namespace fusion { namespace detail
{
- template<typename Sequence>struct as_set_impl
+ template<typename SeqRef>
+ struct as_set_impl
{
struct apply
{
@@ -24,17 +25,17 @@
mpl::apply<
mpl::unpack_args<variadic_quote<set> >
, typename detail::to_random_access_mpl_seq<
- typename detail::remove_reference<Sequence>::type
+ typename detail::remove_reference<SeqRef>::type
>::type
>::type
type;
};
static typename apply::type
- call(Sequence sequence)
+ call(SeqRef seq)
{
return typename apply::type(
- sequence_assign(BOOST_FUSION_FORWARD(Sequence,sequence)));
+ sequence_assign(BOOST_FUSION_FORWARD(SeqRef,seq)));
}
};
}}}
Modified: sandbox/SOC/2009/fusion/boost/fusion/container/set/set.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/set/set.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/set/set.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -51,8 +51,6 @@
typedef vector<EXPAND_ARGUMENTS(FUSION_MAX_SET_SIZE)> storage_type;
typedef typename storage_type::size size;
-#ifndef BOOST_NO_VARIADIC_TEMPLATES
- //TODO cschmidt: enable for non-variadic templates version?
template <typename Key>
struct meta_at_impl
{
@@ -61,9 +59,9 @@
typename mpl::contains<
typename storage_type::types
, Key
- >::type,
- Key,
- void_
+ >::type
+ , Key
+ , void_
>::type
type;
};
@@ -101,10 +99,9 @@
>
type;
};
-#endif
set()
- : data() {}
+ {}
#define SET_CTOR(COMBINATION)\
set(set COMBINATION set_)\
@@ -123,7 +120,6 @@
{}
# include <boost/fusion/container/set/detail/pp/set_forward_ctor.hpp>
-# include <boost/fusion/container/set/detail/pp/set_lookup.hpp>
#else
template <typename... OtherArguments>
set(BOOST_FUSION_R_ELSE_CLREF(OtherArguments)... other_arguments)
Modified: sandbox/SOC/2009/fusion/boost/fusion/container/vector/convert.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/vector/convert.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/vector/convert.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -16,25 +16,26 @@
{
namespace result_of
{
- template <typename Sequence>
+ template <typename Seq>
struct as_vector
{
typedef typename
extension::convert_impl<vector_tag>::
- template apply<typename detail::add_lref<Sequence>::type>
+ template apply<typename detail::add_lref<Seq>::type>
gen;
typedef typename gen::type type;
};
}
- template <typename Sequence> inline typename
- result_of::as_vector<BOOST_FUSION_R_ELSE_CLREF(Sequence)>::type
- as_vector(BOOST_FUSION_R_ELSE_CLREF(Sequence) seq)
+ template <typename Seq> inline typename
+ result_of::as_vector<BOOST_FUSION_R_ELSE_CLREF(Seq)>::type
+ as_vector(BOOST_FUSION_R_ELSE_CLREF(Seq) seq)
{
typedef typename
- result_of::as_vector<BOOST_FUSION_R_ELSE_CLREF(Sequence)>::gen
+ result_of::as_vector<BOOST_FUSION_R_ELSE_CLREF(Seq)>::gen
gen;
+
return gen::call(seq);
}
Modified: sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/advance_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/advance_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/advance_impl.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -22,21 +22,24 @@
template <>
struct advance_impl<vector_iterator_tag>
{
- template <typename Iterator, typename N>
+ template <typename ItRef, typename N>
struct apply
{
typedef typename
- detail::remove_reference<Iterator>::type::index
- index;
- typedef typename
- detail::remove_reference<Iterator>::type::vector
- vector;
- typedef vector_iterator<vector, index::value+N::value> type;
+ detail::remove_reference<ItRef>::type
+ it;
+
+ typedef
+ vector_iterator<
+ typename it::vector
+ , it::index::value+N::value
+ >
+ type;
static type
- call(Iterator i)
+ call(ItRef it)
{
- return type(*i.vec,0);
+ return type(*it.vec,0);
}
};
};
Modified: sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/at_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/at_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/at_impl.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -23,24 +23,24 @@
template <>
struct at_impl<vector_tag>
{
- template <typename Sequence, typename N>
+ template <typename SeqRef, typename N>
struct apply
{
typedef typename
mpl::at<
- typename detail::remove_reference<Sequence>::type::types
+ typename detail::remove_reference<SeqRef>::type::types
, N
>::type
element;
typedef typename
- detail::result_of_forward_as<Sequence,element>::type
+ detail::result_of_forward_as<SeqRef,element>::type
type;
static type
- call(Sequence v)
+ call(SeqRef seq)
{
- return v.at_impl(N());
+ return seq.at_impl(N());
}
};
};
Modified: sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/begin_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/begin_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/begin_impl.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -18,15 +18,15 @@
template <>
struct begin_impl<vector_tag>
{
- template <typename Sequence>
+ template <typename SeqRef>
struct apply
{
- typedef vector_iterator<Sequence, 0> type;
+ typedef vector_iterator<SeqRef, 0> type;
static type
- call(Sequence v)
+ call(SeqRef seq)
{
- return type(BOOST_FUSION_FORWARD(Sequence,v),0);
+ return type(seq,0);
}
};
};
Modified: sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/convert_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/convert_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/convert_impl.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -26,27 +26,28 @@
template <>
struct convert_impl<vector_tag>
{
- template <typename Sequence>
+ template <typename SeqRef>
struct apply
{
#ifdef BOOST_NO_VARIADIC_TEMPLATES
typedef typename
- detail::as_vector<result_of::size<Sequence>::value>
+ detail::as_vector<result_of::size<SeqRef>::value>
gen;
+
typedef typename gen::template apply<
- typename result_of::begin<Sequence>::type>::type
+ typename result_of::begin<SeqRef>::type>::type
type;
- static type call(Sequence seq)
+ static type call(SeqRef seq)
{
return gen::call(
fusion::begin(BOOST_FUSION_FORWARD(Sequence,seq)));
}
#else
- typedef typename detail::as_vector_impl<Sequence> gen;
+ typedef typename detail::as_vector_impl<SeqRef> gen;
typedef typename gen::apply::type type;
- static type call(Sequence seq)
+ static type call(SeqRef seq)
{
return gen::call(seq);
}
Modified: sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/deref_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/deref_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/deref_impl.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -24,16 +24,15 @@
template <>
struct deref_impl<vector_iterator_tag>
{
- template <typename Iterator>
+ template <typename ItRef>
struct apply
{
- typedef typename detail::remove_reference<Iterator>::type iterator;
- typedef typename iterator::vector vector;
- typedef typename iterator::index index;
+ typedef typename detail::remove_reference<ItRef>::type it;
+ typedef typename it::vector vector;
typedef typename
mpl::at<
typename detail::remove_reference<vector>::type::types
- , index
+ , typename it::index
>::type
element;
@@ -42,9 +41,9 @@
type;
static type
- call(Iterator i)
+ call(ItRef it)
{
- return i.vec->at_impl(index());
+ return it.vec->at_impl(typename it::index());
}
};
};
Modified: sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/end_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/end_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/end_impl.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -18,18 +18,20 @@
template <>
struct end_impl<vector_tag>
{
- template <typename Sequence>
+ template <typename SeqRef>
struct apply
{
- typedef typename
- detail::remove_reference<Sequence>::type::size
- size;
- typedef vector_iterator<Sequence, size::value> type;
+ typedef
+ vector_iterator<
+ SeqRef
+ , detail::remove_reference<SeqRef>::type::size::value
+ >
+ type;
static type
- call(Sequence v)
+ call(SeqRef seq)
{
- return type(BOOST_FUSION_FORWARD(Sequence,v),0);
+ return type(seq,0);
}
};
};
Modified: sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/equal_to_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/equal_to_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/equal_to_impl.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -22,11 +22,11 @@
template <>
struct equal_to_impl<vector_iterator_tag>
{
- template <typename I1, typename I2>
+ template <typename It1Ref, typename It2Ref>
struct apply
: is_same<
- typename detail::remove_reference<I1>::type::identity
- , typename detail::remove_reference<I2>::type::identity
+ typename detail::remove_reference<It1Ref>::type::identity
+ , typename detail::remove_reference<It2Ref>::type::identity
>
{
};
Modified: sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/next_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/next_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/next_impl.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -23,21 +23,22 @@
template <>
struct next_impl<vector_iterator_tag>
{
- template <typename Iterator>
+ template <typename ItRef>
struct apply
{
- typedef typename
- detail::remove_reference<Iterator>::type::vector
- vector;
- typedef typename
- detail::remove_reference<Iterator>::type::index
- index;
- typedef vector_iterator<vector, index::value+1> type;
+ typedef typename detail::remove_reference<ItRef>::type it;
+
+ typedef
+ vector_iterator<
+ typename it::vector
+ , it::index::value+1
+ >
+ type;
static type
- call(Iterator i)
+ call(ItRef it)
{
- return type(*i.vec,0);
+ return type(*it.vec,0);
}
};
};
Modified: sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/prior_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/prior_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/prior_impl.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -22,25 +22,30 @@
template <>
struct prior_impl<vector_iterator_tag>
{
- template <typename Iterator>
+ template <typename ItRef>
struct apply
{
typedef typename
- detail::remove_reference<Iterator>::type::vector
- vector;
- typedef typename
- detail::remove_reference<Iterator>::type::index
- index;
- typedef vector_iterator<vector, index::value-1> type;
+ detail::remove_reference<ItRef>::type
+ it;
+
+ typedef
+ vector_iterator<
+ typename it::vector
+ , it::index::value-1
+ >
+ type;
static type
- call(Iterator i)
+ call(ItRef it)
{
- return type(*i.vec,0);
+ return type(*it.vec,0);
}
};
};
}
}}
+//TODO I1 -> It1Ref
+
#endif
Modified: sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/value_at_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/value_at_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/value_at_impl.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -22,12 +22,13 @@
template <>
struct value_at_impl<vector_tag>
{
- template <typename Sequence, typename N>
+ template <typename SeqRef, typename N>
struct apply
{
typedef typename
mpl::at<
- typename detail::remove_reference<Sequence>::type::types, N
+ typename detail::remove_reference<SeqRef>::type::types
+ , N
>::type
type;
};
Modified: sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/value_of_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/value_of_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/value_of_impl.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -22,19 +22,20 @@
template <>
struct value_of_impl<vector_iterator_tag>
{
- template <typename Iterator>
+ template <typename ItRef>
struct apply
{
typedef typename
- detail::remove_reference<Iterator>::type::vector
- vector;
+ detail::remove_reference<ItRef>::type
+ it;
typedef typename
- detail::remove_reference<Iterator>::type::index
- index;
+ it::vector
+ vector;
+
typedef typename
mpl::at<
typename detail::remove_reference<vector>::type::types
- , index
+ , typename it::index
>::type
type;
};
Modified: sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/variadic_templates/as_vector_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/variadic_templates/as_vector_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/variadic_templates/as_vector_impl.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -16,7 +16,8 @@
namespace boost { namespace fusion { namespace detail
{
- template<typename Sequence>struct as_vector_impl
+ template<typename SeqRef>
+ struct as_vector_impl
{
struct apply
{
@@ -24,17 +25,17 @@
mpl::apply<
mpl::unpack_args<variadic_quote<vector> >
, typename detail::to_random_access_mpl_seq<
- typename detail::remove_reference<Sequence>::type
+ typename detail::remove_reference<SeqRef>::type
>::type
>::type
type;
};
static typename apply::type
- call(Sequence sequence)
+ call(SeqRef seq)
{
return typename apply::type(
- sequence_assign(BOOST_FUSION_FORWARD(Sequence,sequence)));
+ sequence_assign(BOOST_FUSION_FORWARD(SeqRef,seq)));
}
};
}}}
Modified: sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/variadic_templates/vector_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/variadic_templates/vector_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/variadic_templates/vector_impl.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -44,14 +44,14 @@
{
}
- template<typename Iterator>
- vector_impl(assign_by_deref,Iterator const&)
+ template<typename It>
+ vector_impl(assign_by_deref,It const&)
{
}
- template<typename Iterator>
+ template<typename It>
void
- assign(Iterator const&)
+ assign(It const&)
{
}
@@ -83,19 +83,19 @@
{
}
- template<typename Iterator>
- vector_impl(assign_by_deref,Iterator const& iterator):
- base(assign_by_deref(),fusion::next(iterator)),
- _element(fusion::deref(iterator))
+ template<typename It>
+ vector_impl(assign_by_deref,It const& it)
+ : base(assign_by_deref(),fusion::next(it))
+ , _element(fusion::deref(it))
{
}
- template<typename Iterator>
+ template<typename It>
void
- assign(Iterator const& iterator)
+ assign(It const& it)
{
- _element=fusion::deref(iterator);
- static_cast<base*>(this)->assign(fusion::next(iterator));
+ _element=fusion::deref(it);
+ static_cast<base*>(this)->assign(fusion::next(it));
}
#ifdef BOOST_NO_RVALUE_REFERENCES
@@ -163,20 +163,20 @@
#undef VECTOR_CTOR
- template<typename SequenceAssign>
- vector(BOOST_FUSION_R_ELSE_CLREF(SequenceAssign) seq,
+ template<typename SeqAssign>
+ vector(BOOST_FUSION_R_ELSE_CLREF(SeqAssign) seq,
typename enable_if<
- is_sequence_assign<SequenceAssign> >::type* =NULL)
+ is_sequence_assign<SeqAssign> >::type* =NULL)
: base(detail::assign_by_deref(),fusion::begin(seq.get()))
{
}
/*
- template<typename Sequence>
+ template<typename Seq>
vector(typename enable_if_c<sizeof...(Elements)!=1,
- BOOST_FUSION_R_ELSE_CLREF(Sequence)>::type seq)
+ BOOST_FUSION_R_ELSE_CLREF(Seq)>::type seq)
: base(detail::assign_by_deref(),
- fusion::begin(BOOST_FUSION_FORWARD(Sequence,seq.seq)))
+ fusion::begin(BOOST_FUSION_FORWARD(Seq,seq.seq)))
{
}
*/
@@ -197,12 +197,12 @@
}
#endif
- template<typename Sequence>
+ template<typename Seq>
vector&
- operator=(BOOST_FUSION_R_ELSE_CLREF(Sequence) sequence)
+ operator=(BOOST_FUSION_R_ELSE_CLREF(Seq) seq)
{
static_cast<base*>(this)->assign(
- fusion::begin(BOOST_FUSION_FORWARD(Sequence,sequence)));
+ fusion::begin(BOOST_FUSION_FORWARD(Seq,seq)));
return *this;
}
Modified: sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/variadic_templates/vector_n.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/variadic_templates/vector_n.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/variadic_templates/vector_n.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -48,11 +48,11 @@
# endif
#endif
- template<typename Sequence>
+ template<typename Seq>
BOOST_PP_CAT(vector, N)&
- operator=(BOOST_FUSION_R_ELSE_CLREF(Sequence) sequence)
+ operator=(BOOST_FUSION_R_ELSE_CLREF(Seq) seq)
{
- *static_cast<base*>(this)=BOOST_FUSION_FORWARD(Sequence,sequence);
+ *static_cast<base*>(this)=BOOST_FUSION_FORWARD(Seq,seq);
return *this;
}
};
Modified: sandbox/SOC/2009/fusion/boost/fusion/container/vector/vector.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/vector/vector.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/vector/vector.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -48,21 +48,26 @@
typedef typename vector_n::is_view is_view;
vector()
- : vec() {}
+ : vec()
+ {}
template <BOOST_PP_ENUM_PARAMS(FUSION_MAX_VECTOR_SIZE, typename U)>
vector(vector<BOOST_PP_ENUM_PARAMS(FUSION_MAX_VECTOR_SIZE, U)> const& rhs)
- : vec(rhs.vec) {}
+ : vec(rhs.vec)
+ {}
vector(vector const& rhs)
- : vec(rhs.vec) {}
+ : vec(rhs.vec)
+ {}
template <typename Sequence>
vector(Sequence const& rhs)
#if BOOST_WORKAROUND(BOOST_MSVC, <= 1400)
- : vec(ctor_helper(rhs, is_base_of<vector, Sequence>())) {}
+ : vec(ctor_helper(rhs, is_base_of<vector, Sequence>()))
+ {}
#else
- : vec(rhs) {}
+ : vec(rhs)
+ {}
#endif
// Expand a couple of forwarding constructors for arguments
Modified: sandbox/SOC/2009/fusion/boost/fusion/container/vector/vector10.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/vector/vector10.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/vector/vector10.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -57,10 +57,11 @@
typedef random_access_traversal_tag category;
typedef mpl::int_<0> size;
- vector0() {}
+ vector0()
+ {}
- template<typename Sequence>
- vector0(Sequence const& seq)
+ template<typename Seq>
+ vector0(Seq const& seq)
{}
};
Modified: sandbox/SOC/2009/fusion/boost/fusion/iterator/advance.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/iterator/advance.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/iterator/advance.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -27,60 +27,61 @@
struct advance_impl
{
// default implementation
- template <typename Iterator, typename N>
+ template <typename ItRef, typename N>
struct apply
: mpl::if_c<
(N::value > 0)
- , advance_detail::forward<Iterator, N::value>
- , advance_detail::backward<Iterator, N::value>
+ , advance_detail::forward<ItRef, N::value>
+ , advance_detail::backward<ItRef, N::value>
>::type
{
- BOOST_FUSION_MPL_ASSERT_NOT(
- traits::is_random_access<Iterator>,
- "default implementation not available for random access iterators");
+// BOOST_FUSION_MPL_ASSERT_NOT(
+// traits::is_random_access<ItRef>,
+// "default implementation not available for random access iterators");
};
};
template <>
struct advance_impl<iterator_facade_tag>
{
- template <typename Iterator, typename N>
+ template <typename ItRef, typename N>
struct apply
- : detail::remove_reference<Iterator>::type::template advance<Iterator, N>
+ : detail::remove_reference<ItRef>::type::
+ template advance<ItRef, N>
{};
};
}
namespace result_of
{
- template <typename Iterator, int N>
+ template <typename It, int N>
struct advance_c
- : extension::advance_impl<typename traits::tag_of<Iterator>::type>::
+ : extension::advance_impl<typename traits::tag_of<It>::type>::
template apply<
- typename detail::add_lref<Iterator>::type
+ typename detail::add_lref<It>::type
, mpl::int_<N>
>
{};
- template <typename Iterator, typename N>
+ template <typename It, typename N>
struct advance
- : extension::advance_impl<typename traits::tag_of<Iterator>::type>::
- template apply<typename detail::add_lref<Iterator>::type, N>
+ : extension::advance_impl<typename traits::tag_of<It>::type>::
+ template apply<typename detail::add_lref<It>::type, N>
{};
}
- template <int N, typename Iterator>
- inline typename result_of::advance_c<Iterator const&, N>::type const
- advance_c(Iterator const& i)
+ template <int N, typename It>
+ inline typename result_of::advance_c<It const&, N>::type const
+ advance_c(It const& it)
{
- return result_of::advance_c<Iterator const&, N>::call(i);
+ return result_of::advance_c<It const&, N>::call(it);
}
- template<typename N, typename Iterator>
- inline typename result_of::advance<Iterator const&, N>::type const
- advance(Iterator const& i)
+ template<typename N, typename It>
+ inline typename result_of::advance<It const&, N>::type const
+ advance(It const& it)
{
- return result_of::advance<Iterator const&, N>::call(i);
+ return result_of::advance<It const&, N>::call(it);
}
}}
Modified: sandbox/SOC/2009/fusion/boost/fusion/iterator/deref.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/iterator/deref.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/iterator/deref.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -25,34 +25,34 @@
template <>
struct deref_impl<iterator_facade_tag>
{
- template <typename Iterator>
+ template <typename ItRef>
struct apply
- : detail::remove_reference<Iterator>::type::template deref<Iterator>
+ : detail::remove_reference<ItRef>::type::template deref<ItRef>
{};
};
}
namespace result_of
{
- template <typename Iterator>
+ template <typename It>
struct deref
- : extension::deref_impl<typename traits::tag_of<Iterator>::type>::
- template apply<typename detail::add_lref<Iterator>::type>
+ : extension::deref_impl<typename traits::tag_of<It>::type>::
+ template apply<typename detail::add_lref<It>::type>
{};
}
- template <typename Iterator>
- typename result_of::deref<Iterator const&>::type
- deref(Iterator const& i)
+ template <typename It>
+ typename result_of::deref<It const&>::type
+ deref(It const& it)
{
- return result_of::deref<Iterator const&>::call(i);
+ return result_of::deref<It const&>::call(it);
}
- template <typename Iterator>
- typename result_of::deref<Iterator const&>::type
- operator*(iterator_base<Iterator> const& i)
+ template <typename It>
+ typename result_of::deref<It const&>::type
+ operator*(iterator_base<It> const& it)
{
- return fusion::deref(i.cast());
+ return fusion::deref(it.cast());
}
}}
Modified: sandbox/SOC/2009/fusion/boost/fusion/iterator/detail/advance.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/iterator/detail/advance.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/iterator/detail/advance.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -17,84 +17,84 @@
namespace boost { namespace fusion { namespace advance_detail
{
- // Default advance implementation, perform next(i)
- // or prior(i) N times.
+ // Default advance implementation, perform next(it)
+ // or prior(it) N times.
- template <typename Iterator, int N>
+ template <typename ItRef, int N>
struct forward;
- template <typename Iterator, int N>
+ template <typename ItRef, int N>
struct next_forward
{
typedef typename
forward<
- typename result_of::next<Iterator>::type
+ typename result_of::next<ItRef>::type
, N-1
>::type
type;
};
- template <typename Iterator, int N>
+ template <typename ItRef, int N>
struct forward
{
typedef typename
mpl::eval_if_c<
(N == 0)
- , mpl::identity<Iterator>
- , next_forward<Iterator, N>
+ , mpl::identity<ItRef>
+ , next_forward<ItRef, N>
>::type
type;
static type
- call(type i)
+ call(type it)
{
- return i;
+ return it;
}
- template <typename I>
+ template <typename OtherIt>
static type
- call(BOOST_FUSION_R_ELSE_CLREF(I) i)
+ call(OtherIt const& it)
{
- return call(fusion::next(BOOST_FUSION_FORWARD(I,i)));
+ return call(fusion::next(it));
}
};
- template <typename Iterator, int N>
+ template <typename ItRef, int N>
struct backward;
- template <typename Iterator, int N>
+ template <typename ItRef, int N>
struct next_backward
{
typedef typename
backward<
- typename result_of::prior<Iterator>::type
+ typename result_of::prior<ItRef>::type
, N+1
>::type
type;
};
- template <typename Iterator, int N>
+ template <typename ItRef, int N>
struct backward
{
typedef typename
mpl::eval_if_c<
(N == 0)
- , mpl::identity<Iterator>
- , next_backward<Iterator, N>
+ , mpl::identity<ItRef>
+ , next_backward<ItRef, N>
>::type
type;
static type
- call(type i)
+ call(type it)
{
- return i;
+ return it;
}
- template <typename I>
+ template <typename OtherIt>
static type
- call(BOOST_FUSION_R_ELSE_CLREF(I) i)
+ call(OtherIt const& it)
{
- return call(fusion::prior(BOOST_FUSION_FORWARD(I,i)));
+ return call(fusion::prior(it));
}
};
Modified: sandbox/SOC/2009/fusion/boost/fusion/iterator/iterator_facade.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/iterator/iterator_facade.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/iterator/iterator_facade.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -8,8 +8,9 @@
#ifndef BOOST_FUSION_ITERATOR_ITERATOR_FACADE_HPP
#define BOOST_FUSION_ITERATOR_ITERATOR_FACADE_HPP
-#include <boost/fusion/support/iterator_base.hpp>
+#include <boost/fusion/iterator/equal_to.hpp>
#include <boost/fusion/iterator/detail/advance.hpp>
+#include <boost/fusion/support/iterator_base.hpp>
#include <boost/fusion/support/category_of.hpp>
#include <boost/fusion/support/assert.hpp>
@@ -28,21 +29,21 @@
typedef Category category;
// default implementation
- template <typename I1, typename I2>
+ template <typename It1Ref, typename It2Ref>
struct equal_to // default implementation
: is_same<
- typename detail::remove_reference<I1>::type::derived_type
- , typename detail::remove_reference<I2>::type::derived_type
+ typename detail::remove_reference<It1Ref>::type::derived_type
+ , typename detail::remove_reference<It2Ref>::type::derived_type
>
{};
// default implementation
- template <typename Iterator, typename N>
+ template <typename ItRef, typename N>
struct advance
: mpl::if_c<
(N::value > 0)
- , advance_detail::forward<Iterator, N::value>
- , advance_detail::backward<Iterator, N::value>
+ , advance_detail::forward<ItRef, N::value>
+ , advance_detail::backward<ItRef, N::value>
>::type
{
// BOOST_FUSION_MPL_ASSERT_NOT(
Modified: sandbox/SOC/2009/fusion/boost/fusion/iterator/next.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/iterator/next.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/iterator/next.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -23,29 +23,27 @@
template <>
struct next_impl<iterator_facade_tag>
{
- template <typename Iterator>
+ template <typename ItRef>
struct apply
- : detail::remove_reference<Iterator>::type::
- template next<Iterator>
+ : detail::remove_reference<ItRef>::type::template next<ItRef>
{};
};
}
namespace result_of
{
- template <typename Iterator>
+ template <typename It>
struct next
- : extension::next_impl<
- typename traits::tag_of<Iterator>::type
- >::template apply<typename detail::add_lref<Iterator>::type>
+ : extension::next_impl<typename traits::tag_of<It>::type>::
+ template apply<typename detail::add_lref<It>::type>
{};
}
- template <typename Iterator>
- typename result_of::next<Iterator const&>::type const
- next(Iterator const& i)
+ template <typename It>
+ typename result_of::next<It const&>::type const
+ next(It const& it)
{
- return result_of::next<Iterator const&>::call(i);
+ return result_of::next<It const&>::call(it);
}
}}
Modified: sandbox/SOC/2009/fusion/boost/fusion/iterator/prior.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/iterator/prior.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/iterator/prior.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -23,28 +23,27 @@
template <>
struct prior_impl<iterator_facade_tag>
{
- template <typename Iterator>
+ template <typename ItRef>
struct apply
- : detail::remove_reference<Iterator>::type::template prior<Iterator>
+ : detail::remove_reference<ItRef>::type::template prior<ItRef>
{};
};
}
namespace result_of
{
- template <typename Iterator>
+ template <typename It>
struct prior
- : extension::prior_impl<
- typename traits::tag_of<Iterator>::type
- >::template apply<typename detail::add_lref<Iterator>::type>
+ : extension::prior_impl<typename traits::tag_of<It>::type>::
+ template apply<typename detail::add_lref<It>::type>
{};
}
- template <typename Iterator>
- typename result_of::prior<Iterator const&>::type const
- prior(Iterator const& i)
+ template <typename It>
+ typename result_of::prior<It const&>::type const
+ prior(It const& it)
{
- return result_of::prior<Iterator const&>::call(i);
+ return result_of::prior<It const&>::call(it);
}
}}
Modified: sandbox/SOC/2009/fusion/boost/fusion/iterator/value_of.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/iterator/value_of.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/iterator/value_of.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -24,20 +24,19 @@
template <>
struct value_of_impl<iterator_facade_tag>
{
- template <typename Iterator>
+ template <typename ItRef>
struct apply
- : detail::remove_reference<Iterator>::type::template value_of<Iterator>
+ : detail::remove_reference<ItRef>::type::template value_of<ItRef>
{};
};
}
namespace result_of
{
- template <typename Iterator>
+ template <typename It>
struct value_of
- : extension::value_of_impl<
- typename traits::tag_of<Iterator>::type
- >::template apply<typename detail::add_lref<Iterator>::type>
+ : extension::value_of_impl<typename traits::tag_of<It>::type>::
+ template apply<typename detail::add_lref<It>::type>
{};
}
}}
Modified: sandbox/SOC/2009/fusion/boost/fusion/mpl/clear.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/mpl/clear.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/mpl/clear.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -20,12 +20,12 @@
template <>
struct clear_impl<fusion::fusion_sequence_tag>
{
- template <typename Sequence>
+ template <typename Seq>
struct apply
{
typedef typename
fusion::detail::clear<
- typename fusion::traits::tag_of<Sequence>::type
+ typename fusion::traits::tag_of<Seq>::type
>::type
type;
};
Modified: sandbox/SOC/2009/fusion/boost/fusion/mpl/detail/fusion_iterator.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/mpl/detail/fusion_iterator.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/mpl/detail/fusion_iterator.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -20,35 +20,43 @@
namespace boost { namespace mpl
{
- template <typename Iterator>
+ template <typename It>
struct fusion_iterator
{
- typedef typename fusion::result_of::value_of<Iterator>::type type;
- typedef typename fusion::traits::category_of<Iterator>::type category;
- typedef Iterator iterator;
+ typedef typename fusion::result_of::value_of<It>::type type;
+ typedef typename fusion::traits::category_of<It>::type category;
+ typedef It iterator;
};
- template <typename Iterator>
- struct next<fusion_iterator<Iterator> >
+ template <typename It>
+ struct next<fusion_iterator<It> >
{
- typedef fusion_iterator<typename fusion::result_of::next<Iterator>::type> type;
+ typedef
+ fusion_iterator<typename fusion::result_of::next<It>::type>
+ type;
};
- template <typename Iterator>
- struct prior<fusion_iterator<Iterator> >
+ template <typename It>
+ struct prior<fusion_iterator<It> >
{
- typedef fusion_iterator<typename fusion::result_of::prior<Iterator>::type> type;
+ typedef
+ fusion_iterator<typename fusion::result_of::prior<It>::type>
+ type;
};
- template <typename Iterator, typename N>
- struct advance<fusion_iterator<Iterator>, N>
+ template <typename It, typename N>
+ struct advance<fusion_iterator<It>, N>
{
- typedef fusion_iterator<typename fusion::result_of::advance<Iterator, N>::type> type;
+ typedef
+ fusion_iterator<
+ typename fusion::result_of::advance<It, N>::type
+ >
+ type;
};
template <typename First, typename Last>
struct distance<fusion_iterator<First>, fusion_iterator<Last> >
- : fusion::result_of::distance<First, Last>
+ : fusion::result_of::distance<First, Last>
{};
}}
Modified: sandbox/SOC/2009/fusion/boost/fusion/mpl/empty.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/mpl/empty.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/mpl/empty.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -19,9 +19,9 @@
template <>
struct empty_impl<fusion::fusion_sequence_tag>
{
- template <typename Sequence>
+ template <typename Seq>
struct apply
- : fusion::result_of::empty<Sequence>
+ : fusion::result_of::empty<Seq>
{};
};
}}
Modified: sandbox/SOC/2009/fusion/boost/fusion/mpl/end.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/mpl/end.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/mpl/end.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -21,11 +21,11 @@
template <>
struct end_impl<fusion::fusion_sequence_tag>
{
- template <typename Sequence>
+ template <typename Seq>
struct apply
{
typedef
- fusion_iterator<typename fusion::result_of::end<Sequence>::type>
+ fusion_iterator<typename fusion::result_of::end<Seq>::type>
type;
};
};
Modified: sandbox/SOC/2009/fusion/boost/fusion/mpl/erase.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/mpl/erase.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/mpl/erase.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -21,16 +21,16 @@
template <>
struct erase_impl<fusion::fusion_sequence_tag>
{
- template <typename Sequence, typename First, typename Last>
+ template <typename Seq, typename First, typename Last>
struct apply
{
typedef typename
- fusion::result_of::erase<Sequence, First, Last>::type
+ fusion::result_of::erase<Seq, First, Last>::type
result;
typedef typename
fusion::result_of::convert<
- typename fusion::traits::tag_of<Sequence>::type, result
+ typename fusion::traits::tag_of<Seq>::type, result
>::type
type;
};
Modified: sandbox/SOC/2009/fusion/boost/fusion/mpl/erase_key.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/mpl/erase_key.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/mpl/erase_key.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -21,16 +21,16 @@
template <>
struct erase_key_impl<fusion::fusion_sequence_tag>
{
- template <typename Sequence, typename Key>
+ template <typename Seq, typename Key>
struct apply
{
typedef typename
- fusion::result_of::erase_key<Sequence, Key>::type
+ fusion::result_of::erase_key<Seq, Key>::type
result;
typedef typename
fusion::result_of::convert<
- typename fusion::traits::tag_of<Sequence>::type, result
+ typename fusion::traits::tag_of<Seq>::type, result
>::type
type;
};
Modified: sandbox/SOC/2009/fusion/boost/fusion/mpl/front.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/mpl/front.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/mpl/front.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -20,10 +20,10 @@
template <>
struct front_impl<fusion::fusion_sequence_tag>
{
- template <typename Sequence>
+ template <typename Seq>
struct apply
: fusion::result_of::value_of<
- typename fusion::result_of::begin<Sequence>::type
+ typename fusion::result_of::begin<Seq>::type
>
{};
};
Modified: sandbox/SOC/2009/fusion/boost/fusion/mpl/has_key.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/mpl/has_key.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/mpl/has_key.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -19,9 +19,9 @@
template <>
struct has_key_impl<fusion::fusion_sequence_tag>
{
- template <typename Sequence, typename Key>
+ template <typename Seq, typename Key>
struct apply
- : fusion::result_of::has_key<Sequence, Key>
+ : fusion::result_of::has_key<Seq, Key>
{};
};
}}
Modified: sandbox/SOC/2009/fusion/boost/fusion/mpl/insert.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/mpl/insert.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/mpl/insert.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -21,16 +21,16 @@
template <>
struct insert_impl<fusion::fusion_sequence_tag>
{
- template <typename Sequence, typename Pos, typename T>
+ template <typename Seq, typename Pos, typename T>
struct apply
{
typedef typename
- fusion::result_of::insert<Sequence, Pos, T>::type
+ fusion::result_of::insert<Seq, Pos, T>::type
result;
typedef typename
fusion::result_of::convert<
- typename fusion::traits::tag_of<Sequence>::type, result
+ typename fusion::traits::tag_of<Seq>::type, result
>::type
type;
};
Modified: sandbox/SOC/2009/fusion/boost/fusion/mpl/insert_range.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/mpl/insert_range.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/mpl/insert_range.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -21,16 +21,16 @@
template <>
struct insert_range_impl<fusion::fusion_sequence_tag>
{
- template <typename Sequence, typename Pos, typename Range>
+ template <typename Seq, typename Pos, typename Range>
struct apply
{
typedef typename
- fusion::result_of::insert_range<Sequence, Pos, Range>::type
+ fusion::result_of::insert_range<Seq, Pos, Range>::type
result;
typedef typename
fusion::result_of::convert<
- typename fusion::traits::tag_of<Sequence>::type, result
+ typename fusion::traits::tag_of<Seq>::type, result
>::type
type;
};
Modified: sandbox/SOC/2009/fusion/boost/fusion/mpl/pop_back.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/mpl/pop_back.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/mpl/pop_back.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -21,16 +21,16 @@
template <>
struct pop_back_impl<fusion::fusion_sequence_tag>
{
- template <typename Sequence>
+ template <typename Seq>
struct apply
{
typedef typename
- fusion::result_of::pop_back<Sequence>::type
+ fusion::result_of::pop_back<Seq>::type
result;
typedef typename
fusion::result_of::convert<
- typename fusion::traits::tag_of<Sequence>::type, result
+ typename fusion::traits::tag_of<Seq>::type, result
>::type
type;
};
Modified: sandbox/SOC/2009/fusion/boost/fusion/mpl/pop_front.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/mpl/pop_front.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/mpl/pop_front.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -21,16 +21,16 @@
template <>
struct pop_front_impl<fusion::fusion_sequence_tag>
{
- template <typename Sequence>
+ template <typename Seq>
struct apply
{
typedef typename
- fusion::result_of::pop_front<Sequence>::type
+ fusion::result_of::pop_front<Seq>::type
result;
typedef typename
fusion::result_of::convert<
- typename fusion::traits::tag_of<Sequence>::type, result
+ typename fusion::traits::tag_of<Seq>::type, result
>::type
type;
};
Modified: sandbox/SOC/2009/fusion/boost/fusion/mpl/push_back.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/mpl/push_back.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/mpl/push_back.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -21,16 +21,16 @@
template <>
struct push_back_impl<fusion::fusion_sequence_tag>
{
- template <typename Sequence, typename T>
+ template <typename Seq, typename T>
struct apply
{
typedef typename
- fusion::result_of::push_back<Sequence, T>::type
+ fusion::result_of::push_back<Seq, T>::type
result;
typedef typename
fusion::result_of::convert<
- typename fusion::traits::tag_of<Sequence>::type, result
+ typename fusion::traits::tag_of<Seq>::type, result
>::type
type;
};
Modified: sandbox/SOC/2009/fusion/boost/fusion/mpl/push_front.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/mpl/push_front.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/mpl/push_front.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -21,16 +21,16 @@
template <>
struct push_front_impl<fusion::fusion_sequence_tag>
{
- template <typename Sequence, typename T>
+ template <typename Seq, typename T>
struct apply
{
typedef typename
- fusion::result_of::push_front<Sequence, T>::type
+ fusion::result_of::push_front<Seq, T>::type
result;
typedef typename
fusion::result_of::convert<
- typename fusion::traits::tag_of<Sequence>::type, result
+ typename fusion::traits::tag_of<Seq>::type, result
>::type
type;
};
Modified: sandbox/SOC/2009/fusion/boost/fusion/mpl/size.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/mpl/size.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/mpl/size.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -19,9 +19,9 @@
template <>
struct size_impl<fusion::fusion_sequence_tag>
{
- template <typename Sequence>
+ template <typename Seq>
struct apply
- : fusion::result_of::size<Sequence>
+ : fusion::result_of::size<Seq>
{};
};
}}
Modified: sandbox/SOC/2009/fusion/boost/fusion/sequence/comparison/detail/enable_comparison.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/sequence/comparison/detail/enable_comparison.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/sequence/comparison/detail/enable_comparison.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -18,18 +18,26 @@
namespace boost { namespace fusion { namespace detail
{
- template <typename Sequence>
- struct is_native_fusion_sequence : is_base_of<sequence_root, Sequence> {};
+ template <typename Seq>
+ struct is_native_fusion_sequence
+ : is_base_of<sequence_root, Seq>
+ {};
template <typename Seq1, typename Seq2>
struct enable_equality
- : mpl::or_<is_native_fusion_sequence<Seq1>, is_native_fusion_sequence<Seq2> >
+ : mpl::or_<
+ is_native_fusion_sequence<Seq1>
+ , is_native_fusion_sequence<Seq2>
+ >
{};
template <typename Seq1, typename Seq2>
struct enable_comparison
: mpl::and_<
- mpl::or_<is_native_fusion_sequence<Seq1>, is_native_fusion_sequence<Seq2> >
+ mpl::or_<
+ is_native_fusion_sequence<Seq1>
+ , is_native_fusion_sequence<Seq2>
+ >
, mpl::equal_to<result_of::size<Seq1>, result_of::size<Seq2> >
>
{};
Modified: sandbox/SOC/2009/fusion/boost/fusion/sequence/comparison/detail/equal_to.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/sequence/comparison/detail/equal_to.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/sequence/comparison/detail/equal_to.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -23,26 +23,26 @@
typedef typename result_of::end<Seq1>::type end1_type;
typedef typename result_of::end<Seq2>::type end2_type;
- template <typename I1, typename I2>
+ template <typename It1, typename It2>
static bool
- call(I1 const&, I2 const&, mpl::true_)
+ call(It1 const&, It2 const&, mpl::true_)
{
return true;
}
- template <typename I1, typename I2>
+ template <typename It1, typename It2>
static bool
- call(I1 const& a, I2 const& b, mpl::false_)
+ call(It1 const& a, It2 const& b, mpl::false_)
{
return fusion::deref(a) == fusion::deref(b)
&& call(fusion::next(a), fusion::next(b));
}
- template <typename I1, typename I2>
+ template <typename It1, typename It2>
static bool
- call(I1 const& a, I2 const& b)
+ call(It1 const& a, It2 const& b)
{
- typename result_of::equal_to<I1, end1_type>::type eq;
+ typename result_of::equal_to<It1, end1_type>::type eq;
return call(a, b, eq);
}
};
@@ -50,9 +50,9 @@
template <typename Seq1, typename Seq2>
struct sequence_equal_to<Seq1, Seq2, false>
{
- template <typename I1, typename I2>
+ template <typename It1, typename It2>
static bool
- call(I1 const& a, I2 const& b)
+ call(It1 const& a, It2 const& b)
{
return false;
}
Modified: sandbox/SOC/2009/fusion/boost/fusion/sequence/comparison/detail/greater.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/sequence/comparison/detail/greater.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/sequence/comparison/detail/greater.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -22,27 +22,27 @@
typedef typename result_of::end<Seq1>::type end1_type;
typedef typename result_of::end<Seq2>::type end2_type;
- template <typename I1, typename I2>
+ template <typename It1, typename I2>
static bool
- call(I1 const&, I2 const&, mpl::true_)
+ call(It1 const&, I2 const&, mpl::true_)
{
return false;
}
- template <typename I1, typename I2>
+ template <typename It1, typename I2>
static bool
- call(I1 const& a, I2 const& b, mpl::false_)
+ call(It1 const& a, It2 const& b, mpl::false_)
{
return fusion::deref(a) > fusion::deref(b)
|| !(fusion::deref(b) > fusion::deref(a))
&& call(fusion::next(a), fusion::next(b));
}
- template <typename I1, typename I2>
+ template <typename It1, typename It2>
static bool
- call(I1 const& a, I2 const& b)
+ call(It1 const& a, It2 const& b)
{
- typename result_of::equal_to<I1, end1_type>::type eq;
+ typename result_of::equal_to<It1, end1_type>::type eq;
return call(a, b, eq);
}
};
Modified: sandbox/SOC/2009/fusion/boost/fusion/sequence/comparison/detail/greater_equal.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/sequence/comparison/detail/greater_equal.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/sequence/comparison/detail/greater_equal.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -22,26 +22,26 @@
typedef typename result_of::end<Seq1>::type end1_type;
typedef typename result_of::end<Seq2>::type end2_type;
- template <typename I1, typename I2>
+ template <typename It1, typename It2>
static bool
- call(I1 const&, I2 const&, mpl::true_)
+ call(It1 const&, It2 const&, mpl::true_)
{
return true;
}
- template <typename I1, typename I2>
+ template <typename It1, typename It2>
static bool
- call(I1 const& a, I2 const& b, mpl::false_)
+ call(It1 const& a, It2 const& b, mpl::false_)
{
return fusion::deref(a) >= fusion::deref(b)
&& (!(*b >= *a) || call(fusion::next(a), fusion::next(b)));
}
- template <typename I1, typename I2>
+ template <typename It1, typename It2>
static bool
- call(I1 const& a, I2 const& b)
+ call(It1 const& a, It2 const& b)
{
- typename result_of::equal_to<I1, end1_type>::type eq;
+ typename result_of::equal_to<It1, end1_type>::type eq;
return call(a, b, eq);
}
};
Modified: sandbox/SOC/2009/fusion/boost/fusion/sequence/comparison/detail/less.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/sequence/comparison/detail/less.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/sequence/comparison/detail/less.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -22,27 +22,27 @@
typedef typename result_of::end<Seq1>::type end1_type;
typedef typename result_of::end<Seq2>::type end2_type;
- template <typename I1, typename I2>
+ template <typename It1, typename It2>
static bool
- call(I1 const&, I2 const&, mpl::true_)
+ call(It1 const&, It2 const&, mpl::true_)
{
return false;
}
- template <typename I1, typename I2>
+ template <typename It1, typename I2>
static bool
- call(I1 const& a, I2 const& b, mpl::false_)
+ call(It1 const& a, I2 const& b, mpl::false_)
{
return fusion::deref(a) < fusion::deref(b)
|| (!(fusion::deref(b) < fusion::deref(a))
&& call(fusion::next(a), fusion::next(b)));
}
- template <typename I1, typename I2>
+ template <typename It1, typename It2>
static bool
- call(I1 const& a, I2 const& b)
+ call(It1 const& a, It2 const& b)
{
- typename result_of::equal_to<I1, end1_type>::type eq;
+ typename result_of::equal_to<It1, end1_type>::type eq;
return call(a, b, eq);
}
};
Modified: sandbox/SOC/2009/fusion/boost/fusion/sequence/comparison/detail/less_equal.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/sequence/comparison/detail/less_equal.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/sequence/comparison/detail/less_equal.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -22,27 +22,27 @@
typedef typename result_of::end<Seq1>::type end1_type;
typedef typename result_of::end<Seq2>::type end2_type;
- template <typename I1, typename I2>
+ template <typename It1, typename It2>
static bool
- call(I1 const&, I2 const&, mpl::true_)
+ call(It1 const&, It2 const&, mpl::true_)
{
return true;
}
- template <typename I1, typename I2>
+ template <typename It1, typename It2>
static bool
- call(I1 const& a, I2 const& b, mpl::false_)
+ call(It1 const& a, It2 const& b, mpl::false_)
{
return fusion::deref(a) <= fusion::deref(b)
&& (!(fusion::deref(b) <= fusion::deref(a))
|| call(fusion::next(a), fusion::next(b)));
}
- template <typename I1, typename I2>
+ template <typename It1, typename It2>
static bool
- call(I1 const& a, I2 const& b)
+ call(It1 const& a, It2 const& b)
{
- typename result_of::equal_to<I1, end1_type>::type eq;
+ typename result_of::equal_to<It1, end1_type>::type eq;
return call(a, b, eq);
}
};
Modified: sandbox/SOC/2009/fusion/boost/fusion/sequence/comparison/detail/not_equal_to.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/sequence/comparison/detail/not_equal_to.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/sequence/comparison/detail/not_equal_to.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -22,26 +22,26 @@
typedef typename result_of::end<Seq1>::type end1_type;
typedef typename result_of::end<Seq2>::type end2_type;
- template <typename I1, typename I2>
+ template <typename It1, typename It2>
static bool
- call(I1 const&, I2 const&, mpl::true_)
+ call(It1 const&, It2 const&, mpl::true_)
{
return false;
}
- template <typename I1, typename I2>
+ template <typename It1, typename It2>
static bool
- call(I1 const& a, I2 const& b, mpl::false_)
+ call(It1 const& a, It2 const& b, mpl::false_)
{
return fusion::deref(a) != fusion::deref(b)
|| call(fusion::next(a), fusion::next(b));
}
- template <typename I1, typename I2>
+ template <typename It1, typename It2>
static bool
- call(I1 const& a, I2 const& b)
+ call(It1 const& a, It2 const& b)
{
- typename result_of::equal_to<I1, end1_type>::type eq;
+ typename result_of::equal_to<It1, end1_type>::type eq;
return call(a, b, eq);
}
};
@@ -49,9 +49,9 @@
template <typename Seq1, typename Seq2>
struct sequence_not_equal_to<Seq1, Seq2, false>
{
- template <typename I1, typename I2>
+ template <typename It1, typename It2>
static bool
- call(I1 const& a, I2 const& b)
+ call(It1 const& a, It2 const& b)
{
return true;
}
Modified: sandbox/SOC/2009/fusion/boost/fusion/sequence/convert.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/sequence/convert.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/sequence/convert.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -18,27 +18,28 @@
namespace result_of
{
- template <typename Tag, typename Sequence>
+ template <typename Tag, typename Seq>
struct convert
{
typedef typename extension::convert_impl<Tag> gen;
typedef typename gen::
- template apply<typename detail::add_lref<Sequence>::type>::type
+ template apply<typename detail::add_lref<Seq>::type>::type
type;
};
}
- template <typename Tag, typename Sequence>
+ template <typename Tag, typename Seq>
inline typename result_of::convert<
Tag
- , BOOST_FUSION_R_ELSE_CLREF(Sequence)>::type
- convert(BOOST_FUSION_R_ELSE_CLREF(Sequence) seq)
+ , BOOST_FUSION_R_ELSE_CLREF(Seq)>::type
+ convert(BOOST_FUSION_R_ELSE_CLREF(Seq) seq)
{
typedef typename result_of::convert<
Tag
- , BOOST_FUSION_R_ELSE_CLREF(Sequence)>::gen
+ , BOOST_FUSION_R_ELSE_CLREF(Seq)>::gen
gen;
+
return gen::call(seq);
}
Modified: sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/at.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/at.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/at.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -27,43 +27,40 @@
template <>
struct at_impl<sequence_facade_tag>
{
- template <typename Sequence, typename N>
+ template <typename SeqRef, typename N>
struct apply
- : detail::remove_reference<Sequence>::type::template at<Sequence, N>
+ : detail::remove_reference<SeqRef>::type::template at<SeqRef, N>
{};
};
}
namespace result_of
{
- template <typename Sequence, typename N>
+ template <typename Seq, typename N>
struct at
- : extension::at_impl<typename traits::tag_of<Sequence>::type>::
- template apply<typename detail::add_lref<Sequence>::type, N>
+ : extension::at_impl<typename traits::tag_of<Seq>::type>::
+ template apply<typename detail::add_lref<Seq>::type, N>
{};
- template <typename Sequence, int N>
+ template <typename Seq, int N>
struct at_c
- : at<Sequence, mpl::int_<N> >
+ : at<Seq, mpl::int_<N> >
{};
}
-
- //TODO !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- template <typename N, typename Sequence>
- inline typename result_of::at<BOOST_FUSION_R_ELSE_CLREF(Sequence), N>::type
- at(BOOST_FUSION_R_ELSE_CLREF(Sequence) seq)
+ template <typename N, typename Seq>
+ inline typename result_of::at<BOOST_FUSION_R_ELSE_LREF(Seq), N>::type
+ at(BOOST_FUSION_R_ELSE_LREF(Seq) seq)
{
- return result_of::at<BOOST_FUSION_R_ELSE_CLREF(Sequence), N>::call(
- BOOST_FUSION_FORWARD(Sequence,seq));
+ return result_of::at<BOOST_FUSION_R_ELSE_LREF(Seq), N>::call(seq);
}
- template <int N, typename Sequence>
+ template <int N, typename Seq>
inline typename
- result_of::at_c<BOOST_FUSION_R_ELSE_CLREF(Sequence), N>::type
- at_c(BOOST_FUSION_R_ELSE_CLREF(Sequence) seq)
+ result_of::at_c<BOOST_FUSION_R_ELSE_LREF(Seq), N>::type
+ at_c(BOOST_FUSION_R_ELSE_LREF(Seq) seq)
{
- return fusion::at<mpl::int_<N> >(BOOST_FUSION_FORWARD(Sequence,seq));
+ return fusion::at<mpl::int_<N> >(seq);
}
}}
Modified: sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/at_key.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/at_key.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/at_key.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -26,30 +26,34 @@
template <>
struct at_key_impl<sequence_facade_tag>
{
- template <typename Sequence, typename Key>
- struct apply :
- detail::remove_reference<Sequence>::type::template at_key<Sequence, Key>
+ template <typename SeqRef, typename Key>
+ struct apply
+ : detail::remove_reference<SeqRef>::type::
+ template at_key<SeqRef, Key>
{};
};
}
namespace result_of
{
- template <typename Sequence, typename Key>
+ template <typename Seq, typename Key>
struct at_key
- : extension::at_key_impl<typename traits::tag_of<Sequence>::type>::
- template apply<typename detail::add_lref<Sequence>::type, Key>
+ : extension::at_key_impl<typename traits::tag_of<Seq>::type>::
+ template apply<typename detail::add_lref<Seq>::type, Key>
{};
}
- template <typename Key, typename Sequence>
+ template <typename Key, typename Seq>
inline typename result_of::at_key<
- BOOST_FUSION_R_ELSE_CLREF(Sequence)
+ BOOST_FUSION_R_ELSE_CLREF(Seq)
, Key>::type
- at_key(BOOST_FUSION_R_ELSE_CLREF(Sequence) seq)
+ at_key(BOOST_FUSION_R_ELSE_CLREF(Seq) seq)
{
- return result_of::at_key<BOOST_FUSION_R_ELSE_CLREF(Sequence), Key>::call(
- BOOST_FUSION_FORWARD(Sequence,seq));
+ return
+ result_of::at_key<
+ BOOST_FUSION_R_ELSE_CLREF(Seq)
+ , Key
+ >::call(seq);
}
}}
Modified: sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/back.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/back.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/back.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -22,19 +22,19 @@
namespace result_of
{
- template <typename Sequence>
+ template <typename Seq>
struct back
: result_of::deref<typename result_of::prior<
- typename result_of::end<Sequence>::type>::type
+ typename result_of::end<Seq>::type>::type
>
{};
}
- template <typename Sequence>
- inline typename result_of::back<BOOST_FUSION_R_ELSE_CLREF(Sequence)>::type
- back(BOOST_FUSION_R_ELSE_CLREF(Sequence) seq)
+ template <typename Seq>
+ inline typename result_of::back<BOOST_FUSION_R_ELSE_CLREF(Seq)>::type
+ back(BOOST_FUSION_R_ELSE_CLREF(Seq) seq)
{
- return *fusion::prior(fusion::end(BOOST_FUSION_FORWARD(Sequence,seq)));
+ return *fusion::prior(fusion::end(seq));
}
}}
Modified: sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/begin.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/begin.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/begin.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -24,31 +24,30 @@
template <>
struct begin_impl<sequence_facade_tag>
{
- template <typename Sequence>
- struct apply :
- detail::remove_reference<Sequence>::type::template begin<Sequence>
+ template <typename SeqRef>
+ struct apply
+ : detail::remove_reference<SeqRef>::type::template begin<SeqRef>
{};
};
}
namespace result_of
{
- template <typename Sequence>
+ template <typename Seq>
struct begin
- : extension::begin_impl<typename traits::tag_of<Sequence>::type>::
- template apply<typename detail::add_lref<Sequence>::type>
+ : extension::begin_impl<typename traits::tag_of<Seq>::type>::
+ template apply<typename detail::add_lref<Seq>::type>
{};
}
//TODO cschmidt: const retval?!
- template <typename Sequence>
+ template <typename Seq>
inline typename
- result_of::begin<BOOST_FUSION_R_ELSE_CLREF(Sequence)>::type
- begin(BOOST_FUSION_R_ELSE_CLREF(Sequence) seq)
+ result_of::begin<BOOST_FUSION_R_ELSE_CLREF(Seq)>::type
+ begin(BOOST_FUSION_R_ELSE_CLREF(Seq) seq)
{
- return result_of::begin<BOOST_FUSION_R_ELSE_CLREF(Sequence)>::call(
- BOOST_FUSION_FORWARD(Sequence,seq));
+ return result_of::begin<BOOST_FUSION_R_ELSE_CLREF(Seq)>::call(seq);
}
}}
Modified: sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/empty.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/empty.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/empty.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -24,37 +24,36 @@
template <typename Tag>
struct empty_impl
{
- template <typename Sequence>
+ template <typename SeqRef>
struct apply
- : mpl::bool_<(result_of::size<Sequence>::value == 0)>
+ : mpl::bool_<(result_of::size<SeqRef>::value == 0)>
{};
};
template <>
struct empty_impl<sequence_facade_tag>
{
- template <typename Sequence>
- struct apply :
- detail::remove_reference<Sequence>::type::template empty<Sequence>
+ template <typename SeqRef>
+ struct apply
+ : detail::remove_reference<SeqRef>::type::template empty<SeqRef>
{};
};
}
namespace result_of
{
- template <typename Sequence>
+ template <typename Seq>
struct empty
- : extension::empty_impl<typename traits::tag_of<Sequence>::type>::
- template apply<typename detail::add_lref<Sequence>::type>
+ : extension::empty_impl<typename traits::tag_of<Seq>::type>::
+ template apply<typename detail::add_lref<Seq>::type>
{};
}
- template <typename Sequence>
- inline typename result_of::empty<Sequence const&>::type
- empty(Sequence const&)
+ template <typename Seq>
+ inline typename result_of::empty<Seq const&>::type
+ empty(Seq const&)
{
- typedef typename result_of::empty<Sequence const&>::type result;
- return result();
+ return typename result_of::empty<Seq const&>::type();
}
}}
Modified: sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/end.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/end.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/end.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -24,29 +24,28 @@
template <>
struct end_impl<sequence_facade_tag>
{
- template <typename Sequence>
- struct apply :
- detail::remove_reference<Sequence>::type::template end<Sequence>
+ template <typename SeqRef>
+ struct apply
+ : detail::remove_reference<SeqRef>::type::template end<SeqRef>
{};
};
}
namespace result_of
{
- template <typename Sequence>
+ template <typename Seq>
struct end
- : extension::end_impl<typename traits::tag_of<Sequence>::type>::
- template apply<typename detail::add_lref<Sequence>::type>
+ : extension::end_impl<typename traits::tag_of<Seq>::type>::
+ template apply<typename detail::add_lref<Seq>::type>
{};
}
- template <typename Sequence>
+ template <typename Seq>
inline typename
- result_of::end<BOOST_FUSION_R_ELSE_CLREF(Sequence)>::type const
- end(BOOST_FUSION_R_ELSE_CLREF(Sequence) seq)
+ result_of::end<BOOST_FUSION_R_ELSE_CLREF(Seq)>::type const
+ end(BOOST_FUSION_R_ELSE_CLREF(Seq) seq)
{
- return result_of::end<BOOST_FUSION_R_ELSE_CLREF(Sequence)>::call(
- BOOST_FUSION_FORWARD(Sequence,seq));
+ return result_of::end<BOOST_FUSION_R_ELSE_CLREF(Seq)>::call(seq);
}
}}
Modified: sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/front.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/front.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/front.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -20,17 +20,17 @@
namespace result_of
{
- template <typename Sequence>
+ template <typename Seq>
struct front
- : result_of::deref<typename result_of::begin<Sequence>::type>
+ : result_of::deref<typename result_of::begin<Seq>::type>
{};
}
- template <typename Sequence>
- inline typename result_of::front<BOOST_FUSION_R_ELSE_CLREF(Sequence)>::type
- front(BOOST_FUSION_R_ELSE_CLREF(Sequence) seq)
+ template <typename Seq>
+ inline typename result_of::front<BOOST_FUSION_R_ELSE_CLREF(Seq)>::type
+ front(BOOST_FUSION_R_ELSE_CLREF(Seq) seq)
{
- return *fusion::begin(BOOST_FUSION_FORWARD(Sequence,seq));
+ return *fusion::begin(seq);
}
}}
Modified: sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/has_key.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/has_key.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/has_key.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -26,40 +26,41 @@
template <typename Tag>
struct has_key_impl
{
- template <typename Sequence, typename Key>
+ template <typename SeqRef, typename Key>
struct apply
- : mpl::not_<is_same<
- typename detail::remove_reference<Sequence>::type::
+ : mpl::not_<is_same<
+ typename detail::remove_reference<SeqRef>::type::
template meta_at_impl<Key>::type
- , void_> >
+ , void_>
+ >
{};
};
template <>
struct has_key_impl<sequence_facade_tag>
{
- template <typename Sequence, typename Key>
+ template <typename SeqRef, typename Key>
struct apply
- : detail::remove_reference<Sequence>::type::
- template has_key<Sequence, Key>
+ : detail::remove_reference<SeqRef>::type::
+ template has_key<SeqRef, Key>
{};
};
}
namespace result_of
{
- template <typename Sequence, typename Key>
+ template <typename Seq, typename Key>
struct has_key
- : extension::has_key_impl<typename traits::tag_of<Sequence>::type>::
- template apply<typename detail::add_lref<Sequence>::type, Key>
+ : extension::has_key_impl<typename traits::tag_of<Seq>::type>::
+ template apply<typename detail::add_lref<Seq>::type, Key>
{};
}
- template <typename Key, typename Sequence>
- inline typename result_of::has_key<Sequence, Key>::type
- has_key(Sequence const& seq)
+ template <typename Key, typename Seq>
+ inline typename result_of::has_key<Seq const&, Key>::type
+ has_key(Seq const& seq)
{
- typedef typename result_of::has_key<Sequence const&, Key>::type result;
+ typedef typename result_of::has_key<Seq const&, Key>::type result;
return result();
}
}}
Modified: sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/size.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/size.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/size.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -50,12 +50,11 @@
};
}
- template <typename Sequence>
- inline typename result_of::size<Sequence const&>::type
- size(Sequence const&)
+ template <typename Seq>
+ inline typename result_of::size<Seq const&>::type
+ size(Seq const&)
{
- typedef typename result_of::size<Sequence const&>::type result;
- return result();
+ return typename result_of::size<Seq const&>::type();
}
}}
Modified: sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/swap.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/swap.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/swap.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -9,27 +9,18 @@
#ifndef BOOST_FUSION_SEQUENCE_INTRINSIC_SWAP_HPP
#define BOOST_FUSION_SEQUENCE_INTRINSIC_SWAP_HPP
-#include <boost/fusion/support/is_sequence.hpp>
-#include <boost/fusion/view/zip_view.hpp>
-#include <boost/fusion/algorithm/iteration/for_each.hpp>
-#include <boost/fusion/sequence/intrinsic/front.hpp>
-#include <boost/fusion/sequence/intrinsic/back.hpp>
-
-#include <boost/utility/enable_if.hpp>
-#include <boost/mpl/and.hpp>
+#include <boost/config.hpp>
+#ifndef BOOST_NO_RVALUE_REFERENCES
+# include <boost/fusion/view/zip_view.hpp>
+# include <boost/fusion/algorithm/iteration/for_each.hpp>
+# include <boost/fusion/sequence/intrinsic/front.hpp>
+# include <boost/fusion/sequence/intrinsic/back.hpp>
+#endif
#include <algorithm>
namespace boost { namespace fusion {
- namespace result_of
- {
- template<typename Seq1, typename Seq2>
- struct swap
- {
- typedef void type;
- };
- }
-
+#ifdef BOOST_NO_RVALUE_REFERENCES
namespace detail
{
struct swap
@@ -48,16 +39,28 @@
}
};
}
+#endif
+ namespace result_of
+ {
+ template<typename Seq1, typename Seq2>
+ struct swap
+ {
+ typedef void type;
+ };
+ }
+
+#ifdef BOOST_NO_RVALUE_REFERENCES
template<typename Seq1, typename Seq2>
- typename enable_if<mpl::and_<
- traits::is_sequence<Seq1>,
- traits::is_sequence<Seq2> > >::type
+ void
swap(Seq1& lhs, Seq2& rhs)
{
typedef vector<Seq1&, Seq2&> references;
for_each(zip_view<references>(references(lhs, rhs)), detail::swap());
}
+#else
+ using std::swap;
+#endif
}}
#endif
Modified: sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/value_at.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/value_at.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/value_at.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -26,25 +26,25 @@
template <>
struct value_at_impl<sequence_facade_tag>
{
- template <typename Sequence, typename N>
- struct apply :
- detail::remove_reference<Sequence>::type::template value_at<Sequence, N>
+ template <typename SeqRef, typename N>
+ struct apply
+ : detail::remove_reference<SeqRef>::type::
+ template value_at<SeqRef, N>
{};
};
}
namespace result_of
{
- template <typename Sequence, typename N>
+ template <typename Seq, typename N>
struct value_at
- : extension::value_at_impl<
- typename traits::tag_of<Sequence>::type>::
- template apply<typename detail::add_lref<Sequence>::type, N>
+ : extension::value_at_impl<typename traits::tag_of<Seq>::type>::
+ template apply<typename detail::add_lref<Seq>::type, N>
{};
- template <typename Sequence, int N>
+ template <typename Seq, int N>
struct value_at_c
- : fusion::result_of::value_at<Sequence,mpl::int_<N> >
+ : fusion::result_of::value_at<Seq,mpl::int_<N> >
{};
}
}}
Modified: sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/value_at_key.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/value_at_key.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/value_at_key.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -27,21 +27,20 @@
template <>
struct value_at_key_impl<sequence_facade_tag>
{
- template <typename Sequence, typename Key>
- struct apply :
- detail::remove_reference<Sequence>::type::
- template value_at_key<Sequence, Key>
+ template <typename SeqRef, typename Key>
+ struct apply
+ : detail::remove_reference<SeqRef>::type::
+ template value_at_key<SeqRef, Key>
{};
};
}
namespace result_of
{
- template <typename Sequence, typename N>
+ template <typename Seq, typename N>
struct value_at_key
- : extension::value_at_key_impl<
- typename traits::tag_of<Sequence>::type>::
- template apply<typename detail::add_lref<Sequence>::type, N>
+ : extension::value_at_key_impl<typename traits::tag_of<Seq>::type>::
+ template apply<typename detail::add_lref<Seq>::type, N>
{};
}
}}
Modified: sandbox/SOC/2009/fusion/boost/fusion/sequence/io/detail/in.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/sequence/io/detail/in.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/sequence/io/detail/in.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -7,18 +7,21 @@
file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
==============================================================================*/
+//TODO !!!
+
#ifndef BOOST_FUSION_SEQUENCE_IO_DETAIL_IN_HPP
#define BOOST_FUSION_SEQUENCE_IO_DETAIL_IN_HPP
#include <istream>
-#include <boost/fusion/sequence/io/detail/manip.hpp>
-#include <boost/mpl/bool.hpp>
#include <boost/fusion/sequence/intrinsic/begin.hpp>
#include <boost/fusion/sequence/intrinsic/end.hpp>
#include <boost/fusion/iterator/deref.hpp>
#include <boost/fusion/iterator/next.hpp>
#include <boost/fusion/iterator/equal_to.hpp>
+#include <boost/fusion/sequence/io/detail/manip.hpp>
+
+#include <boost/mpl/bool.hpp>
namespace boost { namespace fusion { namespace detail
{
@@ -73,9 +76,9 @@
}
};
- template <typename IS, typename Sequence>
+ template <typename IS, typename Seq>
inline void
- read_sequence(IS& is, Sequence& seq)
+ read_sequence(IS& is, Seq& seq)
{
delimiter_in<tuple_open_tag>::read(is, "(");
read_sequence_loop::call(is, fusion::begin(seq), fusion::end(seq));
Modified: sandbox/SOC/2009/fusion/boost/fusion/sequence/io/detail/manip.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/sequence/io/detail/manip.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/sequence/io/detail/manip.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -17,16 +17,13 @@
// Tuple I/O manipulators
-#define FUSION_GET_CHAR_TYPE(T) typename T::char_type
-#define FUSION_GET_TRAITS_TYPE(T) typename T::traits_type
-
#if defined (BOOST_NO_TEMPLATED_STREAMS)
-#define FUSION_STRING_OF_STREAM(Stream) std::string
+# define BOOST_FUSION_STRING_OF_STREAM(Stream) std::string
#else
-#define FUSION_STRING_OF_STREAM(Stream) \
- std::basic_string< \
- FUSION_GET_CHAR_TYPE(Stream) \
- , FUSION_GET_TRAITS_TYPE(Stream) \
+# define BOOST_FUSION_STRING_OF_STREAM(Stream) \
+ std::basic_string< \
+ typename Stream::char_type \
+ , typename Stream::traits_type \
>
#endif
@@ -83,13 +80,12 @@
class string_ios_manip
{
public:
-
- typedef FUSION_STRING_OF_STREAM(Stream) string_type;
+ typedef BOOST_FUSION_STRING_OF_STREAM(Stream) string_type;
typedef stream_data<Stream, Tag, string_type> stream_data_t;
string_ios_manip(Stream& str_)
- : stream(str_)
+ : stream(str_)
{}
void
@@ -308,9 +304,7 @@
#undef STD_TUPLE_DEFINE_MANIPULATOR
#undef STD_TUPLE_DEFINE_MANIPULATOR_FUNCTIONS
-#undef FUSION_STRING_OF_STREAM
-#undef FUSION_GET_CHAR_TYPE
-#undef FUSION_GET_TRAITS_TYPE
+#undef BOOST_FUSION_STRING_OF_STREAM
}}
Modified: sandbox/SOC/2009/fusion/boost/fusion/sequence/io/detail/out.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/sequence/io/detail/out.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/sequence/io/detail/out.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -74,9 +74,9 @@
}
};
- template <typename OS, typename Sequence>
+ template <typename OS, typename Seq>
inline void
- print_sequence(OS& os, Sequence const& seq)
+ print_sequence(OS& os, Seq const& seq)
{
delimiter_out<tuple_open_tag>::print(os, "(");
print_sequence_loop::call(os, fusion::begin(seq), fusion::end(seq));
Modified: sandbox/SOC/2009/fusion/boost/fusion/sequence/io/in.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/sequence/io/in.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/sequence/io/in.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -10,14 +10,15 @@
#define BOOST_IN_05042005_0120
#include <istream>
-#include <boost/fusion/sequence/io/detail/in.hpp>
+
#include <boost/fusion/support/is_sequence.hpp>
+#include <boost/fusion/sequence/io/detail/in.hpp>
namespace boost { namespace fusion
{
- template <typename Sequence>
+ template <typename Seq>
inline std::istream&
- in(std::istream& is, Sequence& seq)
+ in(std::istream& is, Seq& seq)
{
detail::read_sequence(is, seq);
return is;
@@ -25,17 +26,18 @@
namespace operators
{
- template <typename Sequence>
+ template <typename Seq>
inline typename
enable_if<
- fusion::traits::is_sequence<Sequence>
+ fusion::traits::is_sequence<Seq>
, std::istream&
>::type
- operator>>(std::istream& is, Sequence& seq)
+ operator>>(std::istream& is, Seq& seq)
{
return fusion::in(is, seq);
}
}
+
using operators::operator>>;
}}
Modified: sandbox/SOC/2009/fusion/boost/fusion/sequence/io/out.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/sequence/io/out.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/sequence/io/out.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -10,16 +10,18 @@
#define BOOST_OUT_05042005_0120
#include <ostream>
+
#include <boost/fusion/sequence/io/detail/out.hpp>
#include <boost/fusion/support/is_sequence.hpp>
+
#include <boost/utility/enable_if.hpp>
#include <boost/mpl/or.hpp>
namespace boost { namespace fusion
{
- template <typename Sequence>
+ template <typename Seq>
inline std::ostream&
- out(std::ostream& os, Sequence& seq)
+ out(std::ostream& os, Seq& seq)
{
detail::print_sequence(os, seq);
return os;
@@ -27,13 +29,13 @@
namespace operators
{
- template <typename Sequence>
+ template <typename Seq>
inline typename
enable_if<
- fusion::traits::is_sequence<Sequence>
+ fusion::traits::is_sequence<Seq>
, std::ostream&
>::type
- operator<<(std::ostream& os, Sequence const& seq)
+ operator<<(std::ostream& os, Seq const& seq)
{
return fusion::out(os, seq);
}
Modified: sandbox/SOC/2009/fusion/boost/fusion/support/detail/iterator_adapter/advance_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/support/detail/iterator_adapter/advance_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/support/detail/iterator_adapter/advance_impl.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -10,7 +10,7 @@
namespace boost { namespace fusion
{
- template<typename Iterator, typename NewCategory>
+ template<typename It, typename NewCategory>
struct iterator_adapter;
struct iterator_adapter_tag;
@@ -23,32 +23,26 @@
template <>
struct advance_impl<iterator_adapter_tag>
{
- template <typename Iterator, typename N>
+ template <typename ItRef, typename N>
struct apply
{
//TODO cschmidt: category assert
-
- typedef typename
- detail::remove_reference<Iterator>::type
- identity_iterator;
-
- typedef typename
- detail::result_of_forward_as<Iterator
- , typename identity_iterator::iterator_type
- >::type
- iterator_type;
+ typedef typename detail::remove_reference<ItRef>::type it;
typedef
iterator_adapter<
- typename result_of::advance<iterator_type, N>::type
- , typename identity_iterator::category
+ typename result_of::advance<
+ typename it::iterator_type
+ , N
+ >::type
+ , typename it::category
>
type;
static type
- call(Iterator i)
+ call(ItRef it)
{
- return type(fusion::advance<N>(i.it),0);
+ return type(fusion::advance<N>(it.it),0);
}
};
};
Modified: sandbox/SOC/2009/fusion/boost/fusion/support/detail/iterator_adapter/deref_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/support/detail/iterator_adapter/deref_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/support/detail/iterator_adapter/deref_impl.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -8,8 +8,13 @@
#include <boost/fusion/iterator/deref.hpp>
+//TODO seq_type -> sequence_type
+
namespace boost { namespace fusion
{
+ template<typename It, typename NewCategory>
+ struct iterator_adapter;
+
struct iterator_adapter_tag;
namespace extension
@@ -20,24 +25,21 @@
template <>
struct deref_impl<iterator_adapter_tag>
{
- template <typename Iterator>
+ template <typename ItRef>
struct apply
{
typedef typename
- detail::result_of_forward_as<
- Iterator
- , typename detail::remove_reference<Iterator>::type::iterator_type
+ result_of::deref<
+ typename detail::remove_reference<
+ ItRef
+ >::type::iterator_type
>::type
- iterator_type;
-
- typedef typename
- result_of::deref<iterator_type>::type
type;
static type
- call(Iterator i)
+ call(ItRef it)
{
- return fusion::deref(i.it);
+ return fusion::deref(it.it);
}
};
};
Modified: sandbox/SOC/2009/fusion/boost/fusion/support/detail/iterator_adapter/distance_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/support/detail/iterator_adapter/distance_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/support/detail/iterator_adapter/distance_impl.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -20,24 +20,19 @@
template <>
struct distance_impl<iterator_adapter_tag>
{
- template <typename I1, typename I2>
+ template <typename It1Ref, typename It2Ref>
struct apply
{
//TODO cschmidt: category assert
-
- typedef typename
- detail::result_of_forward_as<I1
- , typename detail::remove_reference<I1>::type::iterator_type
- >::type
- iterator1_type;
typedef typename
- detail::result_of_forward_as<I2
- , typename detail::remove_reference<I2>::type::iterator_type
+ result_of::distance<
+ typename detail::remove_reference<
+ It1Ref
+ >::type::iterator_type
+ , typename detail::remove_reference<
+ It2Ref
+ >::type::iterator_type
>::type
- iterator2_type;
-
- typedef typename
- result_of::distance<iterator1_type,iterator2_type>::type
type;
};
};
Modified: sandbox/SOC/2009/fusion/boost/fusion/support/detail/iterator_adapter/equal_to_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/support/detail/iterator_adapter/equal_to_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/support/detail/iterator_adapter/equal_to_impl.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -20,15 +20,15 @@
template <>
struct equal_to_impl<iterator_adapter_tag>
{
- template <typename I1, typename I2>
+ template <typename It1Ref, typename It2Ref>
struct apply
: result_of::equal_to<
- typename detail::result_of_forward_as<I1
- , typename detail::remove_reference<I1>::type::iterator_type
- >::type
- , typename detail::result_of_forward_as<I2
- , typename detail::remove_reference<I2>::type::iterator_type
- >::type
+ typename detail::remove_reference<
+ It1Ref
+ >::type::iterator_type
+ , typename detail::remove_reference<
+ It2Ref
+ >::type::iterator_type
>
{
};
Modified: sandbox/SOC/2009/fusion/boost/fusion/support/detail/iterator_adapter/next_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/support/detail/iterator_adapter/next_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/support/detail/iterator_adapter/next_impl.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -10,7 +10,7 @@
namespace boost { namespace fusion
{
- template<typename Iterator, typename NewCategory>
+ template<typename It, typename NewCategory>
struct iterator_adapter;
struct iterator_adapter_tag;
@@ -23,30 +23,26 @@
template <>
struct next_impl<iterator_adapter_tag>
{
- template <typename Iterator>
+ template <typename ItRef>
struct apply
{
typedef typename
- detail::remove_reference<Iterator>::type
- identity_iterator;
- typedef typename
- detail::result_of_forward_as<
- Iterator
- , typename identity_iterator::iterator_type
- >::type
- iterator_type;
+ detail::remove_reference<ItRef>::type
+ it;
typedef
iterator_adapter<
- typename result_of::next<iterator_type>::type
- , typename identity_iterator::category
+ typename result_of::next<
+ typename it::iterator_type
+ >::type
+ , typename it::category
>
type;
static type
- call(Iterator i)
+ call(ItRef it)
{
- return type(fusion::next(i.it),0);
+ return type(fusion::next(it.it),0);
}
};
};
Modified: sandbox/SOC/2009/fusion/boost/fusion/support/detail/iterator_adapter/prior_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/support/detail/iterator_adapter/prior_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/support/detail/iterator_adapter/prior_impl.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -10,7 +10,7 @@
namespace boost { namespace fusion
{
- template<typename Iterator, typename NewCategory>
+ template<typename It, typename NewCategory>
struct iterator_adapter;
struct iterator_adapter_tag;
@@ -23,30 +23,26 @@
template <>
struct prior_impl<iterator_adapter_tag>
{
- template <typename Iterator>
+ template <typename ItRef>
struct apply
{
typedef typename
- detail::remove_reference<Iterator>::type
- identity_iterator;
- typedef typename
- detail::result_of_forward_as<
- Iterator
- , typename identity_iterator::iterator_type
- >::type
- iterator_type;
+ detail::remove_reference<ItRef>::type
+ it;
typedef
iterator_adapter<
- typename result_of::prior<iterator_type>::type
- , typename identity_iterator::category
+ typename result_of::prior<
+ typename it::iterator_type
+ >::type
+ , typename it::category
>
type;
static type
- call(Iterator i)
+ call(ItRef it)
{
- return type(fusion::prior(i.it),0);
+ return type(fusion::prior(it.it),0);
}
};
};
Modified: sandbox/SOC/2009/fusion/boost/fusion/support/detail/iterator_adapter/value_of_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/support/detail/iterator_adapter/value_of_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/support/detail/iterator_adapter/value_of_impl.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -10,6 +10,9 @@
namespace boost { namespace fusion
{
+ template<typename It, typename NewCategory>
+ struct iterator_adapter;
+
struct iterator_adapter_tag;
namespace extension
@@ -20,12 +23,12 @@
template <>
struct value_of_impl<iterator_adapter_tag>
{
- template <typename Iterator>
+ template <typename ItRef>
struct apply
: result_of::value_of<
- typename detail::result_of_forward_as<Iterator
- , typename detail::remove_reference<Iterator>::type::iterator_type
- >::type
+ typename detail::remove_reference<
+ ItRef
+ >::type::iterator_type
>
{
};
Modified: sandbox/SOC/2009/fusion/boost/fusion/support/is_view.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/support/is_view.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/support/is_view.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -8,7 +8,6 @@
#ifndef BOOST_FUSION_SUPPORT_IS_VIEW_HPP
#define BOOST_FUSION_SUPPORT_IS_VIEW_HPP
-#include <boost/fusion/support/detail/is_view.hpp>
#include <boost/fusion/support/tag_of.hpp>
#include <boost/fusion/support/ref.hpp>
Modified: sandbox/SOC/2009/fusion/boost/fusion/support/iterator_base.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/support/iterator_base.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/support/iterator_base.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -10,22 +10,23 @@
namespace boost { namespace fusion
{
- struct iterator_root {};
+ struct iterator_root
+ {};
- template <typename Iterator>
+ template <typename It>
struct iterator_base
: iterator_root
{
- Iterator const&
- cast() const
+ It&
+ cast()
{
- return static_cast<Iterator const&>(*this);
+ return static_cast<It&>(*this);
}
- Iterator&
- cast()
+ It const&
+ cast() const
{
- return static_cast<Iterator&>(*this);
+ return static_cast<It const&>(*this);
}
};
}}
Modified: sandbox/SOC/2009/fusion/boost/fusion/support/pair.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/support/pair.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/support/pair.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -19,38 +19,46 @@
struct pair
{
pair()
- : second() {}
+ : second()
+ {}
#ifdef BOOST_NO_RVALUE_REFERENCES
pair(typename detail::call_param<Second>::type val)
- : second(val) {}
+ : second(val)
+ {}
#elif defined(BOOST_NO_VARIADIC_TEMPLATES)
template<typename Arg>
pair(Arg&& arg)
- : second(std::forward<Arg>(arg)) {}
+ : second(std::forward<Arg>(arg))
+ {}
#else
template<typename Arg1,typename... Args>
pair(Arg1&& arg1, Args&&... args)
- : second(std::forward<Arg1>(arg1),std::forward<Args>(args)...) {}
+ : second(std::forward<Arg1>(arg1),std::forward<Args>(args)...)
+ {}
#endif
template <typename Second2>
pair(pair<First, Second2> const& rhs)
- : second(rhs.second) {}
+ : second(rhs.second)
+ {}
#ifndef BOOST_NO_RVALUE_REFERENCES
//TODO cschmidt: needed?
template <typename Second2>
pair(pair<First, Second2> const&& rhs)
- : second(std::forward<const Second2>(rhs.second)) {}
+ : second(std::forward<const Second2>(rhs.second))
+ {}
template <typename Second2>
pair(pair<First, Second2>& rhs)
- : second(rhs.second) {}
+ : second(rhs.second)
+ {}
template <typename Second2>
pair(pair<First, Second2>&& rhs)
- : second(std::forward<Second2>(rhs.second)) {}
+ : second(std::forward<Second2>(rhs.second))
+ {}
#endif
template <typename Second2>
@@ -102,8 +110,7 @@
make_pair(BOOST_FUSION_R_ELSE_CLREF(Second) val)
{
return typename result_of::
- make_pair<First,BOOST_FUSION_R_ELSE_CLREF(Second)>::type(
- BOOST_FUSION_FORWARD(Second,val));
+ make_pair<First,BOOST_FUSION_R_ELSE_CLREF(Second)>::type(val);
}
template <typename OStream, typename First, typename Second>
Modified: sandbox/SOC/2009/fusion/boost/fusion/support/sequence_base.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/support/sequence_base.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/support/sequence_base.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -15,19 +15,20 @@
{
struct sequence_root {};
- template <typename Sequence>
- struct sequence_base : sequence_root
+ template <typename Seq>
+ struct sequence_base
+ : sequence_root
{
- Sequence const&
+ Seq const&
derived() const
{
- return static_cast<Sequence const&>(*this);
+ return static_cast<Seq const&>(*this);
}
- Sequence&
+ Seq&
derived()
{
- return static_cast<Sequence&>(*this);
+ return static_cast<Seq&>(*this);
}
};
Modified: sandbox/SOC/2009/fusion/boost/fusion/support/variadic_templates/variadic_quote.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/support/variadic_templates/variadic_quote.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/support/variadic_templates/variadic_quote.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -22,18 +22,22 @@
template<template<typename...>class Type>struct variadic_quote
{
private:
- template<typename ConcreteType,typename/* HasType*/>struct apply_impl
+ template<typename ConcreteType,typename/* HasType*/>
+ struct apply_impl
{
typedef ConcreteType type;
};
- template<typename ConcreteType>struct apply_impl<ConcreteType,mpl::true_>:
+
+ template<typename ConcreteType>
+ struct apply_impl<ConcreteType,mpl::true_>:
ConcreteType
{
};
public:
- template<typename... Argument>struct apply :
- apply_impl<Type<Argument...>,detail::has_type<Type<Argument...> > >
+ template<typename... Argument>
+ struct apply
+ : apply_impl<Type<Argument...>,detail::has_type<Type<Argument...> > >
{
};
};
Deleted: sandbox/SOC/2009/fusion/boost/fusion/tuple/make_tuple.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/tuple/make_tuple.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
+++ (empty file)
@@ -1,56 +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)
-==============================================================================*/
-
-#ifndef BOOST_FUSION_TUPLE_MAKE_TUPLE_HPP
-#define BOOST_FUSION_TUPLE_MAKE_TUPLE_HPP
-#define FUSION_MAKE_TUPLE_10032005_0843
-
-#include <boost/preprocessor/iterate.hpp>
-#include <boost/preprocessor/repetition/enum_params.hpp>
-#include <boost/preprocessor/repetition/enum_binary_params.hpp>
-#include <boost/fusion/tuple/tuple.hpp>
-#include <boost/fusion/support/detail/as_fusion_element.hpp>
-
-namespace boost { namespace fusion
-{
- inline tuple<>
- make_tuple()
- {
- return tuple<>();
- }
-
-#define BOOST_FUSION_AS_FUSION_ELEMENT(z, n, data) \
- typename detail::as_fusion_element<BOOST_PP_CAT(T, n)>::type
-
-#define BOOST_PP_FILENAME_1 <boost/fusion/tuple/make_tuple.hpp>
-#define BOOST_PP_ITERATION_LIMITS (1, FUSION_MAX_VECTOR_SIZE)
-#include BOOST_PP_ITERATE()
-
-#undef BOOST_FUSION_AS_FUSION_ELEMENT
-
-}}
-
-#endif
-#else // defined(BOOST_PP_IS_ITERATING)
-///////////////////////////////////////////////////////////////////////////////
-//
-// Preprocessor vertical repetition code
-//
-///////////////////////////////////////////////////////////////////////////////
-
-#define N BOOST_PP_ITERATION()
-
- template <BOOST_PP_ENUM_PARAMS(N, typename T)>
- inline tuple<BOOST_PP_ENUM(N, BOOST_FUSION_AS_FUSION_ELEMENT, _)>
- make_tuple(BOOST_PP_ENUM_BINARY_PARAMS(N, T, const& _))
- {
- return tuple<BOOST_PP_ENUM(N, BOOST_FUSION_AS_FUSION_ELEMENT, _)>(
- BOOST_PP_ENUM_PARAMS(N, _));
- }
-
-#undef N
-#endif // defined(BOOST_PP_IS_ITERATING)
Modified: sandbox/SOC/2009/fusion/boost/fusion/tuple/tuple.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/tuple/tuple.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/tuple/tuple.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -1,89 +1,22 @@
-/*=============================================================================
- Copyright (c) 2005 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)
-==============================================================================*/
+// Copyright Christopher Schmidt 2009.
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
#ifndef BOOST_FUSION_TUPLE_TUPLE_HPP
#define BOOST_FUSION_TUPLE_TUPLE_HPP
-#include <boost/fusion/tuple/tuple_fwd.hpp>
-#include <boost/fusion/container/vector/vector.hpp>
-#include <boost/fusion/sequence/intrinsic/size.hpp>
-#include <boost/fusion/sequence/intrinsic/value_at.hpp>
-#include <boost/fusion/sequence/intrinsic/at.hpp>
-#include <boost/fusion/sequence/comparison.hpp>
-#include <boost/fusion/sequence/io.hpp>
-#include <boost/utility/enable_if.hpp>
-#include <boost/type_traits/is_const.hpp>
-#include <boost/config/no_tr1/utility.hpp>
-
-namespace boost { namespace fusion
-{
- template <BOOST_PP_ENUM_PARAMS(FUSION_MAX_VECTOR_SIZE, typename T)>
- struct tuple : vector<BOOST_PP_ENUM_PARAMS(FUSION_MAX_VECTOR_SIZE, T)>
- {
- typedef vector<
- BOOST_PP_ENUM_PARAMS(FUSION_MAX_VECTOR_SIZE, T)>
- base_type;
-
- tuple()
- : base_type() {}
-
- tuple(tuple const& rhs)
- : base_type(rhs) {}
-
- template <typename U1, typename U2>
- tuple(std::pair<U1, U2> const& rhs)
- : base_type(rhs) {}
-
- #include <boost/fusion/tuple/detail/tuple_expand.hpp>
-
- template <typename T>
- tuple& operator=(T const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
-
- tuple& operator=(tuple const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
-
- template <typename U1, typename U2>
- tuple& operator=(std::pair<U1, U2> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- };
-
- template <typename Tuple>
- struct tuple_size : result_of::size<Tuple> {};
-
- template <int N, typename Tuple>
- struct tuple_element : result_of::value_at_c<Tuple, N> {};
-
- template <int N, typename Tuple>
- inline typename
- lazy_disable_if<
- is_const<Tuple>
- , result_of::at_c<Tuple, N>
- >::type
- get(Tuple& tup)
- {
- return at_c<N>(tup);
- }
-
- template <int N, typename Tuple>
- inline typename result_of::at_c<Tuple const, N>::type
- get(Tuple const& tup)
- {
- return at_c<N>(tup);
- }
+#include <boost/tr1/tuple.hpp>
+
+namespace boost { namespace fusion {
+
+ using std::tr1::tuple;
+ using std::tr1::make_tuple;
+ using std::tr1::tie;
+ using std::tr1::tuple_size;
+ using std::tr1::tuple_element;
+ using std::tr1::get;
+
}}
#endif
Deleted: sandbox/SOC/2009/fusion/boost/fusion/tuple/tuple_fwd.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/tuple/tuple_fwd.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
+++ (empty file)
@@ -1,25 +0,0 @@
-/*=============================================================================
- Copyright (c) 2005 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)
-==============================================================================*/
-
-#ifndef BOOST_FUSION_TUPLE_TUPLE_FWD_HPP
-#define BOOST_FUSION_TUPLE_TUPLE_FWD_HPP
-
-#include <boost/fusion/container/vector/limits.hpp>
-#include <boost/preprocessor/repetition/enum_params_with_a_default.hpp>
-
-namespace boost { namespace fusion
-{
- struct void_;
-
- template <
- BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT(
- FUSION_MAX_VECTOR_SIZE, typename T, void_)
- >
- struct tuple;
-}}
-
-#endif
Deleted: sandbox/SOC/2009/fusion/boost/fusion/tuple/tuple_tie.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/tuple/tuple_tie.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
+++ (empty file)
@@ -1,49 +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)
-==============================================================================*/
-
-#ifndef BOOST_FUSION_TUPLE_TUPLE_TIE_HPP
-#define BOOST_FUSION_TUPLE_TUPLE_TIE_HPP
-#define FUSION_TUPLE_TIE_10032005_0846
-
-#include <boost/preprocessor/iterate.hpp>
-#include <boost/preprocessor/cat.hpp>
-#include <boost/preprocessor/repetition/enum_params.hpp>
-#include <boost/preprocessor/repetition/enum_binary_params.hpp>
-#include <boost/fusion/tuple/tuple.hpp>
-
-namespace boost { namespace fusion
-{
-#define BOOST_FUSION_REF(z, n, data) BOOST_PP_CAT(T, n)&
-
-#define BOOST_PP_FILENAME_1 <boost/fusion/tuple/tuple_tie.hpp>
-#define BOOST_PP_ITERATION_LIMITS (1, FUSION_MAX_VECTOR_SIZE)
-#include BOOST_PP_ITERATE()
-
-#undef BOOST_FUSION_REF
-
-}}
-
-#endif
-#else // defined(BOOST_PP_IS_ITERATING)
-///////////////////////////////////////////////////////////////////////////////
-//
-// Preprocessor vertical repetition code
-//
-///////////////////////////////////////////////////////////////////////////////
-
-#define N BOOST_PP_ITERATION()
-
- template <BOOST_PP_ENUM_PARAMS(N, typename T)>
- inline tuple<BOOST_PP_ENUM(N, BOOST_FUSION_REF, _)>
- tie(BOOST_PP_ENUM_BINARY_PARAMS(N, T, & _))
- {
- return tuple<BOOST_PP_ENUM(N, BOOST_FUSION_REF, _)>(
- BOOST_PP_ENUM_PARAMS(N, _));
- }
-
-#undef N
-#endif // defined(BOOST_PP_IS_ITERATING)
Modified: sandbox/SOC/2009/fusion/boost/fusion/view/detail/strictest_traversal.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/detail/strictest_traversal.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/detail/strictest_traversal.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -54,10 +54,10 @@
};
};
- template<typename Sequence>
+ template<typename Seq>
struct strictest_traversal
: result_of::fold<
- Sequence
+ Seq
, fusion::random_access_traversal_tag
, strictest_traversal_impl
>
Modified: sandbox/SOC/2009/fusion/boost/fusion/view/filter_view/detail/begin_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/filter_view/detail/begin_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/filter_view/detail/begin_impl.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -30,17 +30,11 @@
struct apply
{
typedef typename detail::remove_reference<SeqRef>::type seq;
- typedef typename
- detail::result_of_forward_as<
- SeqRef
- , typename seq::seq_type
- >::type
- forwarded_seq;
typedef
filter_iterator<
- typename result_of::begin<forwarded_seq>::type
- , typename result_of::end<forwarded_seq>::type
+ typename result_of::begin<typename seq::seq_type>::type
+ , typename result_of::end<typename seq::seq_type>::type
, typename seq::pred_type
>
type;
Modified: sandbox/SOC/2009/fusion/boost/fusion/view/filter_view/detail/end_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/filter_view/detail/end_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/filter_view/detail/end_impl.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -29,17 +29,11 @@
struct apply
{
typedef typename detail::remove_reference<SeqRef>::type seq;
- typedef typename
- detail::result_of_forward_as<
- SeqRef
- , typename seq::seq_type
- >::type
- forwarded_seq;
typedef
filter_iterator<
- typename result_of::end<forwarded_seq>::type
- , typename result_of::end<forwarded_seq>::type
+ typename result_of::end<typename seq::seq_type>::type
+ , typename result_of::end<typename seq::seq_type>::type
, typename seq::pred_type
>
type;
Modified: sandbox/SOC/2009/fusion/boost/fusion/view/filter_view/detail/equal_to_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/filter_view/detail/equal_to_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/filter_view/detail/equal_to_impl.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -21,11 +21,11 @@
template<>
struct equal_to_impl<filter_view_iterator_tag>
{
- template<typename I1Ref, typename I2Ref>
+ template<typename It1Ref, typename It2Ref>
struct apply
: result_of::equal_to<
- typename detail::remove_reference<I1Ref>::type::first_type
- , typename detail::remove_reference<I2Ref>::type::first_type
+ typename detail::remove_reference<It1Ref>::type::first_type
+ , typename detail::remove_reference<It2Ref>::type::first_type
>
{};
};
Modified: sandbox/SOC/2009/fusion/boost/fusion/view/reverse_view/detail/advance_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/reverse_view/detail/advance_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/reverse_view/detail/advance_impl.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -16,7 +16,7 @@
struct reverse_view_iterator_tag;
- template <typename Iterator>
+ template <typename It>
struct reverse_view_iterator;
namespace extension
@@ -30,21 +30,23 @@
template<typename ItRef, typename Dist>
struct apply
{
- typedef typename
- detail::remove_reference<ItRef>::type::first_type
- first_type;
- typedef typename mpl::negate<Dist>::type negative_dist;
- typedef typename
- result_of::advance<first_type, negative_dist>::type
- advanced_type;
+ typedef typename mpl::negate<Dist>::type neg_dist;
- typedef reverse_view_iterator<advanced_type> type;
+ typedef
+ reverse_view_iterator<
+ typename result_of::advance<
+ typename detail::remove_reference<
+ ItRef
+ >::type::first_type
+ , neg_dist
+ >::type
+ >
+ type;
static type
call(ItRef it)
{
- return type(
- boost::fusion::advance<negative_dist>(it.first));
+ return type(boost::fusion::advance<neg_dist>(it.first));
}
};
};
Modified: sandbox/SOC/2009/fusion/boost/fusion/view/reverse_view/detail/distance_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/reverse_view/detail/distance_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/reverse_view/detail/distance_impl.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -26,18 +26,18 @@
template<>
struct distance_impl<reverse_view_iterator_tag>
{
- template<typename First, typename Last>
+ template<typename FirstRef, typename LastRef>
struct apply
{
typedef typename
- detail::remove_reference<First>::type::first_type
- first_type;
- typedef typename
- detail::remove_reference<Last>::type::first_type
- last_type;
-
- typedef typename
- result_of::distance<last_type, first_type>::type
+ result_of::distance<
+ typename detail::remove_reference<
+ FirstRef
+ >::type::first_type
+ , typename detail::remove_reference<
+ LastRef
+ >::type::first_type
+ >::type
type;
};
};
Modified: sandbox/SOC/2009/fusion/boost/fusion/view/reverse_view/detail/next_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/reverse_view/detail/next_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/reverse_view/detail/next_impl.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -25,13 +25,13 @@
template <typename ItRef>
struct apply
{
- typedef typename
- detail::remove_reference<ItRef>::type::first_type
- first_type;
-
typedef
reverse_view_iterator<
- typename result_of::prior<first_type>::type
+ typename result_of::prior<
+ typename detail::remove_reference<
+ ItRef
+ >::type::first_type
+ >::type
>
type;
Modified: sandbox/SOC/2009/fusion/boost/fusion/view/reverse_view/detail/prior_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/reverse_view/detail/prior_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/reverse_view/detail/prior_impl.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -14,7 +14,7 @@
{
struct reverse_view_iterator_tag;
- template <typename Iterator>
+ template <typename It>
struct reverse_view_iterator;
namespace extension
@@ -22,23 +22,23 @@
template <>
struct prior_impl<reverse_view_iterator_tag>
{
- template <typename Iterator>
+ template <typename ItRef>
struct apply
{
- typedef typename
- detail::remove_reference<Iterator>::type::first_type
- first_type;
-
typedef
reverse_view_iterator<
- typename result_of::next<first_type>::type
+ typename result_of::next<
+ typename detail::remove_reference<
+ ItRef
+ >::type::first_type
+ >::type
>
type;
static type
- call(Iterator i)
+ call(ItRef it)
{
- return type(next(i.first));
+ return type(next(it.first));
}
};
};
Modified: sandbox/SOC/2009/fusion/boost/fusion/view/single_view/detail/begin_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/single_view/detail/begin_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/single_view/detail/begin_impl.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -23,13 +23,13 @@
template <>
struct begin_impl<single_view_tag>
{
- template <typename Sequence>
+ template <typename SeqRef>
struct apply
{
- typedef single_view_iterator<Sequence> type;
+ typedef single_view_iterator<SeqRef> type;
static type
- call(Sequence s)
+ call(SeqRef s)
{
return type(s,0);
}
Modified: sandbox/SOC/2009/fusion/boost/fusion/view/single_view/detail/deref_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/single_view/detail/deref_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/single_view/detail/deref_impl.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -23,17 +23,17 @@
template <>
struct deref_impl<single_view_iterator_tag>
{
- template <typename Iterator>
+ template <typename ItRef>
struct apply
{
typedef typename
- detail::remove_reference<Iterator>::type::value_type
+ detail::remove_reference<ItRef>::type::value_type
type;
static type
- call(Iterator const& i)
+ call(ItRef const& it)
{
- return i.view->val;
+ return it.view->val;
}
};
};
Modified: sandbox/SOC/2009/fusion/boost/fusion/view/single_view/detail/end_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/single_view/detail/end_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/single_view/detail/end_impl.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -23,13 +23,13 @@
template <>
struct end_impl<single_view_tag>
{
- template <typename Sequence>
+ template <typename SeqRef>
struct apply
{
- typedef single_view_iterator_end<Sequence> type;
+ typedef single_view_iterator_end<SeqRef> type;
static type
- call(Sequence)
+ call(SeqRef)
{
return type();
}
Modified: sandbox/SOC/2009/fusion/boost/fusion/view/single_view/detail/next_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/single_view/detail/next_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/single_view/detail/next_impl.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -26,17 +26,19 @@
template <>
struct next_impl<single_view_iterator_tag>
{
- template <typename Iterator>
+ template <typename ItRef>
struct apply
{
typedef
single_view_iterator_end<
- typename detail::remove_reference<Iterator>::type::view_type
+ typename detail::remove_reference<
+ ItRef
+ >::type::view_type
>
type;
static type
- call(Iterator)
+ call(ItRef)
{
return type();
}
Modified: sandbox/SOC/2009/fusion/boost/fusion/view/single_view/detail/value_of_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/single_view/detail/value_of_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/single_view/detail/value_of_impl.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -20,12 +20,14 @@
template <>
struct value_of_impl<single_view_iterator_tag>
{
- template <typename Iterator>
+ template <typename ItRef>
struct apply
{
typedef typename
detail::remove_reference<
- typename detail::remove_reference<Iterator>::type::view_type
+ typename detail::remove_reference<
+ ItRef
+ >::type::view_type
>::type::value_type
type;
};
Modified: sandbox/SOC/2009/fusion/boost/fusion/view/zip_view/zip_view_iterator_fwd.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/zip_view/zip_view_iterator_fwd.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/zip_view/zip_view_iterator_fwd.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -13,12 +13,11 @@
namespace boost { namespace fusion {
- template<typename IteratorSequence,
- typename Traversal =
- typename detail::strictest_traversal<IteratorSequence>::type
- >
+ template<
+ typename ItSeq
+ , typename Traversal=typename detail::strictest_traversal<ItSeq>::type
+ >
struct zip_view_iterator;
-
}}
#endif
Modified: sandbox/SOC/2009/fusion/libs/fusion/doc/Jamfile
==============================================================================
--- sandbox/SOC/2009/fusion/libs/fusion/doc/Jamfile (original)
+++ sandbox/SOC/2009/fusion/libs/fusion/doc/Jamfile 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -6,13 +6,13 @@
# http://www.boost.org/LICENSE_1_0.txt)
#==============================================================================
project boost/libs/fusion/doc ;
-import boostbook : boostbook ;
-using quickbook ;
+import boostbook ;
+import quickbook ;
import os ;
local BOOST_ROOT = [ os.environ BOOST_ROOT ] ;
-boostbook quickbook
+boostbook fusion
:
fusion.qbk
:
Modified: sandbox/SOC/2009/fusion/libs/fusion/doc/adapted.qbk
==============================================================================
--- sandbox/SOC/2009/fusion/libs/fusion/doc/adapted.qbk (original)
+++ sandbox/SOC/2009/fusion/libs/fusion/doc/adapted.qbk 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -157,7 +157,7 @@
[heading Synopsis]
BOOST_FUSION_ADAPT_STRUCT(
- struct_name
+ struct_name,
(member_type0, member_name0)
(member_type1, member_name1)
...
@@ -190,7 +190,7 @@
// demo::employee is now a Fusion sequence
BOOST_FUSION_ADAPT_STRUCT(
- demo::employee
+ demo::employee,
(std::string, name)
(int, age))
@@ -205,7 +205,7 @@
[heading Synopsis]
BOOST_FUSION_ADAPT_ASSOC_STRUCT(
- struct_name
+ struct_name,
(member_type0, member_name0, key_type0)
(member_type1, member_name1, key_type1)
...
@@ -247,7 +247,7 @@
// It is also an associative sequence with
// keys keys::name and keys::age present.
BOOST_FUSION_ADAPT_ASSOC_STRUCT(
- demo::employee
+ demo::employee,
(std::string, name, keys::name)
(int, age, keys::age))
Modified: sandbox/SOC/2009/fusion/libs/fusion/doc/extension.qbk
==============================================================================
--- sandbox/SOC/2009/fusion/libs/fusion/doc/extension.qbk (original)
+++ sandbox/SOC/2009/fusion/libs/fusion/doc/extension.qbk 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -464,9 +464,7 @@
[[`iterator::template advance<It, N>::type`][The type of an iterator advanced `N` elements from `It`][Implemented in terms of `next` and `prior`]]
[[`iterator::template advance<It, N>::call(it)`][An iterator advanced `N` elements from `it`][Implemented in terms of `next` and `prior`]]
[[`iterator::template distance<It1, It2>::type`][The distance between iterators of type `It1` and `It2` as an __mpl_integral_constant__][None]]
-[[`iterator::template distance<It1, It2>::call(it1, it2)`][The distance between iterator `it1` and `it2`][None]]
[[`iterator::template equal_to<It1, It2>::type`][The distance between iterators of type `It1` and `It2`][`boost::same_type<It1, It2>::type`]]
-[[`iterator::template equal_to<It1, It2>::call(it1, it2)`][The distance between iterators `it1` and `it2`][`boost::same_type<It1, It2>::type()`]]
]
[heading Header]
Modified: sandbox/SOC/2009/fusion/libs/fusion/doc/functional.qbk
==============================================================================
--- sandbox/SOC/2009/fusion/libs/fusion/doc/functional.qbk (original)
+++ sandbox/SOC/2009/fusion/libs/fusion/doc/functional.qbk 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -10,7 +10,9 @@
Components to call functions and function objects and to make Fusion code
callable through a function object interface.
-/functional.hpp>
+[heading Header]
+
+ #include <boost/fusion/functional.hpp>
[heading Fused and unfused forms]
@@ -55,6 +57,8 @@
Every variant has a corresponding generator function template that returns
an adapter instance for the given argument.
+Constructors can be called applying __boost_func_factory__.
+
[heading Making Fusion code callable through a function object interface]
Transforming a fused function into its unfused counterpart allows to create
@@ -62,11 +66,12 @@
object can be implemented instead of (maybe heavily overloaded) function
templates or function call operators.
-The library provides several adapter variants that implement this
-transformation, ranging from strictly typed to fully generic. The latter
-provides a reusable, approximate solution to __the_forwarding_problem__.
-Every generic variant has a corresponding generator function template that
-returns an adapter instance for the given argument.
+The library provides both a strictly typed and a generic variant for this
+transformation. The latter should be used in combination with
+__boost_func_forward__ to attack __the_forwarding_problem__.
+
+Both variants have a corresponding generator function template that returns an
+adapter instance for the given argument.
[/ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ]
@@ -257,6 +262,8 @@
defined (Boost provides this function for [^std::auto_ptr] and
__boost_shared_ptr_call__).
+Constructors can be called applying __boost_func_factory__.
+
[heading Synopsis]
template<
typename Function,
@@ -289,7 +296,9 @@
[*Semantics]: Invokes `f` with the elements in `s` as arguments and returns
the result of the call expression.
-/functional/invocation/invoke.hpp>
+[heading Header]
+
+ #include <boost/fusion/functional/invocation/invoke.hpp>
[heading Example]
__std_plus_doc__<int> add;
@@ -300,6 +309,7 @@
* __invoke_function_object__
* __result_of_invoke__
* __fused__
+* __make_fused__
[endsect]
@@ -352,7 +362,9 @@
[*Semantics]: Invokes `f` with the elements in `s` as arguments.
-/functional/invocation/invoke_procedure.hpp>
+[heading Header]
+
+ #include <booost/fusion/functional/invocation/invoke_procedure.hpp>
[heading Example]
__vector__<int,int> v(1,2);
@@ -365,6 +377,7 @@
* __invoke_function_object__
* __result_of_invoke_procedure__
* __fused_procedure__
+* __make_fused_procedure__
[endsect]
@@ -377,6 +390,8 @@
The first template parameter can be specialized explicitly to avoid copying
and/or to control the const qualification of a function object.
+Constructors can be called applying __boost_func_factory__.
+
[heading Synopsis]
template<
typename Function,
@@ -409,7 +424,9 @@
[*Semantics]: Invokes `f` with the elements in `s` as arguments and returns the
result of the call expression.
-/functional/invocation/invoke_function_object.hpp>
+[heading Header]
+
+ #include <boost/fusion/functional/invocation/invoke_function_object.hpp>
[heading Example]
struct sub
@@ -439,6 +456,7 @@
* __invoke_procedure__
* __result_of_invoke_function_object__
* __fused_function_object__
+* __make_fused_function_object__
[endsect]
@@ -520,6 +538,23 @@
[endsect] [/ Metafunctions ]
+[section Limits]
+
+[heading Header]
+
+ #include <boost/fusion/functional/invocation/limits.hpp>
+
+[heading Macros]
+
+The following macros can be defined to change the maximum arity.
+The default is 6.
+
+* BOOST_FUSION_INVOKE_MAX_ARITY
+* BOOST_FUSION_INVOKE_PROCEDURE_MAX_ARITY
+* BOOST_FUSION_INVOKE_FUNCTION_OBJECT_MAX_ARITY
+
+[endsect]
+
[endsect] [/ Invocation ]
[/ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ]
@@ -551,7 +586,9 @@
defined (Boost provides this function for [^std::auto_ptr] and
__boost_shared_ptr_call__).
-/functional/adapter/fused.hpp>
+[heading Header]
+
+ #include <boost/fusion/functional/adapter/fused.hpp>
[heading Synopsis]
template <typename Function>
@@ -594,6 +631,7 @@
* __fused_procedure__
* __fused_function_object__
* __invoke__
+* __make_fused__
* __deduce__
[endsect]
@@ -627,7 +665,9 @@
such a pointer without returning anything does not make sense, so this case
is not implemented).
-/functional/adapter/fused_procedure.hpp>
+[heading Header]
+
+ #include <boost/fusion/functional/adapter/fused_procedure.hpp>
[heading Synopsis]
template <typename Function>
@@ -683,6 +723,7 @@
* __fused__
* __fused_function_object__
* __invoke_procedure__
+* __make_fused_procedure__
[endsect]
@@ -700,7 +741,9 @@
target function object that is const or, if the target function object
is held by value, the adapter is const).
-/functional/adapter/fused_function_object.hpp>
+[heading Header]
+
+ #include <boost/fusion/functional/adapter/fused_function_object.hpp>
[heading Synopsis]
template <class Function>
@@ -773,150 +816,50 @@
* __fused__
* __fused_procedure__
* __invoke_function_object__
+* __make_fused_function_object__
* __deduce__
[endsect]
-[section unfused_generic]
+[section unfused]
[heading Description]
An n-ary __poly_func_obj__ adapter template for an unary __poly_func_obj__
target function. When called, its arguments are bundled to a
-__random_access_sequence__ of references that is passed to the target function.
-Non-const __lvalue__ arguments are transported as references to non-const, otherwise
-references to const are used.
-
-[blurb __tip__ Detecting mutable LValues on a per-argument basis is currently a
-compile time expensive operation (see __the_forwarding_problem__ for
-details). Therefore, there are two, lightweight and more restricted variants
-of this class template, __unfused_lvalue_args__ and __unfused_rvalue_args__.]
-
-The type of the target function is allowed to be const qualified or a
-reference. Const qualification is preserved and propagated appropriately
-(in other words, only const versions of [^operator()] can be used if
-the target function object is const - or, in case the target function
-object is held by value, the adapter is const).
-
-/functional/adapter/unfused_generic.hpp>
-
-[heading Synopsis]
- template <class Function>
- class unfused_generic;
-
-[heading Template parameters]
-
-[table
- [[Parameter] [Description] [Default]]
- [[`Function`] [An unary __poly_func_obj__] []]
-]
-
-[heading Model of]
-
-* __poly_func_obj__
-* __def_callable_obj__
-
-[variablelist Notation
- [[`F`] [A possibly const qualified, unary __poly_func_obj__ type or reference type thereof]]
- [[`f`] [An object convertible to `F`]]
- [[`UG`] [The type `unfused_generic<F>`]]
- [[`ug`] [An instance of `UG`, initialized with `f`]]
- [[`a0`...`aN`] [Arguments to `ug`]]
-]
-
-[heading Expression Semantics]
-
-[table
- [[Expression] [Semantics]]
- [[`UG(f)`] [Creates a fused function as described above, initializes the target function with `f`.]]
- [[`UG()`] [Creates a fused function as described above, attempts to use `F`'s default constructor.]]
- [[`ug(a0`...`aN)`] [Calls `f` with a __sequence__ that contains references to the arguments `a0`...`aN`.]]
-]
-
-[heading Example]
- template <typename Function, typename T>
- class fused_bound_1st
- {
- typename traits::deduce<Function>::type fnc_deferred;
- typename traits::deduce<T>::type xxx_bound;
- public:
-
- fused_bound_1st(Function deferred, T bound)
- : fnc_deferred(deferred), xxx_bound(bound)
- { }
-
- template <typename Sig>
- struct result;
-
- template <class Self, class Seq>
- struct result< Self(Seq) >
- : result_of::invoke< Function, typename result_of::push_front<
- typename remove_reference<Seq>::type, T>::type >
- { };
-
- template <class Seq>
- typename result< void(Seq) >::type operator()(Seq const & s) const
- {
- return invoke(fnc_deferred, push_front(s,xxx_bound));
- }
- };
-
- template <typename Function, typename T>
- unfused_generic< fused_bound_1st<Function,T> >
- bind_1st(Function f, T const & x)
- {
- return unfused_generic< fused_bound_1st<Function,T> >(
- fused_bound_1st<Function,T>(f,x) );
- }
-
- int test_func(int a, int b, int c)
- {
- return a+b+c;
- }
-
- void try_it()
- {
- assert(bind_1st(& test_func,3)(-2,-1) == 0);
- assert(bind_1st(std::plus<float>(), 1)(0.5f) == 1.5f);
- }
-
-[heading See also]
-* __unfused_lvalue_args__
-* __unfused_rvalue_args__
-* __unfused_typed__
-* __deduce__
-* __deduce_sequence__
-
-[endsect]
-
-
-[section unfused_lvalue_args]
+__random_access_sequence__ of references that is passed to the target function
+object.
-[heading Description]
+The nullary overload of the call operator can be removed by setting the
+second template parameter to `false`, which is very useful if the result type
+computation would result in a compile error, otherwise (nullary call
+operator's prototypes can't be templates and thus are instantiated as early
+as the class template).
-An n-ary __poly_func_obj__ adapter template for an unary __poly_func_obj__
-target function. When called, its arguments are bundled to a
-__random_access_sequence__ of references that is passed to the target function
-object. Only __lvalue__ arguments are accepted.
+Only __lvalue__ arguments are accepted. To overcome this limitation, apply
+__boost_func_forward__.
The type of the target function is allowed to be const qualified or a
-reference. Const qualification is preserved and propagated appropriately
-(in other words, only const versions of [^operator()] can be used if
+reference. Const qualification is preserved and propagated appropriately.
+In other words, only const versions of [^operator()] can be used if
the target function object is const - or, in case the target function
-object is held by value, the adapter is const).
+object is held by value, the adapter is const.
-/functional/adapter/unfused_lvalue_args.hpp>
+[heading Header]
+
+ #include <boost/fusion/functional/adapter/unfused.hpp>
[heading Synopsis]
- template <class Function>
- class unfused_lvalue_args;
+ template <class Function, bool AllowNullary = true>
+ class unfused;
[heading Template parameters]
[table
[[Parameter] [Description] [Default]]
[[`Function`] [A unary __poly_func_obj__] []]
+ [[`AllowNullary`] [Boolean constant] [true]]
]
[heading Model of]
@@ -927,7 +870,7 @@
[variablelist Notation
[[`F`] [A possibly const qualified, unary __poly_func_obj__ type or reference type thereof]]
[[`f`] [An object convertible to `F`]]
- [[`UL`] [The type `unfused_lvalue_args<F>`]]
+ [[`UL`] [The type `unfused<F>`]]
[[`ul`] [An instance of `UL`, initialized with `f`]]
[[`a0`...`aN`] [Arguments to `ul`]]
]
@@ -959,97 +902,15 @@
void try_it()
{
- unfused_lvalue_args<fused_incrementer> increment;
+ unfused<fused_incrementer> increment;
int a = 2; char b = 'X';
increment(a,b);
assert(a == 3 && b == 'Y');
}
[heading See also]
-* __unfused_rvalue_args__
-* __unfused_generic__
* __unfused_typed__
-
-[endsect]
-
-[section unfused_rvalue_args]
-
-[heading Description]
-
-An n-ary __poly_func_obj__ adapter template for an unary __poly_func_obj__
-target function. When called, its arguments are bundled to a
-__random_access_sequence__ of references that is passed to the target
-function object. All referenced objects in the sequence are const qualified.
-
-The type of the target function is allowed to be const qualified or a
-reference. Const qualification is preserved and propagated appropriately
-(in other words, only const versions of [^operator()] can be used if
-the target function object is const - or, in case the target function object
-is held by value, the adapter is const).
-
-/functional/adapter/unfused_rvalue_args.hpp>
-
-[heading Synopsis]
- template <class Function>
- class unfused_rvalue_args;
-
-[heading Template parameters]
-
-[table
- [[Parameter] [Description] [Default]]
- [[`Function`] [A unary __poly_func_obj__] []]
-]
-
-[heading Model of]
-
-* __poly_func_obj__
-* __def_callable_obj__
-
-[variablelist Notation
- [[`F`] [A possibly const qualified, unary __poly_func_obj__ type or reference type thereof]]
- [[`f`] [An object convertible to `F`]]
- [[`UR`] [The type `unfused_rvalue_args<F>`]]
- [[`ur`] [An instance of `UR`, initialized with `f`]]
- [[`a0`...`aN`] [Arguments to `ur`]]
-]
-
-[heading Expression Semantics]
-
-[table
- [[Expression] [Semantics]]
- [[`UR(f)`] [Creates a fused function as described above, initializes the target function with `f`.]]
- [[`UR()`] [Creates a fused function as described above, attempts to use `F`'s default constructor.]]
- [[`ur(a0`...`aN)`] [Calls `f` with a __sequence__ that contains references to the arguments `a0`...`aN`.]]
-]
-
-[heading Example]
- struct sequence_printer
- {
- template <class Seq>
- struct result
- {
- typedef void type;
- };
-
- template <class Seq>
- void operator()(Seq const & s) const
- {
- std::cout << s << std::endl;
- }
- };
-
- void try_it()
- {
- unfused_rvalue_args<sequence_printer> print;
- print(24,"bottles of beer in",'a',"box.");
- }
-
-[heading See also]
-* __unfused_lvalue_args__
-* __unfused_generic__
-* __unfused_typed__
-* __deduce__
-* __deduce_sequence__
+* __make_unfused__
[endsect]
@@ -1078,7 +939,9 @@
non-reference elements, the element is copied only once - the call operator's
signature is optimized automatically to avoid by-value parameters.]
-/functional/adapter/unfused_typed.hpp>
+[heading Header]
+
+ #include <boost/fusion/functional/adapter/unfused_typed.hpp>
[heading Synopsis]
template <class Function, class Sequence>
@@ -1169,7 +1032,7 @@
fused_parallel_adder<Seq>(tie) );
}
};
- unfused_lvalue_args<fused_parallel_adder_maker> parallel_add;
+ unfused<fused_parallel_adder_maker> parallel_add;
void try_it()
{
@@ -1183,14 +1046,29 @@
}
[heading See also]
-* __unfused_generic__
-* __unfused_lvalue_args__
-* __unfused_rvalue_args__
+* __unfused__
* __deduce__
* __deduce_sequence__
[endsect]
+[section Limits]
+
+[heading Header]
+
+ #include <boost/fusion/functional/adapter/limits.hpp>
+
+[heading Macros]
+
+The following macros can be defined to change the maximum arity.
+The value used for these macros must not exceed `FUSION_MAX_VECTOR_SIZE`.
+The default is 6.
+
+* BOOST_FUSION_UNFUSED_MAX_ARITY
+* BOOST_FUSION_UNFUSED_TYPE_MAX_ARITY
+
+[endsect]
+
[endsect] [/ Adapters]
[/ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ]
@@ -1353,85 +1231,16 @@
[endsect]
-[section:mk_unfused_genrc make_unfused_generic]
-
-[heading Description]
-Creates a __unfused_generic__ adapter for a given, unary __poly_func_obj__.
-The usual __element_conversion__ is applied to the target function.
-
-[heading Synopsis]
- template <typename F>
- inline typename __result_of_make_unfused_generic__<F>::type
- make_unfused_generic(F const & f);
-
-[heading Parameters]
-[table
- [[Parameter] [Requirement] [Description]]
- [[`f`] [Model of __poly_func_obj__] [The function to transform.]]
-]
-
-[heading Expression Semantics]
-
- make_unfused_generic(f);
-
-[*Return type]: A specialization of __unfused_generic__.
-
-[*Semantics]: Returns a __unfused_generic__ adapter for `f`.
-
-[heading Header]
-
- #include <boost/fusion/functional/generation/make_unfused_generic.hpp>
- #include <boost/fusion/include/make_unfused_generic.hpp>
-
-[heading Example]
- struct bottles_song
- {
- typedef void result_type;
-
- template<class Seq>
- void operator()(Seq & s) const
- {
- typename result_of::at_c<Seq,0>::type n = at_c<0>(s);
- typename result_of::at_c<Seq,1>::type what = at_c<1>(s);
-
- std::cout
- << n << " bottles of " << what << " on the wall.\n"
- << n << " bottles of " << what << "!\n"
- << "Take one down - pass it around.\n";
-
- n -= 1; // glug glug...
-
- std::cout
- << n << " bottles of " << what << " on the wall.\n"
- << std::endl;
- }
- };
-
- void try_it()
- {
- unsigned n_milk = 99;
- for(int i = 0; i < 3; ++i)
- make_unfused_generic(bottles_song())(n_milk,"milk");
- // 96 bottles left for me
- }
-
-[heading See also]
-* __unfused_generic__
-* __deduce__
-* __result_of_make_unfused_generic__
-
-[endsect]
-
-[section:mk_unfused_lvargs make_unfused_lvalue_args]
+[section:mk_unfused make_unfused]
[heading Description]
-Creates a __unfused_lvalue_args__ adapter for a given, unary __poly_func_obj__.
+Creates a __unfused__ adapter for a given, unary __poly_func_obj__.
The usual __element_conversion__ is applied to the target function.
[heading Synopsis]
template <typename F>
- inline typename __result_of_make_unfused_lvalue_args__<F>::type
- make_unfused_lvalue_args(F const & f);
+ inline typename __result_of_make_unfused__<F>::type
+ make_unfused(F const & f);
[heading Parameters]
[table
@@ -1441,16 +1250,16 @@
[heading Expression Semantics]
- make_unfused_lvalue_args(f);
+ make_unfused(f);
-[*Return type]: A specialization of __unfused_lvalue_args__.
+[*Return type]: A specialization of __unfused__.
-[*Semantics]: Returns a __unfused_lvalue_args__ adapter for `f`.
+[*Semantics]: Returns a __unfused__ adapter for `f`.
[heading Header]
- #include <boost/fusion/functional/generation/make_unfused_lvalue_args.hpp>
- #include <boost/fusion/include/make_unfused_lvalue_args.hpp>
+ #include <boost/fusion/functional/generation/make_unfused.hpp>
+ #include <boost/fusion/include/make_unfused.hpp>
[heading Example]
struct fused_incrementer
@@ -1471,73 +1280,14 @@
void try_it()
{
int a = 2; char b = 'X';
- make_unfused_lvalue_args(fused_incrementer())(a,b);
+ make_unfused(fused_incrementer())(a,b);
assert(a == 3 && b == 'Y');
}
[heading See also]
-* __unfused_lvalue_args__
-* __deduce__
-* __result_of_make_unfused_lvalue_args__
-
-[endsect]
-
-[section:mk_unfused_rvargs make_unfused_rvalue_args]
-
-[heading Description]
-Creates a __unfused_rvalue_args__ adapter for a given, unary __poly_func_obj__.
-The usual __element_conversion__ is applied to the target function.
-
-[heading Synopsis]
- template <typename F>
- inline typename __result_of_make_unfused_rvalue_args__<F>::type
- make_unfused_rvalue_args(F const & f);
-
-[heading Parameters]
-[table
- [[Parameter] [Requirement] [Description]]
- [[`f`] [Model of __poly_func_obj__] [The function to transform.]]
-]
-
-[heading Expression Semantics]
-
- make_unfused_rvalue_args(f);
-
-[*Return type]: A specialization of __unfused_rvalue_args__.
-
-[*Semantics]: Returns a __unfused_rvalue_args__ adapter for `f`.
-
-[heading Header]
-
- #include <boost/fusion/functional/generation/make_unfused_rvalue_args.hpp>
- #include <boost/fusion/include/make_unfused_rvalue_args.hpp>
-
-[heading Example]
- struct sequence_printer
- {
- template <class Seq>
- struct result
- {
- typedef void type;
- };
-
- template <class Seq>
- void operator()(Seq const & s) const
- {
- std::cout << s << std::endl;
- }
- };
-
- void try_it()
- {
- make_unfused_rvalue_args(sequence_printer())
- (24,"bottles of beer in",'a',"box.");
- }
-
-[heading See also]
-* __unfused_rvalue_args__
+* __unfused__
* __deduce__
-* __result_of_make_unfused_rvalue_args__
+* __result_of_make_unfused__
[endsect]
@@ -1620,78 +1370,28 @@
[endsect]
-[section:mk_unfused_genrc make_unfused_generic]
-
-[heading Description]
-Returns the result type of __make_unfused_generic__.
-
-[heading Header]
-
- #include <boost/fusion/functional/generation/make_unfused_generic.hpp>
- #include <boost/fusion/include/make_unfused_generic.hpp>
-
-[heading Synopsis]
- namespace result_of
- {
- template<typename Function>
- struct make_unfused_generic
- {
- typedef __unspecified__ type;
- };
- }
-
-[heading See also]
-* __make_unfused_generic__
-
-[endsect]
-
-[section:mk_unfused_lvargs make_unfused_lvalue_args]
-
-[heading Description]
-Returns the result type of __make_unfused_lvalue_args__.
-
-[heading Header]
-
- #include <boost/fusion/functional/generation/make_unfused_lvalue_args.hpp>
- #include <boost/fusion/include/make_unfused_lvalue_args.hpp>
-
-[heading Synopsis]
- namespace result_of
- {
- template<typename Function>
- struct make_unfused_lvalue_args
- {
- typedef __unspecified__ type;
- };
- }
-
-[heading See also]
-* __make_unfused_lvalue_args__
-
-[endsect]
-
-[section:mk_unfused_rvargs make_unfused_rvalue_args]
+[section:mk_unfused make_unfused]
[heading Description]
-Returns the result type of __make_unfused_rvalue_args__.
+Returns the result type of __make_unfused__.
[heading Header]
- #include <boost/fusion/functional/generation/make_unfused_rvalue_args.hpp>
- #include <boost/fusion/include/make_unfused_rvalue_args.hpp>
+ #include <boost/fusion/functional/generation/make_unfused.hpp>
+ #include <boost/fusion/include/make_unfused.hpp>
[heading Synopsis]
namespace result_of
{
template<typename Function>
- struct make_unfused_rvalue_args
+ struct make_unfused
{
typedef __unspecified__ type;
};
}
[heading See also]
-* __make_unfused_rvalue_args__
+* __make_unfused__
[endsect]
Modified: sandbox/SOC/2009/fusion/libs/fusion/doc/tuple.qbk
==============================================================================
--- sandbox/SOC/2009/fusion/libs/fusion/doc/tuple.qbk (original)
+++ sandbox/SOC/2009/fusion/libs/fusion/doc/tuple.qbk 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -30,7 +30,10 @@
typename TN = __unspecified__>
class tuple;
-/tuple.hpp>
+[heading Header]
+
+ #include <boost/fusion/tuple/tuple>
+ #include <boost/fusion/include/tuple.hpp>
[section Construction]
Modified: sandbox/SOC/2009/fusion/libs/fusion/example/cookbook/do_the_bind.cpp
==============================================================================
--- sandbox/SOC/2009/fusion/libs/fusion/example/cookbook/do_the_bind.cpp (original)
+++ sandbox/SOC/2009/fusion/libs/fusion/example/cookbook/do_the_bind.cpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -22,23 +22,29 @@
form.
==============================================================================*/
+
#include <boost/fusion/functional/invocation/invoke.hpp>
-#include <boost/fusion/functional/adapter/unfused_generic.hpp>
-#include <boost/fusion/functional/adapter/unfused_rvalue_args.hpp>
+#include <boost/fusion/functional/adapter/unfused.hpp>
#include <boost/fusion/support/deduce_sequence.hpp>
#include <boost/fusion/sequence/intrinsic/at.hpp>
-#include <boost/fusion/mpl.hpp>
#include <boost/fusion/sequence/intrinsic/front.hpp>
-#include <boost/fusion/sequence/intrinsic/empty.hpp>
+#include <boost/fusion/sequence/intrinsic/size.hpp>
#include <boost/fusion/algorithm/transformation/transform.hpp>
#include <boost/fusion/algorithm/transformation/pop_front.hpp>
+#include <boost/fusion/algorithm/iteration/fold.hpp>
+#include <boost/fusion/view/filter_view.hpp>
+
+#include <boost/functional/forward_adapter.hpp>
+#include <boost/functional/lightweight_forward_adapter.hpp>
#include <boost/type_traits/remove_reference.hpp>
#include <boost/mpl/eval_if.hpp>
#include <boost/mpl/identity.hpp>
#include <boost/mpl/int.hpp>
+#include <boost/mpl/max.hpp>
+#include <boost/mpl/next.hpp>
#include <boost/ref.hpp>
#include <iostream>
@@ -105,6 +111,7 @@
// returned by bind
template <class BindArgs> class fused_bound_function
{
+ // Transform arguments to be held by value
typedef typename traits::deduce_sequence<BindArgs>::type bound_args;
bound_args fsq_bind_args;
@@ -144,19 +151,40 @@
};
+ // Find the number of placeholders in use
+ struct n_placeholders
+ {
+ struct fold_op
+ {
+ template <typename Sig> struct result;
+ template <class S, class A, class B> struct result< S(A &,B &) >
+ : mpl::max<A,B> { };
+ };
+ struct filter_pred
+ {
+ template <class X> struct apply : is_placeholder<X> { };
+ };
+
+ template <typename Seq>
+ struct apply
+ : mpl::next< typename result_of::fold<
+ fusion::filter_view<Seq,filter_pred>, mpl::int_<-1>, fold_op
+ >::type>::type
+ { };
+ };
+
// Fused implementation of the 'bind' function
struct fused_binder
{
template <class Signature>
struct result;
- template <class BindArgs>
+ template <class BindArgs,
+ int Placeholders = n_placeholders::apply<BindArgs>::value>
struct result_impl
{
- // We have to transform the arguments so they are held by-value
- // in the returned function.
- typedef fusion::unfused_generic<
- fused_bound_function<BindArgs> > type;
+ typedef boost::forward_adapter<fusion::unfused<
+ fused_bound_function<BindArgs>,!Placeholders>,Placeholders> type;
};
template <class Self, class BindArgs>
@@ -168,14 +196,16 @@
inline typename result_impl< BindArgs >::type
operator()(BindArgs & bind_args) const
{
- return typename result< void(BindArgs) >::type(bind_args);
+ return typename result< void(BindArgs) >::type(
+ fusion::unfused< fused_bound_function<BindArgs>,
+ ! n_placeholders::apply<BindArgs>::value >(bind_args) );
}
};
- // The binder's unfused type. We use unfused_rvalue_args to make that
- // thing more similar to Boost.Bind. Because of that we have to use
+ // The binder's unfused type. We use lightweght_forward_adapter to make
+ // that thing more similar to Boost.Bind. Because of that we have to use
// Boost.Ref (below in the sample code)
- typedef fusion::unfused_rvalue_args<fused_binder> binder;
+ typedef boost::lightweight_forward_adapter< fusion::unfused<fused_binder> > binder;
}
// Placeholder globals
@@ -225,10 +255,11 @@
using boost::ref;
int errors = 0;
+
errors += !( bind(f)() == 0);
errors += !( bind(f,"Hi")() == 1);
errors += !( bind(f,_1_)("there.") == 1);
- errors += !( bind(f,"The answer is",_1_)(value) == 2);
+ errors += !( bind(f,"The answer is",_1_)(12) == 2);
errors += !( bind(f,_1_,ref(value))("Really?") == 2);
errors += !( bind(f,_1_,_2_)("Dunno. If there is an answer, it's",value) == 2);
Modified: sandbox/SOC/2009/fusion/libs/fusion/test/Jamfile
==============================================================================
--- sandbox/SOC/2009/fusion/libs/fusion/test/Jamfile (original)
+++ sandbox/SOC/2009/fusion/libs/fusion/test/Jamfile 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -14,40 +14,44 @@
[ run algorithm/all.cpp : : : : ]
[ run algorithm/any.cpp : : : : ]
[ run algorithm/clear.cpp : : : : ]
- [ run algorithm/count.cpp : : : : ]
[ run algorithm/count_if.cpp : : : : ]
- [ run algorithm/erase.cpp : : : : ]
+ [ run algorithm/count.cpp : : : : ]
[ run algorithm/erase_key.cpp : : : : ]
- [ run algorithm/filter.cpp : : : : ]
+ [ run algorithm/erase.cpp : : : : ]
[ run algorithm/filter_if.cpp : : : : ]
- [ run algorithm/find.cpp : : : : ]
+ [ run algorithm/filter.cpp : : : : ]
[ run algorithm/find_if.cpp : : : : ]
+ [ run algorithm/find.cpp : : : : ]
[ run algorithm/fold.cpp : : : : ]
[ run algorithm/for_each.cpp : : : : ]
[ run algorithm/insert_range.cpp : : : : ]
[ run algorithm/insert.cpp : : : : ]
+# [ run algorithm/join.cpp : : : : ]
[ run algorithm/none.cpp : : : : ]
[ run algorithm/pop_back.cpp : : : : ]
[ run algorithm/pop_front.cpp : : : : ]
[ run algorithm/push_back.cpp : : : : ]
[ run algorithm/push_front.cpp : : : : ]
- [ run algorithm/remove.cpp : : : : ]
[ run algorithm/remove_if.cpp : : : : ]
- [ run algorithm/replace.cpp : : : : ]
+ [ run algorithm/remove.cpp : : : : ]
[ run algorithm/replace_if.cpp : : : : ]
+ [ run algorithm/replace.cpp : : : : ]
[ run algorithm/reverse.cpp : : : : ]
[ run algorithm/transform.cpp : : : : ]
-# [ run algorithm/join.cpp : : : : ]
+# [ run algorithm/zip_ignore.cpp : : : : ]
# [ run algorithm/zip.cpp : : : : ]
# [ run algorithm/zip2.cpp : : : : ]
-# [ run algorithm/zip_ignore.cpp : : : : ]
+# [ run sequence/adapt_struct.cpp : : : : ]
+# [ run sequence/adapt_assoc_struct.cpp : : : : ]
+# [ run sequence/array : : : : ]
[ run sequence/as_list.cpp : : : : ]
[ run sequence/as_map.cpp : : : : ]
[ run sequence/as_set.cpp : : : : ]
[ run sequence/as_vector.cpp : : : : ]
-# [ run sequence/boost_tuple.cpp : : : : ]
+# [ run sequence/boost_tuple.cpp : : : : ]
[ run sequence/cons.cpp : : : : ]
+# [ run sequence/deduce_sequence.cpp : : : : ]
[ run sequence/filter_view.cpp : : : : ]
[ run sequence/io.cpp : : : : ]
[ run sequence/iterator_range.cpp : : : : ]
@@ -60,13 +64,15 @@
[ run sequence/list_misc.cpp : : : : ]
[ run sequence/list_mutate.cpp : : : : ]
[ run sequence/list_tie.cpp : : : : ]
- [ run sequence/map.cpp : : : : ]
[ run sequence/map_tie.cpp : : : : ]
+ [ run sequence/map.cpp : : : : ]
[ run sequence/reverse_view.cpp : : : : ]
[ run sequence/set.cpp : : : : ]
[ run sequence/single_view.cpp : : : : ]
# [ run sequence/std_pair.cpp : : : : ]
-# [ run sequence/array.cpp : : : : ]
+ [ run sequence/swap.cpp : : : : ]
+# [ run sequence/tr1_tuple_auto_conv.cpp : : : : ]
+ [ run sequence/transform_view.cpp : : : : ]
# [ run sequence/tuple_comparison.cpp : : : : ]
# [ run sequence/tuple_construction.cpp : : : : ]
# [ run sequence/tuple_copy.cpp : : : : ]
@@ -75,8 +81,6 @@
# [ run sequence/tuple_misc.cpp : : : : ]
# [ run sequence/tuple_mutate.cpp : : : : ]
# [ run sequence/tuple_tie.cpp : : : : ]
-# [ run sequence/tr1_tuple_auto_conv.cpp : : : : ]
- [ run sequence/transform_view.cpp : : : : ]
[ run sequence/vector_comparison.cpp : : : : ]
[ run sequence/vector_construction.cpp : : : : ]
[ run sequence/vector_copy.cpp : : : : ]
@@ -87,30 +91,22 @@
[ run sequence/vector_n.cpp : : : : ]
[ run sequence/vector_tie.cpp : : : : ]
[ run sequence/vector_value_at.cpp : : : : ]
+ [ run sequence/zip_view_ignore.cpp : : : : ]
[ run sequence/zip_view.cpp : : : : ]
[ run sequence/zip_view2.cpp : : : : ]
- [ run sequence/zip_view_ignore.cpp : : : : ]
-# [ run sequence/deduce_sequence.cpp : : : : ]
-# [ run sequence/adapt_struct.cpp : : : : ]
-# [ run sequence/adapt_assoc_struct.cpp : : : : ]
-# [ run functional/fused.cpp : : : : ]
# [ run functional/fused_function_object.cpp : : : : ]
# [ run functional/fused_procedure.cpp : : : : ]
-# [ run functional/unfused_generic.cpp : : : : ]
-# [ run functional/unfused_lvalue_args.cpp : : : : ]
-# [ run functional/unfused_rvalue_args.cpp : : : : ]
-# [ run functional/unfused_typed.cpp : : : : ]
-# [ run functional/make_fused.cpp : : : : ]
-# [ run functional/make_fused_function_object.cpp : : : : ]
-# [ run functional/make_fused_procedure.cpp : : : : ]
-# [ run functional/make_unfused_generic.cpp : : : : ]
-# [ run functional/make_unfused_lvalue_args.cpp : : : : ]
-# [ run functional/make_unfused_rvalue_args.cpp : : : : ]
-# [ run functional/invoke.cpp : : : : ]
+# [ run functional/fused.cpp : : : : ]
# [ run functional/invoke_function_object.cpp : : : : ]
# [ run functional/invoke_procedure.cpp : : : : ]
-# [ run sequence/swap.cpp : : : : ]
+# [ run functional/invoke.cpp : : : : ]
+# [ run functional/make_fused_function_object.cpp : : : : ]
+# [ run functional/make_fused_procedure.cpp : : : : ]
+# [ run functional/make_fused.cpp : : : : ]
+# [ run functional/make_unfused.cpp : : : : ]
+# [ run functional/unfused_typed.cpp : : : : ]
+# [ run functional/unfused.cpp : : : : ]
# [ compile-fail xxx.cpp : : : : ]
Modified: sandbox/SOC/2009/fusion/libs/fusion/test/functional/invoke.cpp
==============================================================================
--- sandbox/SOC/2009/fusion/libs/fusion/test/functional/invoke.cpp (original)
+++ sandbox/SOC/2009/fusion/libs/fusion/test/functional/invoke.cpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -340,7 +340,7 @@
using boost::is_same;
BOOST_TEST(( is_same<
- fusion::result_of::invoke<int (*)(), fusion::vector0 >::type, int
+ fusion::result_of::invoke<int (*)(), fusion::vector0<> >::type, int
>::value ));
// disabled until boost::result_of supports it
// BOOST_TEST(( is_same<
Added: sandbox/SOC/2009/fusion/libs/fusion/test/functional/make_unfused.cpp
==============================================================================
--- (empty file)
+++ sandbox/SOC/2009/fusion/libs/fusion/test/functional/make_unfused.cpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -0,0 +1,126 @@
+/*=============================================================================
+ Copyright (c) 2006-2007 Tobias Schwinger
+
+ Use modification and distribution are subject to 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).
+==============================================================================*/
+
+#include <boost/fusion/functional/generation/make_unfused.hpp>
+#include <boost/detail/lightweight_test.hpp>
+
+#include <boost/noncopyable.hpp>
+#include <boost/blank.hpp>
+
+#include <boost/mpl/if.hpp>
+#include <boost/mpl/and.hpp>
+#include <boost/mpl/bool.hpp>
+#include <boost/mpl/identity.hpp>
+
+#include <boost/utility/result_of.hpp>
+
+#include <boost/fusion/sequence/intrinsic/empty.hpp>
+#include <boost/fusion/algorithm/iteration/fold.hpp>
+
+#include <boost/ref.hpp>
+
+namespace fusion = boost::fusion;
+namespace mpl = boost::mpl;
+
+using boost::noncopyable;
+typedef mpl::true_ no_nullary_call;
+
+using boost::ref;
+using boost::cref;
+
+template <class Base = boost::blank, class RemoveNullary = mpl::false_>
+struct test_func
+ : Base
+{
+ template <typename Sig>
+ struct result;
+
+ template <class Self, class Seq>
+ struct result< Self(Seq &) >
+ : mpl::if_< mpl::and_< fusion::result_of::empty<Seq>, RemoveNullary >,
+ boost::blank, mpl::identity<long> >::type
+ { };
+
+ template <typename Seq>
+ long operator()(Seq const & seq) const
+ {
+ long state = 0;
+ return fusion::fold(seq, state, fold_op());
+ }
+
+ template < typename Seq >
+ long operator()(Seq const & seq)
+ {
+ long state = 100;
+ return fusion::fold(seq, state, fold_op());
+ }
+
+ private:
+
+ struct fold_op
+ {
+ typedef long result_type;
+
+ template <typename T>
+ long operator()(T & elem, long value) const
+ {
+ elem += sizeof(T);
+ return value + elem;
+ }
+ };
+};
+
+template <typename T>
+inline T const & const_(T const & t)
+{
+ return t;
+}
+
+int main()
+{
+ test_func<> f;
+ test_func<noncopyable> f_nc;
+
+ fusion::result_of::make_unfused< test_func<> >::type unfused_func =
+ fusion::make_unfused(f);
+
+ fusion::result_of::make_unfused< boost::reference_wrapper<
+ test_func<noncopyable> > >::type unfused_func_ref =
+ fusion::make_unfused(ref(f_nc));
+
+ fusion::result_of::make_unfused< boost::reference_wrapper<
+ test_func<noncopyable> const> >::type unfused_func_c_ref =
+ fusion::make_unfused(cref(f_nc));
+
+ BOOST_TEST(unfused_func() == 100);
+ BOOST_TEST(const_(unfused_func)() == 0);
+ BOOST_TEST(unfused_func_ref() == 100);
+ BOOST_TEST(unfused_func_c_ref() == 0);
+
+ long lv1 = 2; int lv2 = 3l; char lv3 = '\007';
+ long expected;
+
+ expected = lv1+sizeof(lv1) + lv2+sizeof(lv2) + lv3+sizeof(lv3);
+ BOOST_TEST(unfused_func(lv1,lv2,lv3) == 100 + expected);
+ BOOST_TEST(lv1 == 2+1*sizeof(lv1) && lv2 == 3+1*sizeof(lv2) && lv3 == 7+1*sizeof(lv3));
+
+ expected = lv1+sizeof(lv1) + lv2+sizeof(lv2) + lv3+sizeof(lv3);
+ BOOST_TEST(const_(unfused_func)(lv1,lv2,lv3) == 0 + expected);
+ BOOST_TEST(lv1 == 2+2*sizeof(lv1) && lv2 == 3+2*sizeof(lv2) && lv3 == 7+2*sizeof(lv3));
+
+ expected = lv1+sizeof(lv1) + lv2+sizeof(lv2) + lv3+sizeof(lv3);
+ BOOST_TEST(unfused_func_ref(lv1,lv2,lv3) == 100 + expected);
+ BOOST_TEST(lv1 == 2+3*sizeof(lv1) && lv2 == 3+3*sizeof(lv2) && lv3 == 7+3*sizeof(lv3));
+
+ expected = lv1+sizeof(lv1) + lv2+sizeof(lv2) + lv3+sizeof(lv3);
+ BOOST_TEST(unfused_func_c_ref(lv1,lv2,lv3) == 0 + expected);
+ BOOST_TEST(lv1 == 2+4*sizeof(lv1) && lv2 == 3+4*sizeof(lv2) && lv3 == 7+4*sizeof(lv3));
+
+ return boost::report_errors();
+}
+
Deleted: sandbox/SOC/2009/fusion/libs/fusion/test/functional/make_unfused_generic.cpp
==============================================================================
--- sandbox/SOC/2009/fusion/libs/fusion/test/functional/make_unfused_generic.cpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
+++ (empty file)
@@ -1,124 +0,0 @@
-/*=============================================================================
- Copyright (c) 2006-2007 Tobias Schwinger
-
- Use modification and distribution are subject to 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).
-==============================================================================*/
-
-#include <boost/fusion/functional/generation/make_unfused_generic.hpp>
-#include <boost/detail/lightweight_test.hpp>
-
-#include <boost/type_traits/is_same.hpp>
-
-#include <boost/noncopyable.hpp>
-#include <boost/blank.hpp>
-
-#include <boost/mpl/if.hpp>
-#include <boost/mpl/and.hpp>
-#include <boost/mpl/bool.hpp>
-#include <boost/mpl/identity.hpp>
-
-#include <boost/fusion/sequence/intrinsic/empty.hpp>
-#include <boost/fusion/algorithm/iteration/fold.hpp>
-
-#include <boost/ref.hpp>
-
-namespace fusion = boost::fusion;
-namespace mpl = boost::mpl;
-
-using boost::noncopyable;
-typedef mpl::true_ no_nullary_call;
-
-using boost::ref;
-using boost::cref;
-
-template <class Base = boost::blank, class RemoveNullary = mpl::false_>
-struct test_func
- : Base
-{
- template <typename Sig>
- struct result;
-
- template <class Self, class Seq>
- struct result< Self(Seq &) >
- : mpl::if_< mpl::and_< fusion::result_of::empty<Seq>, RemoveNullary >,
- boost::blank, mpl::identity<long> >::type
- { };
-
- template <typename Seq>
- long operator()(Seq const & seq) const
- {
- long state = 0;
- return fusion::fold(seq, state, fold_op());
- }
-
- template < typename Seq >
- long operator()(Seq const & seq)
- {
- long state = 100;
- return fusion::fold(seq, state, fold_op());
- }
-
- private:
-
- struct fold_op
- {
- typedef long result_type;
-
- template <typename T>
- long operator()(T const & elem, long value) const
- {
- return value + sizeof(T) * elem;
- }
-
- template <typename T>
- long operator()(T & elem, long value) const
- {
- elem += sizeof(T);
- return value;
- }
- };
-};
-
-template <typename T>
-inline T const & const_(T const & t)
-{
- return t;
-}
-
-int main()
-{
- test_func<> f;
- test_func<noncopyable> f_nc;
-
- fusion::result_of::make_unfused_generic< test_func<> >::type unfused_func =
- fusion::make_unfused_generic(f);
-
- fusion::result_of::make_unfused_generic< boost::reference_wrapper<
- test_func<noncopyable> > >::type unfused_func_ref =
- fusion::make_unfused_generic(ref(f_nc));
-
- fusion::result_of::make_unfused_generic< boost::reference_wrapper<
- test_func<noncopyable> const> >::type unfused_func_c_ref =
- fusion::make_unfused_generic(cref(f_nc));
-
- BOOST_TEST(unfused_func() == 100);
- BOOST_TEST(const_(unfused_func)() == 0);
- BOOST_TEST(unfused_func_ref() == 100);
- BOOST_TEST(unfused_func_c_ref() == 0);
-
- long lvalue = 12;
- static const long expected = 1*sizeof(int) + 2*sizeof(long) + 7*sizeof(char);
- BOOST_TEST(unfused_func(lvalue,lvalue,1,2l,'\007') == 100 + expected);
- BOOST_TEST(lvalue == 12 + 2*sizeof(long));
- BOOST_TEST(const_(unfused_func)(lvalue,lvalue,1,2l,'\007') == 0 + expected);
- BOOST_TEST(lvalue == 12 + 4*sizeof(long));
- BOOST_TEST(unfused_func_ref(lvalue,lvalue,1,2l,'\007') == 100 + expected);
- BOOST_TEST(lvalue == 12 + 6*sizeof(long));
- BOOST_TEST(unfused_func_c_ref(lvalue,lvalue,1,2l,'\007') == 0 + expected);
- BOOST_TEST(lvalue == 12 + 8*sizeof(long));
-
- return boost::report_errors();
-}
-
Deleted: sandbox/SOC/2009/fusion/libs/fusion/test/functional/make_unfused_lvalue_args.cpp
==============================================================================
--- sandbox/SOC/2009/fusion/libs/fusion/test/functional/make_unfused_lvalue_args.cpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
+++ (empty file)
@@ -1,126 +0,0 @@
-/*=============================================================================
- Copyright (c) 2006-2007 Tobias Schwinger
-
- Use modification and distribution are subject to 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).
-==============================================================================*/
-
-#include <boost/fusion/functional/generation/make_unfused_lvalue_args.hpp>
-#include <boost/detail/lightweight_test.hpp>
-
-#include <boost/noncopyable.hpp>
-#include <boost/blank.hpp>
-
-#include <boost/mpl/if.hpp>
-#include <boost/mpl/and.hpp>
-#include <boost/mpl/bool.hpp>
-#include <boost/mpl/identity.hpp>
-
-#include <boost/utility/result_of.hpp>
-
-#include <boost/fusion/sequence/intrinsic/empty.hpp>
-#include <boost/fusion/algorithm/iteration/fold.hpp>
-
-#include <boost/ref.hpp>
-
-namespace fusion = boost::fusion;
-namespace mpl = boost::mpl;
-
-using boost::noncopyable;
-typedef mpl::true_ no_nullary_call;
-
-using boost::ref;
-using boost::cref;
-
-template <class Base = boost::blank, class RemoveNullary = mpl::false_>
-struct test_func
- : Base
-{
- template <typename Sig>
- struct result;
-
- template <class Self, class Seq>
- struct result< Self(Seq &) >
- : mpl::if_< mpl::and_< fusion::result_of::empty<Seq>, RemoveNullary >,
- boost::blank, mpl::identity<long> >::type
- { };
-
- template <typename Seq>
- long operator()(Seq const & seq) const
- {
- long state = 0;
- return fusion::fold(seq, state, fold_op());
- }
-
- template < typename Seq >
- long operator()(Seq const & seq)
- {
- long state = 100;
- return fusion::fold(seq, state, fold_op());
- }
-
- private:
-
- struct fold_op
- {
- typedef long result_type;
-
- template <typename T>
- long operator()(T & elem, long value) const
- {
- elem += sizeof(T);
- return value + elem;
- }
- };
-};
-
-template <typename T>
-inline T const & const_(T const & t)
-{
- return t;
-}
-
-int main()
-{
- test_func<> f;
- test_func<noncopyable> f_nc;
-
- fusion::result_of::make_unfused_lvalue_args< test_func<> >::type unfused_func =
- fusion::make_unfused_lvalue_args(f);
-
- fusion::result_of::make_unfused_lvalue_args< boost::reference_wrapper<
- test_func<noncopyable> > >::type unfused_func_ref =
- fusion::make_unfused_lvalue_args(ref(f_nc));
-
- fusion::result_of::make_unfused_lvalue_args< boost::reference_wrapper<
- test_func<noncopyable> const> >::type unfused_func_c_ref =
- fusion::make_unfused_lvalue_args(cref(f_nc));
-
- BOOST_TEST(unfused_func() == 100);
- BOOST_TEST(const_(unfused_func)() == 0);
- BOOST_TEST(unfused_func_ref() == 100);
- BOOST_TEST(unfused_func_c_ref() == 0);
-
- long lv1 = 2; int lv2 = 3l; char lv3 = '\007';
- long expected;
-
- expected = lv1+sizeof(lv1) + lv2+sizeof(lv2) + lv3+sizeof(lv3);
- BOOST_TEST(unfused_func(lv1,lv2,lv3) == 100 + expected);
- BOOST_TEST(lv1 == 2+1*sizeof(lv1) && lv2 == 3+1*sizeof(lv2) && lv3 == 7+1*sizeof(lv3));
-
- expected = lv1+sizeof(lv1) + lv2+sizeof(lv2) + lv3+sizeof(lv3);
- BOOST_TEST(const_(unfused_func)(lv1,lv2,lv3) == 0 + expected);
- BOOST_TEST(lv1 == 2+2*sizeof(lv1) && lv2 == 3+2*sizeof(lv2) && lv3 == 7+2*sizeof(lv3));
-
- expected = lv1+sizeof(lv1) + lv2+sizeof(lv2) + lv3+sizeof(lv3);
- BOOST_TEST(unfused_func_ref(lv1,lv2,lv3) == 100 + expected);
- BOOST_TEST(lv1 == 2+3*sizeof(lv1) && lv2 == 3+3*sizeof(lv2) && lv3 == 7+3*sizeof(lv3));
-
- expected = lv1+sizeof(lv1) + lv2+sizeof(lv2) + lv3+sizeof(lv3);
- BOOST_TEST(unfused_func_c_ref(lv1,lv2,lv3) == 0 + expected);
- BOOST_TEST(lv1 == 2+4*sizeof(lv1) && lv2 == 3+4*sizeof(lv2) && lv3 == 7+4*sizeof(lv3));
-
- return boost::report_errors();
-}
-
Deleted: sandbox/SOC/2009/fusion/libs/fusion/test/functional/make_unfused_rvalue_args.cpp
==============================================================================
--- sandbox/SOC/2009/fusion/libs/fusion/test/functional/make_unfused_rvalue_args.cpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
+++ (empty file)
@@ -1,110 +0,0 @@
-/*=============================================================================
- Copyright (c) 2006-2007 Tobias Schwinger
-
- Use modification and distribution are subject to 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).
-==============================================================================*/
-
-#include <boost/fusion/functional/generation/make_unfused_rvalue_args.hpp>
-#include <boost/detail/lightweight_test.hpp>
-
-#include <boost/noncopyable.hpp>
-#include <boost/blank.hpp>
-
-#include <boost/mpl/if.hpp>
-#include <boost/mpl/and.hpp>
-#include <boost/mpl/bool.hpp>
-#include <boost/mpl/identity.hpp>
-
-#include <boost/fusion/sequence/intrinsic/empty.hpp>
-#include <boost/fusion/algorithm/iteration/fold.hpp>
-
-#include <boost/ref.hpp>
-
-namespace fusion = boost::fusion;
-namespace mpl = boost::mpl;
-
-using boost::noncopyable;
-typedef mpl::true_ no_nullary_call;
-
-using boost::ref;
-using boost::cref;
-
-template <class Base = boost::blank, class RemoveNullary = mpl::false_>
-struct test_func
- : Base
-{
- template <typename Sig>
- struct result;
-
- template <class Self, class Seq>
- struct result< Self(Seq &) >
- : mpl::if_< mpl::and_< fusion::result_of::empty<Seq>, RemoveNullary >,
- boost::blank, mpl::identity<long> >::type
- { };
-
- template <typename Seq>
- long operator()(Seq const & seq) const
- {
- long state = 0;
- return fusion::fold(seq, state, fold_op());
- }
-
- template < typename Seq >
- long operator()(Seq const & seq)
- {
- long state = 100;
- return fusion::fold(seq, state, fold_op());
- }
-
- private:
-
- struct fold_op
- {
- typedef long result_type;
-
- template <typename T>
- long operator()(T const & elem, long value) const
- {
- return value + sizeof(T) * elem;
- }
- };
-};
-
-template <typename T>
-inline T const & const_(T const & t)
-{
- return t;
-}
-
-int main()
-{
- test_func<> f;
- test_func<noncopyable> f_nc;
-
- fusion::result_of::make_unfused_rvalue_args< test_func<> >::type unfused_func =
- fusion::make_unfused_rvalue_args(f);
-
- fusion::result_of::make_unfused_rvalue_args< boost::reference_wrapper<
- test_func<noncopyable> > >::type unfused_func_ref =
- fusion::make_unfused_rvalue_args(ref(f_nc));
-
- fusion::result_of::make_unfused_rvalue_args< boost::reference_wrapper<
- test_func<noncopyable> const> >::type unfused_func_c_ref =
- fusion::make_unfused_rvalue_args(cref(f_nc));
-
- BOOST_TEST(unfused_func() == 100);
- BOOST_TEST(const_(unfused_func)() == 0);
- BOOST_TEST(unfused_func_ref() == 100);
- BOOST_TEST(unfused_func_c_ref() == 0);
-
- static const long expected = 1*sizeof(int) + 2*sizeof(long) + 7*sizeof(char);
- BOOST_TEST(unfused_func(1,2l,'\007') == 100 + expected);
- BOOST_TEST(const_(unfused_func)(1,2l,'\007') == 0 + expected);
- BOOST_TEST(unfused_func_ref(1,2l,'\007') == 100 + expected);
- BOOST_TEST(unfused_func_c_ref(1,2l,'\007') == 0 + expected);
-
- return boost::report_errors();
-}
-
Added: sandbox/SOC/2009/fusion/libs/fusion/test/functional/unfused.cpp
==============================================================================
--- (empty file)
+++ sandbox/SOC/2009/fusion/libs/fusion/test/functional/unfused.cpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -0,0 +1,119 @@
+/*=============================================================================
+ Copyright (c) 2006-2007 Tobias Schwinger
+
+ Use modification and distribution are subject to 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).
+==============================================================================*/
+
+#include <boost/fusion/functional/adapter/unfused.hpp>
+#include <boost/detail/lightweight_test.hpp>
+
+#include <boost/noncopyable.hpp>
+#include <boost/blank.hpp>
+
+#include <boost/mpl/identity.hpp>
+
+#include <boost/utility/result_of.hpp>
+
+#include <boost/fusion/sequence/intrinsic/empty.hpp>
+#include <boost/fusion/algorithm/iteration/fold.hpp>
+
+namespace fusion = boost::fusion;
+namespace mpl = boost::mpl;
+
+using boost::noncopyable;
+
+template <class Base = boost::blank>
+struct test_func
+ : Base
+{
+ template <typename Sig>
+ struct result;
+
+ template <class Self, class Seq>
+ struct result< Self(Seq) >
+ : mpl::identity<long>
+ { };
+
+ template <typename Seq>
+ long operator()(Seq const & seq) const
+ {
+ long state = 0;
+ return fusion::fold(seq, state, fold_op());
+ }
+
+ template <typename Seq>
+ long operator()(Seq const & seq)
+ {
+ long state = 100;
+ return fusion::fold(seq, state, fold_op());
+ }
+
+ private:
+
+ struct fold_op
+ {
+ typedef long result_type;
+
+ template <typename T>
+ long operator()(T & elem, long value) const
+ {
+ elem += sizeof(T);
+ return value + elem;
+ }
+ };
+};
+
+void result_type_tests()
+{
+ using boost::is_same;
+
+ typedef fusion::unfused< test_func<> > t;
+ BOOST_TEST(( is_same< boost::result_of< t () >::type, long >::value ));
+ BOOST_TEST(( is_same< boost::result_of< t (int) >::type, long >::value ));
+}
+
+int main()
+{
+ result_type_tests();
+
+ test_func<noncopyable> f;
+ fusion::unfused< test_func<> > unfused_func;
+ fusion::unfused< test_func<noncopyable> & > unfused_func_ref(f);
+ fusion::unfused< test_func<> const > unfused_func_c;
+ fusion::unfused< test_func<> > const unfused_func_c2;
+ fusion::unfused< test_func<noncopyable> const & > unfused_func_c_ref(f);
+
+ BOOST_TEST(unfused_func() == 100);
+ BOOST_TEST(unfused_func_ref() == 100);
+ BOOST_TEST(unfused_func_c() == 0);
+ BOOST_TEST(unfused_func_c2() == 0);
+ BOOST_TEST(unfused_func_c_ref() == 0);
+
+ long lv1 = 2; int lv2 = 3l; char lv3 = '\007';
+ long expected;
+
+ expected = lv1+sizeof(lv1) + lv2+sizeof(lv2) + lv3+sizeof(lv3);
+ BOOST_TEST(unfused_func(lv1,lv2,lv3) == 100 + expected);
+ BOOST_TEST(lv1 == 2+1*sizeof(lv1) && lv2 == 3+1*sizeof(lv2) && lv3 == 7+1*sizeof(lv3));
+
+ expected = lv1+sizeof(lv1) + lv2+sizeof(lv2) + lv3+sizeof(lv3);
+ BOOST_TEST(unfused_func_ref(lv1,lv2,lv3) == 100 + expected);
+ BOOST_TEST(lv1 == 2+2*sizeof(lv1) && lv2 == 3+2*sizeof(lv2) && lv3 == 7+2*sizeof(lv3));
+
+ expected = lv1+sizeof(lv1) + lv2+sizeof(lv2) + lv3+sizeof(lv3);
+ BOOST_TEST(unfused_func_c(lv1,lv2,lv3) == 0 + expected);
+ BOOST_TEST(lv1 == 2+3*sizeof(lv1) && lv2 == 3+3*sizeof(lv2) && lv3 == 7+3*sizeof(lv3));
+
+ expected = lv1+sizeof(lv1) + lv2+sizeof(lv2) + lv3+sizeof(lv3);
+ BOOST_TEST(unfused_func_c2(lv1,lv2,lv3) == 0 + expected);
+ BOOST_TEST(lv1 == 2+4*sizeof(lv1) && lv2 == 3+4*sizeof(lv2) && lv3 == 7+4*sizeof(lv3));
+
+ expected = lv1+sizeof(lv1) + lv2+sizeof(lv2) + lv3+sizeof(lv3);
+ BOOST_TEST(unfused_func_c_ref(lv1,lv2,lv3) == 0 + expected);
+ BOOST_TEST(lv1 == 2+5*sizeof(lv1) && lv2 == 3+5*sizeof(lv2) && lv3 == 7+5*sizeof(lv3));
+
+ return boost::report_errors();
+}
+
Deleted: sandbox/SOC/2009/fusion/libs/fusion/test/functional/unfused_generic.cpp
==============================================================================
--- sandbox/SOC/2009/fusion/libs/fusion/test/functional/unfused_generic.cpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
+++ (empty file)
@@ -1,126 +0,0 @@
-/*=============================================================================
- Copyright (c) 2006-2007 Tobias Schwinger
-
- Use modification and distribution are subject to 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).
-==============================================================================*/
-
-#include <boost/fusion/functional/adapter/unfused_generic.hpp>
-#include <boost/detail/lightweight_test.hpp>
-
-#include <boost/type_traits/is_same.hpp>
-
-#include <boost/noncopyable.hpp>
-#include <boost/blank.hpp>
-
-#include <boost/mpl/identity.hpp>
-
-#include <boost/utility/result_of.hpp>
-
-#include <boost/fusion/algorithm/iteration/fold.hpp>
-
-namespace fusion = boost::fusion;
-namespace mpl = boost::mpl;
-
-using boost::noncopyable;
-typedef mpl::true_ no_nullary_call;
-
-template <class Base = boost::blank>
-struct test_func
- : Base
-{
- template <typename Sig>
- struct result;
-
- template <class Self, class Seq>
- struct result< Self (Seq) >
- : mpl::identity<long>
- { };
-
- template <typename Seq>
- long operator()(Seq const & seq) const
- {
- long state = 0;
- return fusion::fold(seq, state, fold_op());
- }
-
- template <typename Seq>
- long operator()(Seq const & seq)
- {
- long state = 100;
- return fusion::fold(seq, state, fold_op());
- }
-
- private:
-
- struct fold_op
- {
- template <typename T>
- long operator()(T const & elem, long value) const
- {
- return value + sizeof(T) * elem;
- }
-
- template <typename T>
- long operator()(T & elem, long value) const
- {
- elem += sizeof(T);
- return value;
- }
-
- template <typename Sig>
- struct result;
-
- template <class Self, typename T0, typename T1> struct result< Self(T0,T1) >
- : mpl::identity<long>
- { };
- };
-};
-
-void result_type_tests()
-{
- using boost::is_same;
-
- typedef fusion::unfused_generic< test_func<> > t;
- BOOST_TEST(( is_same< boost::result_of< t () >::type, long >::value ));
- BOOST_TEST(( is_same< boost::result_of< t (int) >::type, long >::value ));
-}
-
-int main()
-{
- result_type_tests();
-
- test_func<noncopyable> f;
- fusion::unfused_generic< test_func<> > unfused_func;
- fusion::unfused_generic< test_func<noncopyable> & > unfused_func_ref(f);
- fusion::unfused_generic< test_func<> const > unfused_func_c;
- fusion::unfused_generic< test_func<> > const unfused_func_c2;
- fusion::unfused_generic< test_func<noncopyable> const & > unfused_func_c_ref(f);
-
- BOOST_TEST(unfused_func() == 100);
- BOOST_TEST(unfused_func_ref() == 100);
- BOOST_TEST(unfused_func_c() == 0);
- BOOST_TEST(unfused_func_c2() == 0);
- BOOST_TEST(unfused_func_c_ref() == 0);
-
- long lvalue = 12;
- // also test const lvalues to pick up compiler deficiencies in that area
- int const clvalue_1 = 1;
- long const clvalue_2 = 2;
-
- static const long expected = 1*sizeof(int) + 2*sizeof(long) + 7*sizeof(char);
- BOOST_TEST(unfused_func(lvalue,lvalue,clvalue_1,clvalue_2,'\007') == 100 + expected);
- BOOST_TEST(lvalue == 12 + 2*sizeof(long));
- BOOST_TEST(unfused_func_ref(lvalue,lvalue,1,2l,'\007') == 100 + expected);
- BOOST_TEST(lvalue == 12 + 4*sizeof(long));
- BOOST_TEST(unfused_func_c(lvalue,lvalue,1,2l,'\007') == 0 + expected);
- BOOST_TEST(lvalue == 12 + 6*sizeof(long));
- BOOST_TEST(unfused_func_c2(lvalue,lvalue,1,2l,'\007') == 0 + expected);
- BOOST_TEST(lvalue == 12 + 8*sizeof(long));
- BOOST_TEST(unfused_func_c_ref(lvalue,lvalue,1,2l,'\007') == 0 + expected);
- BOOST_TEST(lvalue == 12 + 10*sizeof(long));
-
- return boost::report_errors();
-}
-
Deleted: sandbox/SOC/2009/fusion/libs/fusion/test/functional/unfused_lvalue_args.cpp
==============================================================================
--- sandbox/SOC/2009/fusion/libs/fusion/test/functional/unfused_lvalue_args.cpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
+++ (empty file)
@@ -1,119 +0,0 @@
-/*=============================================================================
- Copyright (c) 2006-2007 Tobias Schwinger
-
- Use modification and distribution are subject to 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).
-==============================================================================*/
-
-#include <boost/fusion/functional/adapter/unfused_lvalue_args.hpp>
-#include <boost/detail/lightweight_test.hpp>
-
-#include <boost/noncopyable.hpp>
-#include <boost/blank.hpp>
-
-#include <boost/mpl/identity.hpp>
-
-#include <boost/utility/result_of.hpp>
-
-#include <boost/fusion/sequence/intrinsic/empty.hpp>
-#include <boost/fusion/algorithm/iteration/fold.hpp>
-
-namespace fusion = boost::fusion;
-namespace mpl = boost::mpl;
-
-using boost::noncopyable;
-
-template <class Base = boost::blank>
-struct test_func
- : Base
-{
- template <typename Sig>
- struct result;
-
- template <class Self, class Seq>
- struct result< Self(Seq) >
- : mpl::identity<long>
- { };
-
- template <typename Seq>
- long operator()(Seq const & seq) const
- {
- long state = 0;
- return fusion::fold(seq, state, fold_op());
- }
-
- template <typename Seq>
- long operator()(Seq const & seq)
- {
- long state = 100;
- return fusion::fold(seq, state, fold_op());
- }
-
- private:
-
- struct fold_op
- {
- typedef long result_type;
-
- template <typename T>
- long operator()(T & elem, long value) const
- {
- elem += sizeof(T);
- return value + elem;
- }
- };
-};
-
-void result_type_tests()
-{
- using boost::is_same;
-
- typedef fusion::unfused_lvalue_args< test_func<> > t;
- BOOST_TEST(( is_same< boost::result_of< t () >::type, long >::value ));
- BOOST_TEST(( is_same< boost::result_of< t (int) >::type, long >::value ));
-}
-
-int main()
-{
- result_type_tests();
-
- test_func<noncopyable> f;
- fusion::unfused_lvalue_args< test_func<> > unfused_func;
- fusion::unfused_lvalue_args< test_func<noncopyable> & > unfused_func_ref(f);
- fusion::unfused_lvalue_args< test_func<> const > unfused_func_c;
- fusion::unfused_lvalue_args< test_func<> > const unfused_func_c2;
- fusion::unfused_lvalue_args< test_func<noncopyable> const & > unfused_func_c_ref(f);
-
- BOOST_TEST(unfused_func() == 100);
- BOOST_TEST(unfused_func_ref() == 100);
- BOOST_TEST(unfused_func_c() == 0);
- BOOST_TEST(unfused_func_c2() == 0);
- BOOST_TEST(unfused_func_c_ref() == 0);
-
- long lv1 = 2; int lv2 = 3l; char lv3 = '\007';
- long expected;
-
- expected = lv1+sizeof(lv1) + lv2+sizeof(lv2) + lv3+sizeof(lv3);
- BOOST_TEST(unfused_func(lv1,lv2,lv3) == 100 + expected);
- BOOST_TEST(lv1 == 2+1*sizeof(lv1) && lv2 == 3+1*sizeof(lv2) && lv3 == 7+1*sizeof(lv3));
-
- expected = lv1+sizeof(lv1) + lv2+sizeof(lv2) + lv3+sizeof(lv3);
- BOOST_TEST(unfused_func_ref(lv1,lv2,lv3) == 100 + expected);
- BOOST_TEST(lv1 == 2+2*sizeof(lv1) && lv2 == 3+2*sizeof(lv2) && lv3 == 7+2*sizeof(lv3));
-
- expected = lv1+sizeof(lv1) + lv2+sizeof(lv2) + lv3+sizeof(lv3);
- BOOST_TEST(unfused_func_c(lv1,lv2,lv3) == 0 + expected);
- BOOST_TEST(lv1 == 2+3*sizeof(lv1) && lv2 == 3+3*sizeof(lv2) && lv3 == 7+3*sizeof(lv3));
-
- expected = lv1+sizeof(lv1) + lv2+sizeof(lv2) + lv3+sizeof(lv3);
- BOOST_TEST(unfused_func_c2(lv1,lv2,lv3) == 0 + expected);
- BOOST_TEST(lv1 == 2+4*sizeof(lv1) && lv2 == 3+4*sizeof(lv2) && lv3 == 7+4*sizeof(lv3));
-
- expected = lv1+sizeof(lv1) + lv2+sizeof(lv2) + lv3+sizeof(lv3);
- BOOST_TEST(unfused_func_c_ref(lv1,lv2,lv3) == 0 + expected);
- BOOST_TEST(lv1 == 2+5*sizeof(lv1) && lv2 == 3+5*sizeof(lv2) && lv3 == 7+5*sizeof(lv3));
-
- return boost::report_errors();
-}
-
Deleted: sandbox/SOC/2009/fusion/libs/fusion/test/functional/unfused_rvalue_args.cpp
==============================================================================
--- sandbox/SOC/2009/fusion/libs/fusion/test/functional/unfused_rvalue_args.cpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
+++ (empty file)
@@ -1,102 +0,0 @@
-/*=============================================================================
- Copyright (c) 2006-2007 Tobias Schwinger
-
- Use modification and distribution are subject to 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).
-==============================================================================*/
-
-#include <boost/fusion/functional/adapter/unfused_rvalue_args.hpp>
-#include <boost/detail/lightweight_test.hpp>
-
-#include <boost/noncopyable.hpp>
-#include <boost/blank.hpp>
-
-#include <boost/mpl/identity.hpp>
-
-#include <boost/utility/result_of.hpp>
-
-#include <boost/fusion/algorithm/iteration/fold.hpp>
-
-namespace fusion = boost::fusion;
-namespace mpl = boost::mpl;
-
-using boost::noncopyable;
-typedef mpl::true_ no_nullary_call;
-
-template <class Base = boost::blank>
-struct test_func
- : Base
-{
- template <typename Sig>
- struct result;
-
- template <class Self, class Seq>
- struct result< Self(Seq) >
- : mpl::identity<long>
- { };
-
- template <typename Seq>
- long operator()(Seq const & seq) const
- {
- long state = 0;
- return fusion::fold(seq, state, fold_op());
- }
-
- template < typename Seq >
- long operator()(Seq const & seq)
- {
- long state = 100;
- return fusion::fold(seq, state, fold_op());
- }
-
- private:
-
- struct fold_op
- {
- typedef long result_type;
-
- template <typename T>
- long operator()(T const & elem, long value) const
- {
- return value + sizeof(T) * elem;
- }
- };
-};
-
-void result_type_tests()
-{
- using boost::is_same;
-
- typedef fusion::unfused_rvalue_args< test_func<> > t;
- BOOST_TEST(( is_same< boost::result_of< t () >::type, long >::value ));
- BOOST_TEST(( is_same< boost::result_of< t (int) >::type, long >::value ));
-}
-
-int main()
-{
- result_type_tests();
-
- test_func<noncopyable> f;
- fusion::unfused_rvalue_args< test_func<> > unfused_func;
- fusion::unfused_rvalue_args< test_func<noncopyable> & > unfused_func_ref(f);
- fusion::unfused_rvalue_args< test_func<> const > unfused_func_c;
- fusion::unfused_rvalue_args< test_func<> > const unfused_func_c2;
- fusion::unfused_rvalue_args< test_func<noncopyable> const & > unfused_func_c_ref(f);
-
- BOOST_TEST(unfused_func() == 100);
- BOOST_TEST(unfused_func_ref() == 100);
- BOOST_TEST(unfused_func_c() == 0);
- BOOST_TEST(unfused_func_c2() == 0);
- BOOST_TEST(unfused_func_c_ref() == 0);
-
- static const long expected = 1*sizeof(int) + 2*sizeof(long) + 7*sizeof(char);
- BOOST_TEST(unfused_func(1,2l,'\007') == 100 + expected);
- BOOST_TEST(unfused_func_ref(1,2l,'\007') == 100 + expected);
- BOOST_TEST(unfused_func_c(1,2l,'\007') == 0 + expected);
- BOOST_TEST(unfused_func_c2(1,2l,'\007') == 0 + expected);
- BOOST_TEST(unfused_func_c_ref(1,2l,'\007') == 0 + expected);
-
- return boost::report_errors();
-}
-
Modified: sandbox/SOC/2009/fusion/project-root.jam
==============================================================================
--- sandbox/SOC/2009/fusion/project-root.jam (original)
+++ sandbox/SOC/2009/fusion/project-root.jam 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -23,7 +23,7 @@
#build-project workaround/conceptgcc/test/mini-fusion ;
build-project libs/fusion/example/test ;
-#build-project libs/fusion/doc ;
+build-project libs/fusion/doc ;
#build-project libs/fusion/example/extension ;
#build-project libs/fusion/example/performance ;
build-project libs/fusion/test ;
\ No newline at end of file
Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk