|
Boost-Commit : |
Subject: [Boost-commit] svn:boost r54847 - in sandbox/SOC/2009/fusion: boost/fusion boost/fusion/adapted boost/fusion/adapted/detail/array boost/fusion/adapted/detail/boost_tuple boost/fusion/adapted/detail/mpl boost/fusion/adapted/detail/std_pair boost/fusion/adapted/detail/struct boost/fusion/adapted/struct boost/fusion/container/generation boost/fusion/container/generation/detail/variadic_templates boost/fusion/container/list boost/fusion/container/list/detail/list boost/fusion/container/list/detail/list/variadic_templates boost/fusion/container/map boost/fusion/container/map/detail boost/fusion/container/map/detail/variadic_templates boost/fusion/container/set boost/fusion/container/set/detail 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/functional/adapter boost/fusion/functional/adapter/detail boost/fusion/functional/generation boost/fusion/functional/invocation boost/fusion/functional/invocation/detail boost/fusion/iterator boost/fusion/mpl/detail boost/fusion/sequence/comparison boost/fusion/sequence/comparison/detail boost/fusion/sequence/intrinsic boost/fusion/sequence/io/detail boost/fusion/support boost/fusion/support/detail boost/fusion/support/detail/iterator_adapter boost/fusion/support/detail/pp boost/fusion/support/variadic_templates boost/fusion/tuple boost/fusion/tuple/detail boost/fusion/tuple/detail/pp boost/fusion/tuple/detail/variadic_templates boost/fusion/view/detail boost/fusion/view/filter_view boost/fusion/view/iterator_range/detail boost/fusion/view/joint_view boost/fusion/view/joint_view/detail boost/fusion/view/reverse_view boost/fusion/view/reverse_view/detail boost/fusion/view/single_view boost/fusion/view/single_view/detail boost/fusion/view/transform_view boost/fusion/view/zip_view libs/fusion/doc libs/fusion/example/test libs/fusion/test libs/fusion/test/sequence
From: mr.chr.schmidt_at_[hidden]
Date: 2009-07-09 19:59:14
Author: cschmidt
Date: 2009-07-09 19:58:53 EDT (Thu, 09 Jul 2009)
New Revision: 54847
URL: http://svn.boost.org/trac/boost/changeset/54847
Log:
tuples fixed + adapted pair/structure
Added:
sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/struct/adapt_base.hpp (contents, props changed)
sandbox/SOC/2009/fusion/boost/fusion/adapted/struct/
sandbox/SOC/2009/fusion/boost/fusion/adapted/struct/adapt_assoc_struct.hpp (contents, props changed)
sandbox/SOC/2009/fusion/boost/fusion/adapted/struct/adapt_struct.hpp (contents, props changed)
sandbox/SOC/2009/fusion/boost/fusion/tuple/detail/
sandbox/SOC/2009/fusion/boost/fusion/tuple/detail/pp/
sandbox/SOC/2009/fusion/boost/fusion/tuple/detail/pp/make_tuple.hpp (contents, props changed)
sandbox/SOC/2009/fusion/boost/fusion/tuple/detail/pp/tuple_expand.hpp (contents, props changed)
sandbox/SOC/2009/fusion/boost/fusion/tuple/detail/pp/tuple_tie.hpp (contents, props changed)
sandbox/SOC/2009/fusion/boost/fusion/tuple/detail/variadic_templates/
sandbox/SOC/2009/fusion/boost/fusion/tuple/detail/variadic_templates/make_tuple.hpp (contents, props changed)
sandbox/SOC/2009/fusion/boost/fusion/tuple/detail/variadic_templates/tuple_tie.hpp (contents, props changed)
sandbox/SOC/2009/fusion/boost/fusion/tuple/make_tuple.hpp (contents, props changed)
sandbox/SOC/2009/fusion/boost/fusion/tuple/tuple_fwd.hpp (contents, props changed)
sandbox/SOC/2009/fusion/boost/fusion/tuple/tuple_tie.hpp (contents, props changed)
sandbox/SOC/2009/fusion/boost/fusion/view/joint_view/detail/equal_to_impl.hpp (contents, props changed)
sandbox/SOC/2009/fusion/boost/fusion/view/reverse_view/detail/equal_to_impl.hpp (contents, props changed)
sandbox/SOC/2009/fusion/boost/fusion/view/single_view/detail/equal_to_impl.hpp (contents, props changed)
Removed:
sandbox/SOC/2009/fusion/boost/fusion/tuple/tuple.hpp
Text files modified:
sandbox/SOC/2009/fusion/boost/fusion/adapted.hpp | 5
sandbox/SOC/2009/fusion/boost/fusion/adapted/boost_tuple.hpp | 23 +++--
sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/array/array_iterator.hpp | 12 +-
sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/array/at_impl.hpp | 2
sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/array/begin_impl.hpp | 2
sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/array/category_of_impl.hpp | 2
sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/array/size_impl.hpp | 2
sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/array/tag_of.hpp | 9 +
sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/array/value_at_impl.hpp | 2
sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/boost_tuple/at_impl.hpp | 28 ++---
sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/boost_tuple/begin_impl.hpp | 12 +-
sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/boost_tuple/boost_tuple_iterator.hpp | 162 ++++++++++++++++-----------------------
sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/boost_tuple/category_of_impl.hpp | 4
sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/boost_tuple/end_impl.hpp | 46 ++++++----
sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/boost_tuple/is_sequence_impl.hpp | 2
sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/boost_tuple/is_view_impl.hpp | 4
sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/boost_tuple/size_impl.hpp | 11 +
sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/boost_tuple/tag_of.hpp | 59 +++++++-------
sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/boost_tuple/value_at_impl.hpp | 11 +-
sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/mpl/category_of_impl.hpp | 1
sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/mpl/distance_impl.hpp | 6
sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/mpl/equal_to_impl.hpp | 6
sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/mpl/get_mpl_it.hpp | 4
sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/mpl/is_sequence_impl.hpp | 2
sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/mpl/is_view_impl.hpp | 2
sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/std_pair/at_impl.hpp | 2
sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/std_pair/begin_impl.hpp | 2
sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/std_pair/category_of_impl.hpp | 4
sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/std_pair/is_view_impl.hpp | 2
sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/std_pair/size_impl.hpp | 2
sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/std_pair/value_at_impl.hpp | 2
sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/struct/adapt_assoc_struct.hpp | 84 ++++++--------------
sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/struct/adapt_struct.hpp | 52 ++---------
sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/struct/at_impl.hpp | 39 +++-----
sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/struct/at_key_impl.hpp | 25 +----
sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/struct/begin_impl.hpp | 12 +-
sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/struct/category_of_impl.hpp | 4
sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/struct/end_impl.hpp | 17 +--
sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/struct/extension.hpp | 46 +----------
sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/struct/has_key_impl.hpp | 20 ++-
sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/struct/is_sequence_impl.hpp | 2
sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/struct/is_view_impl.hpp | 2
sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/struct/size_impl.hpp | 6
sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/struct/struct_iterator.hpp | 106 +++++++++++++++----------
sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/struct/value_at_impl.hpp | 15 --
sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/struct/value_at_key_impl.hpp | 17 +--
sandbox/SOC/2009/fusion/boost/fusion/adapted/std_pair.hpp | 3
sandbox/SOC/2009/fusion/boost/fusion/adapted/struct.hpp | 33 ++++---
sandbox/SOC/2009/fusion/boost/fusion/container/generation/detail/variadic_templates/list_tie.hpp | 6
sandbox/SOC/2009/fusion/boost/fusion/container/generation/detail/variadic_templates/make_list.hpp | 5
sandbox/SOC/2009/fusion/boost/fusion/container/generation/detail/variadic_templates/make_map.hpp | 5
sandbox/SOC/2009/fusion/boost/fusion/container/generation/detail/variadic_templates/make_set.hpp | 5
sandbox/SOC/2009/fusion/boost/fusion/container/generation/detail/variadic_templates/make_vector.hpp | 5
sandbox/SOC/2009/fusion/boost/fusion/container/generation/detail/variadic_templates/map_tie.hpp | 5
sandbox/SOC/2009/fusion/boost/fusion/container/generation/detail/variadic_templates/vector_tie.hpp | 6
sandbox/SOC/2009/fusion/boost/fusion/container/generation/list_tie.hpp | 4
sandbox/SOC/2009/fusion/boost/fusion/container/generation/make_list.hpp | 4
sandbox/SOC/2009/fusion/boost/fusion/container/generation/make_map.hpp | 4
sandbox/SOC/2009/fusion/boost/fusion/container/generation/make_set.hpp | 4
sandbox/SOC/2009/fusion/boost/fusion/container/generation/make_vector.hpp | 4
sandbox/SOC/2009/fusion/boost/fusion/container/generation/map_tie.hpp | 4
sandbox/SOC/2009/fusion/boost/fusion/container/generation/vector_tie.hpp | 4
sandbox/SOC/2009/fusion/boost/fusion/container/list/cons.hpp | 7
sandbox/SOC/2009/fusion/boost/fusion/container/list/cons_iterator.hpp | 8
sandbox/SOC/2009/fusion/boost/fusion/container/list/detail/list/at_impl.hpp | 4
sandbox/SOC/2009/fusion/boost/fusion/container/list/detail/list/convert_impl.hpp | 4
sandbox/SOC/2009/fusion/boost/fusion/container/list/detail/list/value_at_impl.hpp | 4
sandbox/SOC/2009/fusion/boost/fusion/container/list/detail/list/variadic_templates/as_list_impl.hpp | 4
sandbox/SOC/2009/fusion/boost/fusion/container/list/list.hpp | 14 +-
sandbox/SOC/2009/fusion/boost/fusion/container/map/detail/begin_impl.hpp | 4
sandbox/SOC/2009/fusion/boost/fusion/container/map/detail/convert_impl.hpp | 4
sandbox/SOC/2009/fusion/boost/fusion/container/map/detail/end_impl.hpp | 4
sandbox/SOC/2009/fusion/boost/fusion/container/map/detail/variadic_templates/as_map_impl.hpp | 4
sandbox/SOC/2009/fusion/boost/fusion/container/map/map.hpp | 10 +-
sandbox/SOC/2009/fusion/boost/fusion/container/set/detail/begin_impl.hpp | 4
sandbox/SOC/2009/fusion/boost/fusion/container/set/detail/convert_impl.hpp | 4
sandbox/SOC/2009/fusion/boost/fusion/container/set/detail/end_impl.hpp | 4
sandbox/SOC/2009/fusion/boost/fusion/container/set/detail/variadic_templates/as_set_impl.hpp | 4
sandbox/SOC/2009/fusion/boost/fusion/container/set/set.hpp | 10 +-
sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/convert_impl.hpp | 4
sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/variadic_templates/as_vector_impl.hpp | 4
sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/variadic_templates/vector_impl.hpp | 8
sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/variadic_templates/vector_n.hpp | 4
sandbox/SOC/2009/fusion/boost/fusion/container/vector/vector.hpp | 2
sandbox/SOC/2009/fusion/boost/fusion/container/vector/vector_iterator.hpp | 5
sandbox/SOC/2009/fusion/boost/fusion/functional/adapter.hpp | 4
sandbox/SOC/2009/fusion/boost/fusion/functional/adapter/detail/access.hpp | 5
sandbox/SOC/2009/fusion/boost/fusion/functional/adapter/fused.hpp | 5
sandbox/SOC/2009/fusion/boost/fusion/functional/adapter/fused_function_object.hpp | 5
sandbox/SOC/2009/fusion/boost/fusion/functional/adapter/fused_procedure.hpp | 5
sandbox/SOC/2009/fusion/boost/fusion/functional/adapter/limits.hpp | 5
sandbox/SOC/2009/fusion/boost/fusion/functional/adapter/unfused.hpp | 5
sandbox/SOC/2009/fusion/boost/fusion/functional/adapter/unfused_typed.hpp | 5
sandbox/SOC/2009/fusion/boost/fusion/functional/generation.hpp | 4
sandbox/SOC/2009/fusion/boost/fusion/functional/generation/make_fused.hpp | 5
sandbox/SOC/2009/fusion/boost/fusion/functional/generation/make_fused_function_object.hpp | 5
sandbox/SOC/2009/fusion/boost/fusion/functional/generation/make_fused_procedure.hpp | 5
sandbox/SOC/2009/fusion/boost/fusion/functional/generation/make_unfused.hpp | 5
sandbox/SOC/2009/fusion/boost/fusion/functional/invocation.hpp | 4
sandbox/SOC/2009/fusion/boost/fusion/functional/invocation/detail/that_ptr.hpp | 5
sandbox/SOC/2009/fusion/boost/fusion/functional/invocation/invoke.hpp | 5
sandbox/SOC/2009/fusion/boost/fusion/functional/invocation/invoke_function_object.hpp | 5
sandbox/SOC/2009/fusion/boost/fusion/functional/invocation/invoke_procedure.hpp | 5
sandbox/SOC/2009/fusion/boost/fusion/functional/invocation/limits.hpp | 5
sandbox/SOC/2009/fusion/boost/fusion/iterator/equal_to.hpp | 14 --
sandbox/SOC/2009/fusion/boost/fusion/mpl/detail/at.hpp | 4
sandbox/SOC/2009/fusion/boost/fusion/mpl/detail/fusion_iterator.hpp | 2
sandbox/SOC/2009/fusion/boost/fusion/sequence/comparison/detail/enable_comparison.hpp | 26 +++---
sandbox/SOC/2009/fusion/boost/fusion/sequence/comparison/detail/equal_to.hpp | 25 +++--
sandbox/SOC/2009/fusion/boost/fusion/sequence/comparison/detail/greater.hpp | 16 ++-
sandbox/SOC/2009/fusion/boost/fusion/sequence/comparison/detail/greater_equal.hpp | 21 ++--
sandbox/SOC/2009/fusion/boost/fusion/sequence/comparison/detail/less.hpp | 16 ++-
sandbox/SOC/2009/fusion/boost/fusion/sequence/comparison/detail/less_equal.hpp | 16 ++-
sandbox/SOC/2009/fusion/boost/fusion/sequence/comparison/detail/not_equal_to.hpp | 26 +++--
sandbox/SOC/2009/fusion/boost/fusion/sequence/comparison/equal_to.hpp | 19 ++-
sandbox/SOC/2009/fusion/boost/fusion/sequence/comparison/greater.hpp | 24 +++--
sandbox/SOC/2009/fusion/boost/fusion/sequence/comparison/greater_equal.hpp | 24 +++--
sandbox/SOC/2009/fusion/boost/fusion/sequence/comparison/less.hpp | 17 ++-
sandbox/SOC/2009/fusion/boost/fusion/sequence/comparison/less_equal.hpp | 43 +++++----
sandbox/SOC/2009/fusion/boost/fusion/sequence/comparison/not_equal_to.hpp | 29 +++---
sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/value_at_c.hpp | 5
sandbox/SOC/2009/fusion/boost/fusion/sequence/io/detail/in.hpp | 22 +++-
sandbox/SOC/2009/fusion/boost/fusion/sequence/io/detail/out.hpp | 9 +
sandbox/SOC/2009/fusion/boost/fusion/support/detail/as_fusion_element.hpp | 4
sandbox/SOC/2009/fusion/boost/fusion/support/detail/iterator_adapter/advance_impl.hpp | 4
sandbox/SOC/2009/fusion/boost/fusion/support/detail/iterator_adapter/deref_impl.hpp | 4
sandbox/SOC/2009/fusion/boost/fusion/support/detail/iterator_adapter/distance_impl.hpp | 4
sandbox/SOC/2009/fusion/boost/fusion/support/detail/iterator_adapter/equal_to_impl.hpp | 4
sandbox/SOC/2009/fusion/boost/fusion/support/detail/iterator_adapter/next_impl.hpp | 4
sandbox/SOC/2009/fusion/boost/fusion/support/detail/iterator_adapter/prior_impl.hpp | 4
sandbox/SOC/2009/fusion/boost/fusion/support/detail/iterator_adapter/value_of_impl.hpp | 4
sandbox/SOC/2009/fusion/boost/fusion/support/detail/pp/void.hpp | 4
sandbox/SOC/2009/fusion/boost/fusion/support/iterator_adapter.hpp | 8
sandbox/SOC/2009/fusion/boost/fusion/support/ref.hpp | 30 +++---
sandbox/SOC/2009/fusion/boost/fusion/support/sequence_assign.hpp | 4
sandbox/SOC/2009/fusion/boost/fusion/support/template.hpp | 1
sandbox/SOC/2009/fusion/boost/fusion/support/to_random_access_mpl_seq.hpp | 4
sandbox/SOC/2009/fusion/boost/fusion/support/variadic_templates/variadic_arguments_to_vector.hpp | 4
sandbox/SOC/2009/fusion/boost/fusion/support/variadic_templates/variadic_quote.hpp | 4
sandbox/SOC/2009/fusion/boost/fusion/tuple.hpp | 5 -
sandbox/SOC/2009/fusion/boost/fusion/view/detail/view_storage.hpp | 4
sandbox/SOC/2009/fusion/boost/fusion/view/filter_view/filter_view.hpp | 4
sandbox/SOC/2009/fusion/boost/fusion/view/filter_view/filter_view_iterator.hpp | 12 +-
sandbox/SOC/2009/fusion/boost/fusion/view/iterator_range/detail/at_impl.hpp | 2
sandbox/SOC/2009/fusion/boost/fusion/view/joint_view/detail/begin_impl.hpp | 8 +
sandbox/SOC/2009/fusion/boost/fusion/view/joint_view/detail/deref_impl.hpp | 5 +
sandbox/SOC/2009/fusion/boost/fusion/view/joint_view/detail/end_impl.hpp | 16 ++-
sandbox/SOC/2009/fusion/boost/fusion/view/joint_view/detail/next_impl.hpp | 33 +++++++
sandbox/SOC/2009/fusion/boost/fusion/view/joint_view/detail/value_of_impl.hpp | 5 +
sandbox/SOC/2009/fusion/boost/fusion/view/joint_view/joint_view.hpp | 7
sandbox/SOC/2009/fusion/boost/fusion/view/joint_view/joint_view_iterator.hpp | 20 ++++
sandbox/SOC/2009/fusion/boost/fusion/view/reverse_view/detail/end_impl.hpp | 3
sandbox/SOC/2009/fusion/boost/fusion/view/reverse_view/reverse_view.hpp | 4
sandbox/SOC/2009/fusion/boost/fusion/view/reverse_view/reverse_view_iterator.hpp | 8 +
sandbox/SOC/2009/fusion/boost/fusion/view/single_view/single_view.hpp | 4
sandbox/SOC/2009/fusion/boost/fusion/view/single_view/single_view_iterator.hpp | 6 +
sandbox/SOC/2009/fusion/boost/fusion/view/transform_view/transform_view_iterator.hpp | 37 ++++----
sandbox/SOC/2009/fusion/boost/fusion/view/zip_view/zip_view.hpp | 4
sandbox/SOC/2009/fusion/boost/fusion/view/zip_view/zip_view_iterator.hpp | 19 ++--
sandbox/SOC/2009/fusion/libs/fusion/doc/extension.qbk | 2
sandbox/SOC/2009/fusion/libs/fusion/example/test/main.cpp | 1
sandbox/SOC/2009/fusion/libs/fusion/test/Jamfile | 24 ++--
sandbox/SOC/2009/fusion/libs/fusion/test/sequence/adapt_assoc_struct.cpp | 12 +
sandbox/SOC/2009/fusion/libs/fusion/test/sequence/adapt_struct.cpp | 7 +
sandbox/SOC/2009/fusion/libs/fusion/test/sequence/boost_tuple.cpp | 4
sandbox/SOC/2009/fusion/libs/fusion/test/sequence/tr1_tuple_auto_conv.cpp | 5
166 files changed, 924 insertions(+), 983 deletions(-)
Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted.hpp 2009-07-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -9,10 +9,11 @@
#ifndef BOOST_FUSION_ADAPTED_HPP
#define BOOST_FUSION_ADAPTED_HPP
+//TODO!!!
#include <boost/fusion/adapted/boost_tuple.hpp>
-#include <boost/fusion/adapted/std_pair.hpp>
+//#include <boost/fusion/adapted/std_pair.hpp>
#include <boost/fusion/adapted/array.hpp>
#include <boost/fusion/adapted/mpl.hpp>
-#include <boost/fusion/adapted/struct.hpp>
+//#include <boost/fusion/adapted/struct.hpp>
#endif
Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/boost_tuple.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/boost_tuple.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/boost_tuple.hpp 2009-07-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -8,14 +8,19 @@
#ifndef BOOST_FUSION_ADAPTED_BOOST_TUPLE_HPP
#define BOOST_FUSION_ADAPTED_BOOST_TUPLE_HPP
-#include <boost/fusion/adapted/boost_tuple/tag_of.hpp>
-#include <boost/fusion/adapted/boost_tuple/detail/is_view_impl.hpp>
-#include <boost/fusion/adapted/boost_tuple/detail/is_sequence_impl.hpp>
-#include <boost/fusion/adapted/boost_tuple/detail/category_of_impl.hpp>
-#include <boost/fusion/adapted/boost_tuple/detail/begin_impl.hpp>
-#include <boost/fusion/adapted/boost_tuple/detail/end_impl.hpp>
-#include <boost/fusion/adapted/boost_tuple/detail/size_impl.hpp>
-#include <boost/fusion/adapted/boost_tuple/detail/at_impl.hpp>
-#include <boost/fusion/adapted/boost_tuple/detail/value_at_impl.hpp>
+#include <boost/fusion/support/ref.hpp>
+
+#include <boost/tuple/tuple.hpp>
+
+#include <boost/fusion/adapted/detail/boost_tuple/boost_tuple_iterator.hpp>
+#include <boost/fusion/adapted/detail/boost_tuple/tag_of.hpp>
+#include <boost/fusion/adapted/detail/boost_tuple/is_view_impl.hpp>
+#include <boost/fusion/adapted/detail/boost_tuple/is_sequence_impl.hpp>
+#include <boost/fusion/adapted/detail/boost_tuple/category_of_impl.hpp>
+#include <boost/fusion/adapted/detail/boost_tuple/begin_impl.hpp>
+#include <boost/fusion/adapted/detail/boost_tuple/end_impl.hpp>
+#include <boost/fusion/adapted/detail/boost_tuple/size_impl.hpp>
+#include <boost/fusion/adapted/detail/boost_tuple/at_impl.hpp>
+#include <boost/fusion/adapted/detail/boost_tuple/value_at_impl.hpp>
#endif
Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/array/array_iterator.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/array/array_iterator.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/array/array_iterator.hpp 2009-07-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -12,12 +12,12 @@
#include <boost/fusion/support/assert.hpp>
#include <boost/fusion/iterator/iterator_facade.hpp>
-#include <cstddef>
-#include <boost/config.hpp>
#include <boost/mpl/int.hpp>
#include <boost/mpl/if.hpp>
#include <boost/mpl/minus.hpp>
+#include <cstddef>
+
namespace boost { namespace fusion
{
struct random_access_traversal_tag;
@@ -102,8 +102,8 @@
typedef mpl::int_<Pos> index;
typedef ArrayRef array_type;
- template<typename OtherZipViewIt>
- array_iterator(OtherZipViewIt const& it)
+ template<typename OtherIt>
+ array_iterator(OtherIt const& it)
: array(it.array)
{}
@@ -111,9 +111,9 @@
: array(&a)
{}
- template<typename OtherZipViewIt>
+ template<typename OtherIt>
array_iterator&
- operator=(OtherZipViewIt const& it)
+ operator=(OtherIt const& it)
{
array=it.array;
return *this;
Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/array/at_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/array/at_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/array/at_impl.hpp 2009-07-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -15,7 +15,7 @@
namespace extension
{
- template<typename T>
+ template<typename Tag>
struct at_impl;
template<>
Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/array/begin_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/array/begin_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/array/begin_impl.hpp 2009-07-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -15,7 +15,7 @@
namespace extension
{
- template<typename T>
+ template<typename Tag>
struct begin_impl;
template <>
Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/array/category_of_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/array/category_of_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/array/category_of_impl.hpp 2009-07-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -9,8 +9,6 @@
#ifndef BOOST_FUSION_ADAPTED_DETAIL_ARRAY_CATEGORY_OF_IMPL_HPP
#define BOOST_FUSION_ADAPTED_DETAIL_ARRAY_CATEGORY_OF_IMPL_HPP
-#include <boost/config/no_tr1/utility.hpp>
-
namespace boost { namespace fusion {
struct array_tag;
Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/array/size_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/array/size_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/array/size_impl.hpp 2009-07-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -15,7 +15,7 @@
namespace extension
{
- template<typename T>
+ template<typename Tag>
struct size_impl;
template<>
Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/array/tag_of.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/array/tag_of.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/array/tag_of.hpp 2009-07-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -27,15 +27,18 @@
namespace traits
{
-#define TAG_OF_SPECIALIZATION(COMBINATION)\
+#define TAG_OF_SPECIALIZATION(COMBINATION,_)\
template<typename T, std::size_t N>\
struct tag_of<boost::array<T,N> COMBINATION>\
{\
typedef array_tag type;\
};
- TAG_OF_SPECIALIZATION(BOOST_PP_EMPTY());
- BOOST_FUSION_ALL_CV_REF_COMBINATIONS(TAG_OF_SPECIALIZATION)
+ TAG_OF_SPECIALIZATION(BOOST_PP_EMPTY(),_);
+ TAG_OF_SPECIALIZATION(const,_);
+ TAG_OF_SPECIALIZATION(const volatile,_);
+ TAG_OF_SPECIALIZATION(volatile,_);
+ BOOST_FUSION_ALL_CV_REF_COMBINATIONS(TAG_OF_SPECIALIZATION,_)
#undef TAG_OF_SPECIALIZATION
}
Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/array/value_at_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/array/value_at_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/array/value_at_impl.hpp 2009-07-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -15,7 +15,7 @@
namespace extension
{
- template<typename T>
+ template<typename Tag>
struct value_at_impl;
template <>
Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/boost_tuple/at_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/boost_tuple/at_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/boost_tuple/at_impl.hpp 2009-07-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -8,40 +8,36 @@
#ifndef BOOST_FUSION_ADAPTED_DETAIL_BOOST_TUPLE_AT_IMPL_HPP
#define BOOST_FUSION_ADAPTED_DETAIL_BOOST_TUPLE_AT_IMPL_HPP
-#include <boost/tuple/tuple.hpp>
-#include <boost/mpl/if.hpp>
-
namespace boost { namespace fusion
{
struct boost_tuple_tag;
namespace extension
{
- template<typename T>
+ template<typename Tag>
struct at_impl;
template <>
struct at_impl<boost_tuple_tag>
{
- template <typename Sequence, typename N>
+ template <typename SeqRef, typename N>
struct apply
{
typedef typename
- tuples::element<N::value, Sequence>::type
- element;
-
- typedef typename
- mpl::if_<
- is_const<Sequence>
- , typename tuples::access_traits<element>::const_type
- , typename tuples::access_traits<element>::non_const_type
- >::type
+ detail::result_of_forward_as<
+ SeqRef
+ , typename tuples::element<
+ N::value
+ , typename detail::identity<SeqRef>::type
+ >::type
+ >::type
type;
static type
- call(Sequence& seq)
+ call(SeqRef seq)
{
- return tuples::get<N::value>(seq);
+ return tuples::get<N::value>(
+ BOOST_FUSION_FORWARD(SeqRef,seq));
}
};
};
Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/boost_tuple/begin_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/boost_tuple/begin_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/boost_tuple/begin_impl.hpp 2009-07-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -8,29 +8,27 @@
#ifndef BOOST_FUSION_ADAPTED_DETAIL_BOOST_TUPLE_BEGIN_IMPL_HPP
#define BOOST_FUSION_ADAPTED_DETAIL_BOOST_TUPLE_BEGIN_IMPL_HPP
-#include <boost/fusion/adapted/boost_tuple/boost_tuple_iterator.hpp>
-
namespace boost { namespace fusion
{
struct boost_tuple_tag;
namespace extension
{
- template<typename T>
+ template<typename Tag>
struct begin_impl;
template <>
struct begin_impl<boost_tuple_tag>
{
- template <typename Sequence>
+ template <typename SeqRef>
struct apply
{
- typedef boost_tuple_iterator<Sequence> type;
+ typedef boost_tuple_iterator<SeqRef> type;
static type
- call(Sequence& v)
+ call(SeqRef seq)
{
- return type(v);
+ return type(seq,0);
}
};
};
Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/boost_tuple/boost_tuple_iterator.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/boost_tuple/boost_tuple_iterator.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/boost_tuple/boost_tuple_iterator.hpp 2009-07-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -9,139 +9,107 @@
#define BOOST_FUSION_ADAPTED_DETAIL_BOOST_TUPLE_BOOST_TUPLE_ITERATOR_HPP
#include <boost/fusion/iterator/iterator_facade.hpp>
-#include <boost/type_traits/is_const.hpp>
-#include <boost/type_traits/add_const.hpp>
-#include <boost/mpl/identity.hpp>
-#include <boost/mpl/if.hpp>
-#include <boost/mpl/eval_if.hpp>
-#include <boost/mpl/or.hpp>
-#include <boost/tuple/tuple.hpp>
+
+#include <boost/type_traits/is_same.hpp>
namespace boost { namespace fusion
{
struct forward_traversal_tag;
- namespace detail
- {
- template <typename T>
- struct boost_tuple_is_empty : mpl::false_ {};
-
- template <>
- struct boost_tuple_is_empty<tuples::null_type> : mpl::true_ {};
-
- template <>
- struct boost_tuple_is_empty<tuples::null_type const> : mpl::true_ {};
-
- template <>
- struct boost_tuple_is_empty<tuples::tuple<> > : mpl::true_ {};
-
- template <>
- struct boost_tuple_is_empty<tuples::tuple<> const> : mpl::true_ {};
- }
-
- template <typename Cons = tuples::null_type>
+ template <typename ConsRef>
struct boost_tuple_iterator
- : iterator_facade<boost_tuple_iterator<Cons>, forward_traversal_tag>
+ : iterator_facade<boost_tuple_iterator<ConsRef>, forward_traversal_tag>
{
- typedef Cons cons_type;
-
- explicit boost_tuple_iterator(Cons& cons)
- : cons(cons) {}
- Cons& cons;
-
- template <typename Iterator>
- struct value_of : mpl::identity<typename Iterator::cons_type::head_type> {};
+ template <typename ItRef>
+ struct value_of
+ {
+ typedef typename
+ detail::remove_reference<
+ typename detail::remove_reference<ItRef>::type
+ >::type::cons_type::head_type
+ type;
+ };
- template <typename Iterator>
+ template <typename ItRef>
struct deref
{
- typedef typename value_of<Iterator>::type element;
+ typedef typename
+ detail::remove_reference<ItRef>::type
+ it;
typedef typename
- mpl::if_<
- is_const<typename Iterator::cons_type>
- , typename tuples::access_traits<element>::const_type
- , typename tuples::access_traits<element>::non_const_type
+ detail::result_of_forward_as<
+ typename it::cons_type
+ , typename detail::remove_reference<
+ typename it::cons_type
+ >::type::head_type
>::type
type;
static type
- call(Iterator const& iter)
+ call(ItRef it)
{
- return iter.cons.get_head();
+ return it.cons->get_head();
}
};
- template <typename Iterator>
+ template <typename ItRef>
struct next
{
- typedef typename Iterator::cons_type cons_type;
- typedef typename cons_type::tail_type tail_type;
+ typedef typename
+ detail::remove_reference<ItRef>::type
+ it;
- typedef boost_tuple_iterator<
- typename mpl::eval_if<
- is_const<cons_type>
- , add_const<tail_type>
- , mpl::identity<tail_type>
- >::type>
+ typedef
+ boost_tuple_iterator<
+ typename detail::result_of_forward_as<
+ typename it::cons_type,
+ typename detail::remove_reference<
+ typename it::cons_type
+ >::type::tail_type
+ >::type
+ >
type;
static type
- call(Iterator const& iter)
+ call(ItRef it)
{
- return type(iter.cons.get_tail());
+ return type(it.cons->get_tail(),0);
}
};
- };
-
- template <typename Null>
- struct boost_tuple_null_iterator
- : iterator_facade<boost_tuple_iterator<Null>, forward_traversal_tag>
- {
- typedef Null cons_type;
- template <typename I1, typename I2>
+ template <typename It1Ref, typename It2Ref>
struct equal_to
- : mpl::or_<
- is_same<I1, I2>
- , mpl::and_<
- detail::boost_tuple_is_empty<typename I1::cons_type>
- , detail::boost_tuple_is_empty<typename I2::cons_type>
- >
+ : is_same<
+ typename detail::identity<
+ typename detail::remove_reference<It1Ref>::type::cons_type
+ >::type
+ , typename detail::identity<
+ typename detail::remove_reference<It2Ref>::type::cons_type
+ >::type
>
{};
- };
-
- template <>
- struct boost_tuple_iterator<tuples::null_type>
- : boost_tuple_null_iterator<tuples::null_type>
- {
- template <typename Cons>
- explicit boost_tuple_iterator(Cons const&) {}
- };
- template <>
- struct boost_tuple_iterator<tuples::null_type const>
- : boost_tuple_null_iterator<tuples::null_type const>
- {
- template <typename Cons>
- explicit boost_tuple_iterator(Cons const&) {}
- };
+ typedef ConsRef cons_type;
- template <>
- struct boost_tuple_iterator<tuples::tuple<> >
- : boost_tuple_null_iterator<tuples::tuple<> >
- {
- template <typename Cons>
- explicit boost_tuple_iterator(Cons const&) {}
- };
+ template<typename OtherIt>
+ boost_tuple_iterator(OtherIt const& it)
+ : cons(it.cons)
+ {}
+
+ boost_tuple_iterator(ConsRef cons, int)
+ : cons(&cons)
+ {}
+
+ template<typename OtherIt>
+ boost_tuple_iterator&
+ operator=(OtherIt const& it)
+ {
+ cons=it.cons;
+ return *this;
+ }
- template <>
- struct boost_tuple_iterator<tuples::tuple<> const>
- : boost_tuple_null_iterator<tuples::tuple<> const>
- {
- template <typename Cons>
- explicit boost_tuple_iterator(Cons const&) {}
+ typename detail::remove_reference<ConsRef>::type* cons;
};
}}
Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/boost_tuple/category_of_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/boost_tuple/category_of_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/boost_tuple/category_of_impl.hpp 2009-07-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -15,13 +15,13 @@
namespace extension
{
- template<typename T>
+ template<typename Tag>
struct category_of_impl;
template<>
struct category_of_impl<boost_tuple_tag>
{
- template<typename T>
+ template<typename SeqRef>
struct apply
{
typedef forward_traversal_tag type;
Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/boost_tuple/end_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/boost_tuple/end_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/boost_tuple/end_impl.hpp 2009-07-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -8,15 +8,9 @@
#ifndef BOOST_FUSION_ADAPTED_DETAIL_BOOST_TUPLE_END_IMPL_HPP
#define BOOST_FUSION_ADAPTED_DETAIL_BOOST_TUPLE_END_IMPL_HPP
-#include <boost/fusion/adapted/boost_tuple/boost_tuple_iterator.hpp>
-#include <boost/mpl/if.hpp>
-#include <boost/type_traits/is_const.hpp>
+#include <boost/mpl/bool.hpp>
+#include <boost/type_traits/is_convertible.hpp>
-namespace boost { namespace tuples
-{
- struct null_type;
-}}
-
namespace boost { namespace fusion
{
struct boost_tuple_tag;
@@ -29,23 +23,37 @@
template <>
struct end_impl<boost_tuple_tag>
{
- template <typename Sequence>
+ template <typename>
struct apply
{
- typedef
- boost_tuple_iterator<
- typename mpl::if_<
- is_const<Sequence>
- , tuples::null_type const
- , tuples::null_type
- >::type
- >
+ typedef
+ boost_tuple_iterator<tuples::null_type const volatile&>
type;
+ //TODO volatile!
+ template<typename Seq>
+ static type
+ call(Seq const& seq, mpl::true_)
+ {
+ return type(seq,0);
+ }
+
+ template<typename Seq>
+ static type
+ call(Seq const& seq, mpl::false_)
+ {
+ return call(seq.get_tail());
+ }
+
+ template<typename Seq>
static type
- call(Sequence& seq)
+ call(Seq const& seq)
{
- return type(seq);
+ return call(seq,
+ typename is_convertible<
+ Seq*
+ , tuples::null_type const volatile*
+ >::type());
}
};
};
Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/boost_tuple/is_sequence_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/boost_tuple/is_sequence_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/boost_tuple/is_sequence_impl.hpp 2009-07-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -22,7 +22,7 @@
template<>
struct is_sequence_impl<boost_tuple_tag>
{
- template<typename Sequence>
+ template<typename SeqRef>
struct apply
: mpl::true_
{};
Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/boost_tuple/is_view_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/boost_tuple/is_view_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/boost_tuple/is_view_impl.hpp 2009-07-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -10,6 +10,8 @@
#include <boost/mpl/bool.hpp>
+//TODO: implement through is_sequence
+
namespace boost { namespace fusion
{
struct boost_tuple_tag;
@@ -22,7 +24,7 @@
template<>
struct is_view_impl<boost_tuple_tag>
{
- template<typename T>
+ template<typename SeqRef>
struct apply
: mpl::false_
{};
Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/boost_tuple/size_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/boost_tuple/size_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/boost_tuple/size_impl.hpp 2009-07-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -8,7 +8,6 @@
#ifndef BOOST_FUSION_ADAPTED_DETAIL_BOOST_TUPLE_SIZE_IMPL_HPP
#define BOOST_FUSION_ADAPTED_DETAIL_BOOST_TUPLE_SIZE_IMPL_HPP
-#include <boost/tuple/tuple.hpp>
#include <boost/mpl/int.hpp>
namespace boost { namespace fusion
@@ -17,15 +16,19 @@
namespace extension
{
- template<typename T>
+ template<typename Tag>
struct size_impl;
template <>
struct size_impl<boost_tuple_tag>
{
- template <typename Sequence>
+ template <typename SeqRef>
struct apply
- : mpl::int_<tuples::length<Sequence>::value>
+ : mpl::int_<
+ tuples::length<
+ typename detail::identity<SeqRef>::type
+ >::value
+ >
{};
};
}
Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/boost_tuple/tag_of.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/boost_tuple/tag_of.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/boost_tuple/tag_of.hpp 2009-07-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -10,46 +10,45 @@
#include <boost/fusion/support/tag_of_fwd.hpp>
-namespace boost { namespace tuples
-{
- struct null_type;
-
- template <
- class T0, class T1, class T2, class T3, class T4,
- class T5, class T6, class T7, class T8, class T9
- >
- class tuple;
+#include <boost/preprocessor/facilities/empty.hpp>
- template <class Head, class Tail>
- struct cons;
-}}
-
namespace boost { namespace fusion
{
struct boost_tuple_tag;
namespace traits
{
- template <
- class T0, class T1, class T2, class T3, class T4,
- class T5, class T6, class T7, class T8, class T9
- >
- struct tag_of<tuples::tuple<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9> >
- {
- typedef boost_tuple_tag type;
+#define TAG_OF_SPECIALIZATION(COMBINATION,_)\
+ template <\
+ class T0, class T1, class T2, class T3, class T4, \
+ class T5, class T6, class T7, class T8, class T9\
+ >\
+ struct tag_of<\
+ tuples::tuple<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9> COMBINATION\
+ >\
+ {\
+ typedef boost_tuple_tag type;\
+ };\
+ \
+ template <class Head, class Tail>\
+ struct tag_of<tuples::cons<Head, Tail> COMBINATION>\
+ {\
+ typedef boost_tuple_tag type;\
+ };\
+ \
+ template <>\
+ struct tag_of<tuples::null_type COMBINATION>\
+ {\
+ typedef boost_tuple_tag type;\
};
- template <class Head, class Tail>
- struct tag_of<tuples::cons<Head, Tail> >
- {
- typedef boost_tuple_tag type;
- };
+ TAG_OF_SPECIALIZATION(BOOST_PP_EMPTY(),_);
+ TAG_OF_SPECIALIZATION(const,_);
+ TAG_OF_SPECIALIZATION(const volatile,_);
+ TAG_OF_SPECIALIZATION(volatile,_);
+ BOOST_FUSION_ALL_CV_REF_COMBINATIONS(TAG_OF_SPECIALIZATION,_)
- template <>
- struct tag_of<tuples::null_type>
- {
- typedef boost_tuple_tag type;
- };
+#undef TAG_OF_SPECIALIZATION
}
}}
Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/boost_tuple/value_at_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/boost_tuple/value_at_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/boost_tuple/value_at_impl.hpp 2009-07-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -8,23 +8,24 @@
#ifndef BOOST_FUSION_ADAPTED_DETAIL_BOOST_TUPLE_VALUE_AT_IMPL_HPP
#define BOOST_FUSION_ADAPTED_DETAIL_BOOST_TUPLE_VALUE_AT_IMPL_HPP
-#include <boost/tuple/tuple.hpp>
-
namespace boost { namespace fusion
{
struct boost_tuple_tag;
namespace extension
{
- template<typename T>
+ template<typename Tag>
struct value_at_impl;
template <>
struct value_at_impl<boost_tuple_tag>
{
- template <typename Sequence, typename N>
+ template <typename SeqRef, typename N>
struct apply
- : tuples::element<N::value, Sequence>
+ : tuples::element<
+ N::value
+ , typename detail::identity<SeqRef>::type
+ >
{};
};
}
Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/mpl/category_of_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/mpl/category_of_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/mpl/category_of_impl.hpp 2009-07-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -9,6 +9,7 @@
#ifndef BOOST_FUSION_ADAPTED_DETAIL_MPL_CATEGORY_OF_IMPL_HPP
#define BOOST_FUSION_ADAPTED_DETAIL_MPL_CATEGORY_OF_IMPL_HPP
+//TODO make detail the very last include
#include <boost/fusion/support/detail/mpl_iterator_category.hpp>
#include <boost/mpl/begin.hpp>
Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/mpl/distance_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/mpl/distance_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/mpl/distance_impl.hpp 2009-07-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -24,12 +24,12 @@
template <>
struct distance_to_impl<mpl_iterator_tag>
{
- template <typename I1Ref, typename I2Ref>
+ template <typename It1Ref, typename It2Ref>
struct apply
: mpl::distance<
- typename detail::identity<I1Ref>::type
+ typename detail::identity<It1Ref>::type
, typename detail::get_mpl_it<
- typename detail::identity<I2Ref>::type
+ typename detail::identity<It2Ref>::type
>::type
>
{
Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/mpl/equal_to_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/mpl/equal_to_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/mpl/equal_to_impl.hpp 2009-07-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -24,12 +24,12 @@
template <>
struct equal_to_impl<mpl_iterator_tag>
{
- template <typename I1Ref, typename I2Ref>
+ template <typename It1Ref, typename It2Ref>
struct apply
: is_same<
- typename detail::identity<I1Ref>::type
+ typename detail::identity<It1Ref>::type
, typename detail::get_mpl_it<
- typename detail::identity<I2Ref>::type
+ typename detail::identity<It2Ref>::type
>::type
>
{
Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/mpl/get_mpl_it.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/mpl/get_mpl_it.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/mpl/get_mpl_it.hpp 2009-07-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -3,8 +3,8 @@
// (See accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt)
-#ifndef BOOST_FUSION_ADAPTED_MPL_DETAIL_GET_MPL_IT_HPP
-#define BOOST_FUSION_ADAPTED_MPL_DETAIL_GET_MPL_IT_HPP
+#ifndef BOOST_FUSION_ADAPTED_DETAIL_MPL_GET_MPL_IT_HPP
+#define BOOST_FUSION_ADAPTED_DETAIL_MPL_GET_MPL_IT_HPP
namespace boost { namespace fusion { namespace detail
{
Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/mpl/is_sequence_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/mpl/is_sequence_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/mpl/is_sequence_impl.hpp 2009-07-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -23,7 +23,7 @@
template<>
struct is_sequence_impl<mpl_sequence_tag>
{
- template<typename T>
+ template<typename SeqRef>
struct apply
: mpl::true_
{};
Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/mpl/is_view_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/mpl/is_view_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/mpl/is_view_impl.hpp 2009-07-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -23,7 +23,7 @@
template<>
struct is_view_impl<mpl_sequence_tag>
{
- template<typename T>
+ template<typename SeqRef>
struct apply
: mpl::true_
{};
Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/std_pair/at_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/std_pair/at_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/std_pair/at_impl.hpp 2009-07-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -21,7 +21,7 @@
namespace extension
{
- template<typename T>
+ template<typename Tag>
struct at_impl;
template <>
Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/std_pair/begin_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/std_pair/begin_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/std_pair/begin_impl.hpp 2009-07-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -17,7 +17,7 @@
namespace extension
{
- template<typename T>
+ template<typename Tag>
struct begin_impl;
template <>
Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/std_pair/category_of_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/std_pair/category_of_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/std_pair/category_of_impl.hpp 2009-07-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -18,13 +18,13 @@
namespace extension
{
- template<typename T>
+ template<typename Tag>
struct category_of_impl;
template<>
struct category_of_impl<std_pair_tag>
{
- template<typename T>
+ template<typename SeqRef>
struct apply
{
typedef random_access_traversal_tag type;
Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/std_pair/is_view_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/std_pair/is_view_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/std_pair/is_view_impl.hpp 2009-07-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -23,7 +23,7 @@
template<>
struct is_view_impl<std_pair_tag>
{
- template<typename T>
+ template<typename SeqRef>
struct apply
: mpl::false_
{};
Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/std_pair/size_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/std_pair/size_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/std_pair/size_impl.hpp 2009-07-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -17,7 +17,7 @@
namespace extension
{
- template<typename T>
+ template<typename Tag>
struct size_impl;
template <>
Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/std_pair/value_at_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/std_pair/value_at_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/std_pair/value_at_impl.hpp 2009-07-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -19,7 +19,7 @@
namespace extension
{
- template<typename T>
+ template<typename Tag>
struct value_at_impl;
template <>
Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/struct/adapt_assoc_struct.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/struct/adapt_assoc_struct.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/struct/adapt_assoc_struct.hpp 2009-07-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -10,19 +10,6 @@
#define BOOST_FUSION_ADAPTED_DETAIL_STRUCT_ADAPT_ASSOC_STRUCT_HPP
#include <boost/fusion/support/tag_of_fwd.hpp>
-#include <boost/fusion/adapted/struct/extension.hpp>
-#include <boost/fusion/adapted/struct/struct_iterator.hpp>
-#include <boost/fusion/adapted/struct/detail/is_view_impl.hpp>
-#include <boost/fusion/adapted/struct/detail/is_sequence_impl.hpp>
-#include <boost/fusion/adapted/struct/detail/category_of_impl.hpp>
-#include <boost/fusion/adapted/struct/detail/begin_impl.hpp>
-#include <boost/fusion/adapted/struct/detail/end_impl.hpp>
-#include <boost/fusion/adapted/struct/detail/size_impl.hpp>
-#include <boost/fusion/adapted/struct/detail/at_impl.hpp>
-#include <boost/fusion/adapted/struct/detail/value_at_impl.hpp>
-#include <boost/fusion/adapted/struct/detail/has_key_impl.hpp>
-#include <boost/fusion/adapted/struct/detail/at_key_impl.hpp>
-#include <boost/fusion/adapted/struct/detail/value_at_key_impl.hpp>
#include <boost/preprocessor/cat.hpp>
#include <boost/preprocessor/punctuation/comma_if.hpp>
@@ -31,65 +18,46 @@
#include <boost/preprocessor/repetition/enum_params_with_a_default.hpp>
#include <boost/preprocessor/repetition/enum_params.hpp>
#include <boost/preprocessor/cat.hpp>
-#include <boost/mpl/int.hpp>
-#include <boost/config/no_tr1/utility.hpp>
-namespace boost { namespace fusion { namespace extension {
- template<typename Struct, typename Key>
- struct struct_assoc_member;
-}}}
-
-
-#define BOOST_FUSION_ADAPT_ASSOC_STRUCT(name, bseq) \
- BOOST_FUSION_ADAPT_ASSOC_STRUCT_I( \
- name, BOOST_PP_CAT(BOOST_FUSION_ADAPT_ASSOC_STRUCT_X bseq, 0)) \
- /***/
-
-#define BOOST_FUSION_ADAPT_ASSOC_STRUCT_X(x, y, z) ((x, y, z)) BOOST_FUSION_ADAPT_ASSOC_STRUCT_Y
-#define BOOST_FUSION_ADAPT_ASSOC_STRUCT_Y(x, y, z) ((x, y, z)) BOOST_FUSION_ADAPT_ASSOC_STRUCT_X
+#define BOOST_FUSION_ADAPT_ASSOC_STRUCT(name, bseq) \
+ BOOST_FUSION_ADAPT_ASSOC_STRUCT_I( \
+ name, BOOST_PP_CAT(BOOST_FUSION_ADAPT_ASSOC_STRUCT_X bseq, 0))
+
+#define BOOST_FUSION_ADAPT_ASSOC_STRUCT_X(x, y, z)\
+ ((x, y, z)) BOOST_FUSION_ADAPT_ASSOC_STRUCT_Y
+#define BOOST_FUSION_ADAPT_ASSOC_STRUCT_Y(x, y, z)\
+ ((x, y, z)) BOOST_FUSION_ADAPT_ASSOC_STRUCT_X
#define BOOST_FUSION_ADAPT_ASSOC_STRUCT_X0
#define BOOST_FUSION_ADAPT_ASSOC_STRUCT_Y0
-// BOOST_FUSION_ADAPT_ASSOC_STRUCT_I generates the overarching structure and uses
-// SEQ_FOR_EACH_I to generate the "linear" substructures.
+// BOOST_FUSION_ADAPT_ASSOC_STRUCT_I generates the overarching structure and
+// uses SEQ_FOR_EACH_I to generate the "linear" substructures.
// Thanks to Paul Mensonides for the PP macro help
#define BOOST_FUSION_ADAPT_ASSOC_STRUCT_I(name, seq) \
- namespace boost { namespace fusion { namespace traits \
- { \
- template <> \
- struct tag_of<name> \
- { \
- typedef struct_tag type; \
- }; \
- }}} \
- namespace boost { namespace fusion { namespace extension \
- { \
- template <> \
- struct struct_size<name> : mpl::int_<BOOST_PP_SEQ_SIZE(seq)> {}; \
- BOOST_PP_SEQ_FOR_EACH_I(BOOST_FUSION_ADAPT_ASSOC_STRUCT_C, name, seq) \
- }}} \
- /***/
+ BOOST_FUSION_ADAPT_STRUCT_BASE(name, seq) \
+ BOOST_PP_SEQ_FOR_EACH_I(BOOST_FUSION_ADAPT_ASSOC_STRUCT_C, name, seq)
#define BOOST_FUSION_ADAPT_ASSOC_STRUCT_C(r, name, i, xy) \
- template <> \
- struct struct_member<name, i> \
- { \
- typedef BOOST_PP_TUPLE_ELEM(3, 0, xy) type; \
- static type& call(name& struct_) \
- { \
- return struct_.BOOST_PP_TUPLE_ELEM(3, 1, xy); \
- }; \
- }; \
+ BOOST_FUSION_ADAPT_STRUCT_C_BASE(r, name, i, xy, 3) \
+ \
+namespace boost { namespace fusion { namespace extension \
+{ \
template<> \
struct struct_assoc_member<name, BOOST_PP_TUPLE_ELEM(3, 2, xy)> \
{ \
typedef BOOST_PP_TUPLE_ELEM(3, 0, xy) type; \
- static type& call(name& struct_) \
+ \
+ template<typename Seq> \
+ static typename \
+ detail::result_of_forward_as< \
+ BOOST_FUSION_R_ELSE_LREF(Seq),type \
+ >::type \
+ call(BOOST_FUSION_R_ELSE_LREF(Seq) seq) \
{ \
- return struct_.BOOST_PP_TUPLE_ELEM(3, 1, xy); \
+ return seq.BOOST_PP_TUPLE_ELEM(3, 1, xy); \
}; \
- };
- /***/
+ }; \
+}}}
#endif
Added: sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/struct/adapt_base.hpp
==============================================================================
--- (empty file)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/struct/adapt_base.hpp 2009-07-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -0,0 +1,49 @@
+// Copyright 2001-2007 Joel de Guzman, 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)
+
+#include <boost/fusion/support/tag_of_fwd.hpp>
+
+#ifndef BOOST_FUSION_ADAPTED_DETAIL_STRUCT_ADAPT_BASE_HPP
+#define BOOST_FUSION_ADAPTED_DETAIL_STRUCT_ADAPT_BASE_HPP
+
+#define BOOST_FUSION_ADAPT_STRUCT_BASE(name, seq) \
+namespace boost { namespace fusion { namespace traits \
+{ \
+ BOOST_FUSION_ADAPT_STRUCT_TAG_OF_SPECIALIZATION(BOOST_PP_EMPTY(),name); \
+ BOOST_FUSION_ADAPT_STRUCT_TAG_OF_SPECIALIZATION(const,name); \
+ BOOST_FUSION_ADAPT_STRUCT_TAG_OF_SPECIALIZATION(const volatile,name); \
+ BOOST_FUSION_ADAPT_STRUCT_TAG_OF_SPECIALIZATION(volatile,name); \
+ BOOST_FUSION_ALL_CV_REF_COMBINATIONS( \
+ BOOST_FUSION_ADAPT_STRUCT_TAG_OF_SPECIALIZATION,name) \
+}}} \
+ \
+namespace boost { namespace fusion { namespace extension \
+{ \
+ template <> \
+ struct struct_size<name> \
+ : mpl::int_<BOOST_PP_SEQ_SIZE(seq)> {}; \
+}}}
+
+#define BOOST_FUSION_ADAPT_STRUCT_C_BASE(r, name, i, xy, max_size) \
+namespace boost { namespace fusion { namespace extension \
+{ \
+ template <> \
+ struct struct_member<name, i> \
+ { \
+ typedef BOOST_PP_TUPLE_ELEM(max_size, 0, xy) type; \
+ \
+ template<typename Seq> \
+ static typename \
+ detail::result_of_forward_as< \
+ BOOST_FUSION_R_ELSE_LREF(Seq),type \
+ >::type \
+ call(BOOST_FUSION_R_ELSE_LREF(Seq) seq) \
+ { \
+ return seq.BOOST_PP_TUPLE_ELEM(max_size, 1, xy); \
+ } \
+ }; \
+}}}
+
+#endif
Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/struct/adapt_struct.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/struct/adapt_struct.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/struct/adapt_struct.hpp 2009-07-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -8,18 +8,6 @@
#ifndef BOOST_FUSION_ADAPTED_DETAIL_STRUCT_ADAPT_STRUCT_HPP
#define BOOST_FUSION_ADAPTED_DETAIL_STRUCT_ADAPT_STRUCT_HPP
-#include <boost/fusion/support/tag_of_fwd.hpp>
-#include <boost/fusion/adapted/struct/extension.hpp>
-#include <boost/fusion/adapted/struct/struct_iterator.hpp>
-#include <boost/fusion/adapted/struct/detail/is_view_impl.hpp>
-#include <boost/fusion/adapted/struct/detail/is_sequence_impl.hpp>
-#include <boost/fusion/adapted/struct/detail/category_of_impl.hpp>
-#include <boost/fusion/adapted/struct/detail/begin_impl.hpp>
-#include <boost/fusion/adapted/struct/detail/end_impl.hpp>
-#include <boost/fusion/adapted/struct/detail/size_impl.hpp>
-#include <boost/fusion/adapted/struct/detail/at_impl.hpp>
-#include <boost/fusion/adapted/struct/detail/value_at_impl.hpp>
-
#include <boost/preprocessor/cat.hpp>
#include <boost/preprocessor/punctuation/comma_if.hpp>
#include <boost/preprocessor/seq/for_each_i.hpp>
@@ -27,13 +15,12 @@
#include <boost/preprocessor/repetition/enum_params_with_a_default.hpp>
#include <boost/preprocessor/repetition/enum_params.hpp>
#include <boost/preprocessor/cat.hpp>
+
#include <boost/mpl/int.hpp>
-#include <boost/config/no_tr1/utility.hpp>
#define BOOST_FUSION_ADAPT_STRUCT(name, bseq) \
BOOST_FUSION_ADAPT_STRUCT_I( \
- name, BOOST_PP_CAT(BOOST_FUSION_ADAPT_STRUCT_X bseq, 0)) \
- /***/
+ name, BOOST_PP_CAT(BOOST_FUSION_ADAPT_STRUCT_X bseq, 0))
#define BOOST_FUSION_ADAPT_STRUCT_X(x, y) ((x, y)) BOOST_FUSION_ADAPT_STRUCT_Y
#define BOOST_FUSION_ADAPT_STRUCT_Y(x, y) ((x, y)) BOOST_FUSION_ADAPT_STRUCT_X
@@ -44,33 +31,18 @@
// SEQ_FOR_EACH_I to generate the "linear" substructures.
// Thanks to Paul Mensonides for the PP macro help
-#define BOOST_FUSION_ADAPT_STRUCT_I(name, seq) \
- namespace boost { namespace fusion { namespace traits \
- { \
- template <> \
- struct tag_of<name> \
- { \
- typedef struct_tag type; \
- }; \
- }}} \
- namespace boost { namespace fusion { namespace extension \
- { \
- template <> \
- struct struct_size<name> : mpl::int_<BOOST_PP_SEQ_SIZE(seq)> {}; \
- BOOST_PP_SEQ_FOR_EACH_I(BOOST_FUSION_ADAPT_STRUCT_C, name, seq) \
- }}} \
- /***/
-
-#define BOOST_FUSION_ADAPT_STRUCT_C(r, name, i, xy) \
+#define BOOST_FUSION_ADAPT_STRUCT_TAG_OF_SPECIALIZATION(COMBINATION, name) \
template <> \
- struct struct_member<name, i> \
+ struct tag_of<name COMBINATION> \
{ \
- typedef BOOST_PP_TUPLE_ELEM(2, 0, xy) type; \
- static type& call(name& struct_) \
- { \
- return struct_.BOOST_PP_TUPLE_ELEM(2, 1, xy); \
- }; \
+ typedef struct_tag type; \
}; \
- /***/
+
+#define BOOST_FUSION_ADAPT_STRUCT_I(name, seq) \
+ BOOST_FUSION_ADAPT_STRUCT_BASE(name, seq) \
+ BOOST_PP_SEQ_FOR_EACH_I(BOOST_FUSION_ADAPT_STRUCT_C, name, seq)
+
+#define BOOST_FUSION_ADAPT_STRUCT_C(r, name, i, xy) \
+ BOOST_FUSION_ADAPT_STRUCT_C_BASE(r, name, i, xy, 2)
#endif
Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/struct/at_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/struct/at_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/struct/at_impl.hpp 2009-07-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -10,7 +10,6 @@
#define BOOST_FUSION_ADAPTED_DETAIL_STRUCT_AT_IMPL_HPP
#include <boost/fusion/support/assert.hpp>
-#include <boost/fusion/support/detail/access.hpp>
#include <boost/mpl/int.hpp>
@@ -20,42 +19,36 @@
namespace extension
{
- template<typename T>
+ template<typename Tag>
struct at_impl;
- template <typename Struct, int N>
- struct struct_member;
-
- template <typename Struct>
- struct struct_size;
-
template <>
struct at_impl<struct_tag>
{
- template <typename Sequence, typename N>
+ template <typename SeqRef, typename N>
struct apply
{
- static int const n_value = N::value;
- BOOST_FUSION_INDEX_CHECK(n_value,
- extension::struct_size<Sequence>::value);
-
- typedef typename
- extension::struct_member<Sequence, N::value>
- element;
+ //BOOST_FUSION_INDEX_CHECK(n_value,
+ // struct_size<Sequence>::value);
typedef typename
- mpl::eval_if<
- is_const<Sequence>
- , detail::cref_result<element>
- , detail::ref_result<element>
+ detail::result_of_forward_as<
+ SeqRef
+ , typename struct_member<
+ typename detail::identity<SeqRef>::type
+ , N::value
+ >::type
>::type
type;
static type
- call(Sequence& seq)
+ call(SeqRef seq)
{
- return extension::
- struct_member<Sequence, N::value>::call(seq);
+ return
+ struct_member<
+ typename detail::identity<SeqRef>::type
+ , N::value
+ >::call(seq);
}
};
};
Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/struct/at_key_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/struct/at_key_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/struct/at_key_impl.hpp 2009-07-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -9,43 +9,32 @@
#ifndef BOOST_FUSION_ADAPTED_DETAIL_STRUCT_AT_KEY_IMPL_HPP
#define BOOST_FUSION_ADAPTED_DETAIL_STRUCT_AT_KEY_IMPL_HPP
-#include <boost/fusion/support/detail/access.hpp>
-
namespace boost { namespace fusion
{
struct struct_tag;
namespace extension
{
- template<typename T>
+ template <typename Tag>
struct at_key_impl;
- template <typename Struct, typename Key>
- struct struct_assoc_member;
-
template <>
struct at_key_impl<struct_tag>
{
- template <typename Sequence, typename Key>
+ template <typename SeqRef, typename Key>
struct apply
{
- typedef typename
- extension::struct_assoc_member<Sequence, Key>
- element;
+ typedef typename detail::identity<SeqRef>::type seq;
+ typedef typename struct_assoc_member<seq, Key>::type element;
typedef typename
- mpl::eval_if<
- is_const<Sequence>
- , detail::cref_result<element>
- , detail::ref_result<element>
- >::type
+ detail::result_of_forward_as<SeqRef,element>::type
type;
static type
- call(Sequence& seq)
+ call(SeqRef seq_)
{
- return extension::
- struct_assoc_member<Sequence, Key>::call(seq);
+ return struct_assoc_member<seq, Key>::call(seq_);
}
};
};
Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/struct/begin_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/struct/begin_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/struct/begin_impl.hpp 2009-07-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -9,29 +9,27 @@
#ifndef BOOST_FUSION_ADAPTED_DETAIL_STRUCT_BEGIN_IMPL_HPP
#define BOOST_FUSION_ADAPTED_DETAIL_STRUCT_BEGIN_IMPL_HPP
-#include <boost/fusion/adapted/struct/struct_iterator.hpp>
-
namespace boost { namespace fusion
{
struct struct_tag;
namespace extension
{
- template<typename T>
+ template<typename Tag>
struct begin_impl;
template <>
struct begin_impl<struct_tag>
{
- template <typename Sequence>
+ template <typename SeqRef>
struct apply
{
- typedef struct_iterator<Sequence, 0> type;
+ typedef struct_iterator<SeqRef, 0> type;
static type
- call(Sequence& v)
+ call(SeqRef seq)
{
- return type(v);
+ return type(seq,0);
}
};
};
Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/struct/category_of_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/struct/category_of_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/struct/category_of_impl.hpp 2009-07-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -18,13 +18,13 @@
namespace extension
{
- template<typename T>
+ template<typename Tag>
struct category_of_impl;
template<>
struct category_of_impl<struct_tag>
{
- template<typename T>
+ template<typename SeqRef>
struct apply
{
typedef random_access_traversal_tag type;
Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/struct/end_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/struct/end_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/struct/end_impl.hpp 2009-07-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -9,8 +9,6 @@
#ifndef BOOST_FUSION_ADAPTED_DETAIL_STRUCT_END_IMPL_HPP
#define BOOST_FUSION_ADAPTED_DETAIL_STRUCT_END_IMPL_HPP
-#include <boost/fusion/adapted/struct/struct_iterator.hpp>
-
namespace boost { namespace fusion
{
struct struct_tag;
@@ -20,26 +18,25 @@
template <typename Tag>
struct end_impl;
- template <typename Struct>
- struct struct_size;
-
template <>
struct end_impl<struct_tag>
{
- template <typename Sequence>
+ template <typename SeqRef>
struct apply
{
typedef
struct_iterator<
- Sequence
- , struct_size<Sequence>::value
+ SeqRef
+ , struct_size<
+ typename detail::identity<SeqRef>::type
+ >::value
>
type;
static type
- call(Sequence& v)
+ call(SeqRef seq)
{
- return type(v);
+ return type(seq,0);
}
};
};
Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/struct/extension.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/struct/extension.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/struct/extension.hpp 2009-07-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -13,55 +13,19 @@
namespace boost { namespace fusion { namespace extension
{
- template <typename Struct, int N>
+ struct no_such_member;
+
+ template<typename Seq, int N>
struct struct_member;
- template <typename Struct>
+ template<typename Seq>
struct struct_size;
- template <typename Struct, int N>
- struct struct_member<Struct const, N>
- {
- typedef typename
- add_const<typename struct_member<Struct, N>::type>::type
- type;
-
- static type&
- call(Struct const& struct_)
- {
- return struct_member<Struct, N>::call(
- const_cast<Struct&>(struct_));
- }
- };
-
- template <typename Struct>
- struct struct_size<Struct const>
- : struct_size<Struct>
- {};
-
- struct no_such_member;
-
- template<typename Struct, typename Key>
+ template<typename Seq, typename Key>
struct struct_assoc_member
{
typedef no_such_member type;
};
-
- template<typename Struct, typename Key>
- struct struct_assoc_member<Struct const, Key>
- {
- typedef typename
- add_const<typename struct_assoc_member<Struct, Key>::type>::type
- type;
-
- static type&
- call(Struct const& struct_)
- {
- return struct_assoc_member<Struct, Key>::call(
- const_cast<Struct&>(struct_));
- }
- };
-
}}}
#endif
Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/struct/has_key_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/struct/has_key_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/struct/has_key_impl.hpp 2009-07-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -20,20 +20,24 @@
{
struct no_such_member;
- template<typename T>
+ template<typename Tag>
struct has_key_impl;
- template<typename Struct, typename Key>
- struct struct_assoc_member;
-
template<>
struct has_key_impl<struct_tag>
{
- template<typename Sequence, typename Key>
+ template<typename SeqRef, typename Key>
struct apply
- : mpl::not_<is_same<no_such_member, typename struct_assoc_member<Sequence, Key>::type> >
- {
- };
+ : mpl::not_<
+ is_same<
+ no_such_member
+ , typename struct_assoc_member<
+ typename detail::identity<SeqRef>::type
+ , Key
+ >::type
+ >
+ >
+ {};
};
}
}}
Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/struct/is_sequence_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/struct/is_sequence_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/struct/is_sequence_impl.hpp 2009-07-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -23,7 +23,7 @@
template<>
struct is_sequence_impl<struct_tag>
{
- template<typename Sequence>
+ template<typename SeqRef>
struct apply
: mpl::true_
{};
Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/struct/is_view_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/struct/is_view_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/struct/is_view_impl.hpp 2009-07-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -23,7 +23,7 @@
template<>
struct is_view_impl<struct_tag>
{
- template<typename T>
+ template<typename SeqRef>
struct apply
: mpl::false_
{};
Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/struct/size_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/struct/size_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/struct/size_impl.hpp 2009-07-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -23,15 +23,15 @@
namespace extension
{
- template<typename T>
+ template<typename Tag>
struct size_impl;
template <>
struct size_impl<struct_tag>
{
- template <typename Sequence>
+ template <typename SeqRef>
struct apply
- : extension::struct_size<Sequence>
+ : struct_size<typename detail::identity<SeqRef>::type>
{};
};
}
Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/struct/struct_iterator.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/struct/struct_iterator.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/struct/struct_iterator.hpp 2009-07-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -11,7 +11,6 @@
#include <boost/fusion/support/assert.hpp>
#include <boost/fusion/iterator/iterator_facade.hpp>
-#include <boost/fusion/adapted/struct/extension.hpp>
#include <boost/type_traits/is_const.hpp>
#include <boost/type_traits/add_reference.hpp>
@@ -25,77 +24,96 @@
{
struct random_access_traversal_tag;
- template <typename Struct, int N_>
+ template <typename SeqRef, int N>
struct struct_iterator
- : iterator_facade<struct_iterator<Struct, N_>, random_access_traversal_tag>
+ : iterator_facade<struct_iterator<SeqRef, N>, random_access_traversal_tag>
{
- BOOST_FUSION_INDEX_CHECK(N,extension::struct_size<Struct>::value);
+ //BOOST_FUSION_INDEX_CHECK(N,struct_size<SeqRef>::value);
- typedef mpl::int_<N_> index;
- typedef Struct struct_type;
-
- struct_iterator(Struct& struct_)
- : struct_(struct_) {}
- Struct& struct_;
-
- template <typename Iterator>
+ template <typename ItRef>
struct value_of
- : extension::struct_member<Struct, N_>
- {
- };
+ : extension::struct_member<SeqRef, N>
+ {};
- template <typename Iterator>
+ template <typename ItRef>
struct deref
{
+ typedef typename detail::identity<SeqRef>::type identity_struct;
+
typedef typename
- add_reference<
- typename extension::struct_member<Struct, N_>::type
+ detail::result_of_forward_as<
+ SeqRef
+ , typename extension::struct_member<identity_struct, N>::type
>::type
type;
static type
- call(Iterator const& iter)
+ call(ItRef it)
{
- return extension::struct_member<Struct, N_>::
- call(iter.struct_);
+ return extension::struct_member<identity_struct, N>::call(
+ *it.struct_);
}
};
- template <typename Iterator, typename N>
+ template <typename ItRef, typename N_>
struct advance
{
- typedef typename Iterator::index index;
- typedef typename Iterator::struct_type struct_type;
- typedef struct_iterator<struct_type, index::value + N::value> type;
+ typedef typename detail::remove_reference<ItRef>::type it;
+
+ typedef
+ struct_iterator<
+ typename it::struct_type
+ , it::index::value + N_::value
+ >
+ type;
static type
- call(Iterator const& iter)
+ call(ItRef it)
{
- return type(iter.struct_);
+ return type(*it.struct_,0);
}
};
- template <typename Iterator>
- struct next : advance<Iterator, mpl::int_<1> > {};
+ typedef mpl::int_<N> index;
+ typedef SeqRef struct_type;
- template <typename Iterator>
- struct prior : advance<Iterator, mpl::int_<-1> > {};
+ template <typename ItRef>
+ struct next
+ : advance<ItRef, mpl::int_<1> >
+ {};
+
+ template <typename ItRef>
+ struct prior
+ : advance<ItRef, mpl::int_<-1> >
+ {};
+
+ template <typename It1Ref, typename It2Ref>
+ struct distance
+ : mpl::minus<
+ typename detail::remove_reference<It2Ref>::type::index
+ , typename detail::remove_reference<It1Ref>::type::index
+ >
+ {
+ };
- template <typename I1, typename I2>
- struct distance : mpl::minus<typename I2::index, typename I1::index>
+ template<typename OtherIt>
+ struct_iterator(BOOST_FUSION_R_ELSE_CLREF(OtherIt) it)
+ : struct_(it.struct_)
+ {}
+
+ struct_iterator(SeqRef struct_,int)
+ : struct_(&struct_)
+ {}
+
+ template<typename OtherIt>
+ struct_iterator&
+ operator=(BOOST_FUSION_R_ELSE_CLREF(OtherIt) it)
{
- typedef typename
- mpl::minus<
- typename I2::index, typename I1::index
- >::type
- type;
+ struct_=it.struct_;
+ return *this;
+ }
- static type
- call(I1 const&, I2 const&)
- {
- return type();
- }
- };
+ typename detail::remove_reference<SeqRef>::type* struct_;
};
}}
Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/struct/value_at_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/struct/value_at_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/struct/value_at_impl.hpp 2009-07-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -11,15 +11,13 @@
#include <boost/fusion/support/assert.hpp>
-#include <boost/mpl/if.hpp>
-
namespace boost { namespace fusion
{
struct struct_tag;
namespace extension
{
- template<typename T>
+ template<typename SeqRef>
struct value_at_impl;
template <typename Struct, int N>
@@ -31,16 +29,11 @@
template <>
struct value_at_impl<struct_tag>
{
- template <typename Sequence, typename N>
+ template <typename SeqRef, typename N>
struct apply
+ : struct_member<typename detail::identity<SeqRef>::type, N::value>
{
- static int const n_value = N::value;
- BOOST_FUSION_INDEX_CHECK(n_value,
- extension::struct_size<Sequence>::value);
-
- typedef typename
- extension::struct_member<Sequence, N::value>::type
- type;
+ //BOOST_FUSION_INDEX_CHECK(N::value, struct_size<Sequence>::value);
};
};
}
Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/struct/value_at_key_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/struct/value_at_key_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/struct/value_at_key_impl.hpp 2009-07-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -17,22 +17,19 @@
namespace extension
{
- template<typename T>
+ template<typename SeqRef>
struct value_at_key_impl;
- template <typename Struct, typename Key>
- struct struct_assoc_member;
-
template <>
struct value_at_key_impl<struct_tag>
{
- template <typename Sequence, typename Key>
+ template <typename SeqRef, typename Key>
struct apply
- {
- typedef typename
- extension::struct_assoc_member<Sequence, Key>::type
- type;
- };
+ : struct_assoc_member<
+ typename detail::identity<SeqRef>::type
+ , Key
+ >
+ {};
};
}
}}
Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/std_pair.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/std_pair.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/std_pair.hpp 2009-07-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -9,8 +9,11 @@
#ifndef BOOST_FUSION_ADAPTED_STD_PAIR_HPP
#define BOOST_FUSION_ADAPTED_STD_PAIR_HPP
+#include <boost/fusion/support/ref.hpp>
+
#include <boost/fusion/support/tag_of_fwd.hpp>
#include <boost/fusion/adapted/struct.hpp>
+
#include <boost/mpl/int.hpp>
#include <boost/config/no_tr1/utility.hpp>
Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/struct.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/struct.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/struct.hpp 2009-07-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -9,21 +9,24 @@
#ifndef BOOST_FUSION_ADAPTED_STRUCT_HPP
#define BOOST_FUSION_ADAPTED_STRUCT_HPP
-#include <boost/fusion/adapted/struct/extension.hpp>
-#include <boost/fusion/adapted/struct/adapt_struct.hpp>
-#include <boost/fusion/adapted/struct/adapt_assoc_struct.hpp>
-#include <boost/fusion/adapted/struct/struct_iterator.hpp>
+#include <boost/fusion/support/ref.hpp>
-#include <boost/fusion/adapted/struct/detail/at_impl.hpp>
-#include <boost/fusion/adapted/struct/detail/at_key_impl.hpp>
-#include <boost/fusion/adapted/struct/detail/begin_impl.hpp>
-#include <boost/fusion/adapted/struct/detail/category_of_impl.hpp>
-#include <boost/fusion/adapted/struct/detail/end_impl.hpp>
-#include <boost/fusion/adapted/struct/detail/has_key_impl.hpp>
-#include <boost/fusion/adapted/struct/detail/is_sequence_impl.hpp>
-#include <boost/fusion/adapted/struct/detail/is_view_impl.hpp>
-#include <boost/fusion/adapted/struct/detail/size_impl.hpp>
-#include <boost/fusion/adapted/struct/detail/value_at_impl.hpp>
-#include <boost/fusion/adapted/struct/detail/value_at_key_impl.hpp>
+#include <boost/fusion/adapted/detail/struct/extension.hpp>
+#include <boost/fusion/adapted/detail/struct/adapt_base.hpp>
+#include <boost/fusion/adapted/detail/struct/adapt_struct.hpp>
+#include <boost/fusion/adapted/detail/struct/adapt_assoc_struct.hpp>
+#include <boost/fusion/adapted/detail/struct/struct_iterator.hpp>
+
+#include <boost/fusion/adapted/detail/struct/at_impl.hpp>
+#include <boost/fusion/adapted/detail/struct/at_key_impl.hpp>
+#include <boost/fusion/adapted/detail/struct/begin_impl.hpp>
+#include <boost/fusion/adapted/detail/struct/category_of_impl.hpp>
+#include <boost/fusion/adapted/detail/struct/end_impl.hpp>
+#include <boost/fusion/adapted/detail/struct/has_key_impl.hpp>
+#include <boost/fusion/adapted/detail/struct/is_sequence_impl.hpp>
+#include <boost/fusion/adapted/detail/struct/is_view_impl.hpp>
+#include <boost/fusion/adapted/detail/struct/size_impl.hpp>
+#include <boost/fusion/adapted/detail/struct/value_at_impl.hpp>
+#include <boost/fusion/adapted/detail/struct/value_at_key_impl.hpp>
#endif
Added: sandbox/SOC/2009/fusion/boost/fusion/adapted/struct/adapt_assoc_struct.hpp
==============================================================================
--- (empty file)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/struct/adapt_assoc_struct.hpp 2009-07-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -0,0 +1,11 @@
+// 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_ADAPTED_STRUCT_ADAPT_ASSOC_STRUCT_HPP
+#define BOOST_FUSION_ADAPTED_STRUCT_ADAPT_ASSOC_STRUCT_HPP
+
+#include <boost/fusion/adapted/struct.hpp>
+
+#endif
Added: sandbox/SOC/2009/fusion/boost/fusion/adapted/struct/adapt_struct.hpp
==============================================================================
--- (empty file)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/struct/adapt_struct.hpp 2009-07-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -0,0 +1,11 @@
+// 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_ADAPTED_STRUCT_ADAPT_STRUCT_HPP
+#define BOOST_FUSION_ADAPTED_STRUCT_ADAPT_STRUCT_HPP
+
+#include <boost/fusion/adapted/struct.hpp>
+
+#endif
Modified: sandbox/SOC/2009/fusion/boost/fusion/container/generation/detail/variadic_templates/list_tie.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/generation/detail/variadic_templates/list_tie.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/generation/detail/variadic_templates/list_tie.hpp 2009-07-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -3,8 +3,8 @@
// (See accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt)
-#ifndef BOOST_FUSION_CONTAINER_DETAIL_LIST_TIE
-#define BOOST_FUSION_CONTAINER_DETAIL_LIST_TIE
+#ifndef BOOST_FUSION_CONTAINER_GENERATION_DETAIL_VARIADIC_TEMPLATES_LIST_TIE_HPP
+#define BOOST_FUSION_CONTAINER_GENERATION_DETAIL_VARIADIC_TEMPLATES_LIST_TIE_HPP
#include <boost/fusion/container/list/list.hpp>
#include <boost/fusion/support/detail/as_fusion_element.hpp>
@@ -35,5 +35,3 @@
}}
#endif
-
-
Modified: sandbox/SOC/2009/fusion/boost/fusion/container/generation/detail/variadic_templates/make_list.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/generation/detail/variadic_templates/make_list.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/generation/detail/variadic_templates/make_list.hpp 2009-07-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -3,8 +3,8 @@
// (See accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt)
-#ifndef BOOST_FUSION_CONTAINER_DETAIL_MAKE_LIST
-#define BOOST_FUSION_CONTAINER_DETAIL_MAKE_LIST
+#ifndef BOOST_FUSION_CONTAINER_GENERATION_DETAIL_VARIADIC_TEMPLATES_MAKE_LIST_HPP
+#define BOOST_FUSION_CONTAINER_GENERATION_DETAIL_VARIADIC_TEMPLATES_MAKE_LIST_HPP
#include <boost/fusion/container/list/list.hpp>
#include <boost/fusion/support/detail/as_fusion_element.hpp>
@@ -36,4 +36,3 @@
}}
#endif
-
Modified: sandbox/SOC/2009/fusion/boost/fusion/container/generation/detail/variadic_templates/make_map.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/generation/detail/variadic_templates/make_map.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/generation/detail/variadic_templates/make_map.hpp 2009-07-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -3,8 +3,8 @@
// (See accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt)
-#ifndef BOOST_FUSION_CONTAINER_DETAIL_MAKE_MAP
-#define BOOST_FUSION_CONTAINER_DETAIL_MAKE_MAP
+#ifndef BOOST_FUSION_CONTAINER_GENERATION_DETAIL_VARIADIC_TEMPLATES_MAKE_MAP_HPP
+#define BOOST_FUSION_CONTAINER_GENERATION_DETAIL_VARIADIC_TEMPLATES_MAKE_MAP_HPP
#include <boost/fusion/container/map/map.hpp>
#include <boost/fusion/support/detail/as_fusion_element.hpp>
@@ -82,4 +82,3 @@
}}
#endif
-
Modified: sandbox/SOC/2009/fusion/boost/fusion/container/generation/detail/variadic_templates/make_set.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/generation/detail/variadic_templates/make_set.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/generation/detail/variadic_templates/make_set.hpp 2009-07-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -3,8 +3,8 @@
// (See accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt)
-#ifndef BOOST_FUSION_CONTAINER_DETAIL_MAKE_SET
-#define BOOST_FUSION_CONTAINER_DETAIL_MAKE_SET
+#ifndef BOOST_FUSION_CONTAINER_GENERATION_DETAIL_VARIADIC_TEMPLATES_MAKE_SET_HPP
+#define BOOST_FUSION_CONTAINER_GENERATION_DETAIL_VARIADIC_TEMPLATES_MAKE_SET_HPP
#include <boost/fusion/container/set/set.hpp>
#include <boost/fusion/support/detail/as_fusion_element.hpp>
@@ -36,4 +36,3 @@
}}
#endif
-
Modified: sandbox/SOC/2009/fusion/boost/fusion/container/generation/detail/variadic_templates/make_vector.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/generation/detail/variadic_templates/make_vector.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/generation/detail/variadic_templates/make_vector.hpp 2009-07-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -3,8 +3,8 @@
// (See accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt)
-#ifndef BOOST_FUSION_CONTAINER_DETAIL_MAKE_VECTOR
-#define BOOST_FUSION_CONTAINER_DETAIL_MAKE_VECTOR
+#ifndef BOOST_FUSION_CONTAINER_GENERATION_DETAIL_VARIADIC_TEMPLATES_MAKE_VECTOR_HPP
+#define BOOST_FUSION_CONTAINER_GENERATION_DETAIL_VARIADIC_TEMPLATES_MAKE_VECTOR_HPP
#include <boost/fusion/container/vector/vector.hpp>
#include <boost/fusion/support/detail/as_fusion_element.hpp>
@@ -36,4 +36,3 @@
}}
#endif
-
Modified: sandbox/SOC/2009/fusion/boost/fusion/container/generation/detail/variadic_templates/map_tie.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/generation/detail/variadic_templates/map_tie.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/generation/detail/variadic_templates/map_tie.hpp 2009-07-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -3,8 +3,8 @@
// (See accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt)
-#ifndef BOOST_FUSION_CONTAINER_DETAIL_MAP_TIE
-#define BOOST_FUSION_CONTAINER_DETAIL_MAP_TIE
+#ifndef BOOST_FUSION_CONTAINER_GENERATION_DETAIL_VARIADIC_TEMPLATES_MAP_TIE_HPP
+#define BOOST_FUSION_CONTAINER_GENERATION_DETAIL_VARIADIC_TEMPLATES_MAP_TIE_HPP
#include <boost/fusion/container/map/map.hpp>
#include <boost/fusion/support/detail/as_fusion_element.hpp>
@@ -84,4 +84,3 @@
}}
#endif
-
Modified: sandbox/SOC/2009/fusion/boost/fusion/container/generation/detail/variadic_templates/vector_tie.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/generation/detail/variadic_templates/vector_tie.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/generation/detail/variadic_templates/vector_tie.hpp 2009-07-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -3,8 +3,8 @@
// (See accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt)
-#ifndef BOOST_FUSION_CONTAINER_DETAIL_VECTOR_TIE
-#define BOOST_FUSION_CONTAINER_DETAIL_VECTOR_TIE
+#ifndef BOOST_FUSION_CONTAINER_GENERATION_DETAIL_VARIADIC_TEMPLATES_VECTOR_TIE_HPP
+#define BOOST_FUSION_CONTAINER_GENERATION_DETAIL_VARIADIC_TEMPLATES_VECTOR_TIE_HPP
#include <boost/fusion/container/vector/vector.hpp>
#include <boost/fusion/support/detail/as_fusion_element.hpp>
@@ -35,5 +35,3 @@
}}
#endif
-
-
Modified: sandbox/SOC/2009/fusion/boost/fusion/container/generation/list_tie.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/generation/list_tie.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/generation/list_tie.hpp 2009-07-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -3,8 +3,8 @@
// (See accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt)
-#ifndef BOOST_FUSION_CONTAINER_LIST_TIE
-#define BOOST_FUSION_CONTAINER_LIST_TIE
+#ifndef BOOST_FUSION_CONTAINER_GENERATION_LIST_TIE_HPP
+#define BOOST_FUSION_CONTAINER_GENERATION_LIST_TIE_HPP
#include <boost/config.hpp>
#ifdef BOOST_NO_VARIADIC_TEMPLATES
Modified: sandbox/SOC/2009/fusion/boost/fusion/container/generation/make_list.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/generation/make_list.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/generation/make_list.hpp 2009-07-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -3,8 +3,8 @@
// (See accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt)
-#ifndef BOOST_FUSION_CONTAINER_MAKE_LIST
-#define BOOST_FUSION_CONTAINER_MAKE_LIST
+#ifndef BOOST_FUSION_CONTAINER_GENERATION_MAKE_LIST_HPP
+#define BOOST_FUSION_CONTAINER_GENERATION_MAKE_LIST_HPP
#include <boost/config.hpp>
#ifdef BOOST_NO_VARIADIC_TEMPLATES
Modified: sandbox/SOC/2009/fusion/boost/fusion/container/generation/make_map.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/generation/make_map.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/generation/make_map.hpp 2009-07-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -3,8 +3,8 @@
// (See accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt)
-#ifndef BOOST_FUSION_CONTAINER_MAKE_MAP
-#define BOOST_FUSION_CONTAINER_MAKE_MAP
+#ifndef BOOST_FUSION_CONTAINER_GENERATION_MAKE_MAP_HPP
+#define BOOST_FUSION_CONTAINER_GENERATION_MAKE_MAP_HPP
#include <boost/config.hpp>
#ifdef BOOST_NO_VARIADIC_TEMPLATES
Modified: sandbox/SOC/2009/fusion/boost/fusion/container/generation/make_set.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/generation/make_set.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/generation/make_set.hpp 2009-07-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -3,8 +3,8 @@
// (See accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt)
-#ifndef BOOST_FUSION_CONTAINER_MAKE_SET
-#define BOOST_FUSION_CONTAINER_MAKE_SET
+#ifndef BOOST_FUSION_CONTAINER_GENERATION_MAKE_SET_HPP
+#define BOOST_FUSION_CONTAINER_GENERATION_MAKE_SET_HPP
#include <boost/config.hpp>
#ifdef BOOST_NO_VARIADIC_TEMPLATES
Modified: sandbox/SOC/2009/fusion/boost/fusion/container/generation/make_vector.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/generation/make_vector.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/generation/make_vector.hpp 2009-07-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -3,8 +3,8 @@
// (See accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt)
-#ifndef BOOST_FUSION_CONTAINER_MAKE_VECTOR
-#define BOOST_FUSION_CONTAINER_MAKE_VECTOR
+#ifndef BOOST_FUSION_CONTAINER_GENERATION_MAKE_VECTOR_HPP
+#define BOOST_FUSION_CONTAINER_GENERATION_MAKE_VECTOR_HPP
#include <boost/config.hpp>
#ifdef BOOST_NO_VARIADIC_TEMPLATES
Modified: sandbox/SOC/2009/fusion/boost/fusion/container/generation/map_tie.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/generation/map_tie.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/generation/map_tie.hpp 2009-07-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -3,8 +3,8 @@
// (See accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt)
-#ifndef BOOST_FUSION_CONTAINER_MAP_TIE
-#define BOOST_FUSION_CONTAINER_MAP_TIE
+#ifndef BOOST_FUSION_CONTAINER_GENERATION_MAP_TIE_HPP
+#define BOOST_FUSION_CONTAINER_GENERATION_MAP_TIE_HPP
#include <boost/config.hpp>
#ifdef BOOST_NO_VARIADIC_TEMPLATES
Modified: sandbox/SOC/2009/fusion/boost/fusion/container/generation/vector_tie.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/generation/vector_tie.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/generation/vector_tie.hpp 2009-07-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -3,8 +3,8 @@
// (See accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt)
-#ifndef BOOST_FUSION_CONTAINER_VECTOR_TIE
-#define BOOST_FUSION_CONTAINER_VECTOR_TIE
+#ifndef BOOST_FUSION_CONTAINER_GENERATION_VECTOR_TIE_HPP
+#define BOOST_FUSION_CONTAINER_GENERATION_VECTOR_TIE_HPP
#include <boost/config.hpp>
#ifdef BOOST_NO_VARIADIC_TEMPLATES
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-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -96,7 +96,7 @@
//cschmidt: iterators so we do not have to deal with the cv-ness
//of cons_.car/cons_.cdr explicitly
-#define CONS_CTOR(COMBINATION)\
+#define CONS_CTOR(COMBINATION,_)\
cons(cons COMBINATION cons_)\
: car(fusion::front(BOOST_FUSION_FORWARD(cons COMBINATION,cons_)))\
, cdr(detail::assign_by_deref(),\
@@ -104,7 +104,7 @@
BOOST_FUSION_FORWARD(cons COMBINATION,cons_))))\
{}
- BOOST_FUSION_ALL_CV_REF_COMBINATIONS(CONS_CTOR);
+ BOOST_FUSION_ALL_CV_REF_COMBINATIONS(CONS_CTOR,_);
#undef CONS_CTOR
@@ -120,8 +120,7 @@
//cschmidt: rvalue ref if possible, so this does not collide with
//cons(OtherCar&&,OtherCdr&&)
template<typename It>
- cons(detail::assign_by_deref,
- BOOST_FUSION_R_ELSE_CLREF(It) it)
+ cons(detail::assign_by_deref,BOOST_FUSION_R_ELSE_LREF(It) it)
: car(fusion::deref(it))
, cdr(detail::assign_by_deref(),fusion::next(it))
{}
Modified: sandbox/SOC/2009/fusion/boost/fusion/container/list/cons_iterator.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/list/cons_iterator.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/list/cons_iterator.hpp 2009-07-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -32,7 +32,7 @@
typedef Cons cons_type;
template<typename OtherIt>
- cons_iterator(BOOST_FUSION_R_ELSE_CLREF(OtherIt) it)
+ cons_iterator(OtherIt const& it)
: cons(it.cons)
{}
@@ -42,7 +42,7 @@
template<typename OtherIt>
cons_iterator&
- operator=(BOOST_FUSION_R_ELSE_CLREF(OtherIt) other_it)
+ operator=(OtherIt const& other_it)
{
cons=other_it.cons;
return *this;
@@ -65,7 +65,7 @@
{}
};
-#define NIL_ITERATOR(COMBINATION)\
+#define NIL_ITERATOR(COMBINATION,_)\
template <>\
struct cons_iterator<nil COMBINATION>\
: nil_iterator\
@@ -77,7 +77,7 @@
{}\
};
- BOOST_FUSION_ALL_CV_REF_COMBINATIONS(NIL_ITERATOR)
+ BOOST_FUSION_ALL_CV_REF_COMBINATIONS(NIL_ITERATOR,_)
#undef NIL_ITERATOR
}}
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-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -3,8 +3,8 @@
// (See accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt)
-#ifndef BOOST_FUSION_CONTAINER_LIST_LIST_AT_IMPL_HPP
-#define BOOST_FUSION_CONTAINER_LIST_LIST_AT_IMPL_HPP
+#ifndef BOOST_FUSION_CONTAINER_LIST_DETAIL_LIST_AT_IMPL_HPP
+#define BOOST_FUSION_CONTAINER_LIST_DETAIL_LIST_AT_IMPL_HPP
#include <boost/fusion/sequence/intrinsic/at.hpp>
Modified: sandbox/SOC/2009/fusion/boost/fusion/container/list/detail/list/convert_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/list/detail/list/convert_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/list/detail/list/convert_impl.hpp 2009-07-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -3,8 +3,8 @@
// (See accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt)
-#ifndef BOOST_FUSION_CONTAINER_LIST_LIST_CONVERT_IMPL_HPP
-#define BOOST_FUSION_CONTAINER_LIST_LIST_CONVERT_IMPL_HPP
+#ifndef BOOST_FUSION_CONTAINER_LIST_DETAIL_LIST_CONVERT_IMPL_HPP
+#define BOOST_FUSION_CONTAINER_LIST_DETAIL_LIST_CONVERT_IMPL_HPP
#ifdef BOOST_NO_VARIADIC_TEMPLATES
# include <boost/fusion/container/list/detail/list/pp/as_list.hpp>
Modified: sandbox/SOC/2009/fusion/boost/fusion/container/list/detail/list/value_at_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/list/detail/list/value_at_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/list/detail/list/value_at_impl.hpp 2009-07-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -3,8 +3,8 @@
// (See accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt)
-#ifndef BOOST_FUSION_CONTAINER_LIST_LIST_VALUE_AT_IMPL_HPP
-#define BOOST_FUSION_CONTAINER_LIST_LIST_VALUE_AT_IMPL_HPP
+#ifndef BOOST_FUSION_CONTAINER_LIST_DETAIL_LIST_VALUE_AT_IMPL_HPP
+#define BOOST_FUSION_CONTAINER_LIST_DETAIL_LIST_VALUE_AT_IMPL_HPP
#include <boost/fusion/sequence/intrinsic/value_at.hpp>
Modified: sandbox/SOC/2009/fusion/boost/fusion/container/list/detail/list/variadic_templates/as_list_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/list/detail/list/variadic_templates/as_list_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/list/detail/list/variadic_templates/as_list_impl.hpp 2009-07-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -3,8 +3,8 @@
// (See accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt)
-#ifndef BOOST_FUSION_CONTAINER_LIST_LIST_AS_LIST_HPP
-#define BOOST_FUSION_CONTAINER_LIST_LIST_AS_LIST_HPP
+#ifndef BOOST_FUSION_CONTAINER_LIST_DETAIL_LIST_VARIADIC_TEMPLATES_AS_LIST_IMPL_HPP
+#define BOOST_FUSION_CONTAINER_LIST_DETAIL_LIST_VARIADIC_TEMPLATES_AS_LIST_IMPL_HPP
#include <boost/fusion/mpl/begin.hpp>
#include <boost/fusion/mpl/end.hpp>
Modified: sandbox/SOC/2009/fusion/boost/fusion/container/list/list.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/list/list.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/list/list.hpp 2009-07-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -41,16 +41,14 @@
typedef typename storage_type::size size;
list()
- : data()
{}
-#define LIST_CTOR(COMBINATION)\
+#define LIST_CTOR(COMBINATION,_)\
list(list COMBINATION list_)\
: data(BOOST_FUSION_FORWARD(list COMBINATION,list_).data)\
- {\
- }
+ {}
- BOOST_FUSION_ALL_CV_REF_COMBINATIONS(LIST_CTOR)
+ BOOST_FUSION_ALL_CV_REF_COMBINATIONS(LIST_CTOR,_)
#undef LIST_CTOR
@@ -68,11 +66,11 @@
{}
#endif
- template <typename T>
+ template <typename Seq>
list&
- operator=(BOOST_FUSION_R_ELSE_CLREF(T) rhs)
+ operator=(BOOST_FUSION_R_ELSE_CLREF(Seq) seq)
{
- data = BOOST_FUSION_FORWARD(T, rhs);
+ data = BOOST_FUSION_FORWARD(Seq, seq);
return *this;
}
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-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -3,8 +3,8 @@
// (See accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt)
-#ifndef BOOST_FUSION_CONTAINER_MAP_BEGIN_IMPL_HPP
-#define BOOST_FUSION_CONTAINER_MAP_BEGIN_IMPL_HPP
+#ifndef BOOST_FUSION_CONTAINER_MAP_DETAIL_BEGIN_IMPL_HPP
+#define BOOST_FUSION_CONTAINER_MAP_DETAIL_BEGIN_IMPL_HPP
#include <boost/fusion/sequence/intrinsic/begin.hpp>
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-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -3,8 +3,8 @@
// (See accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt)
-#ifndef BOOST_FUSION_CONTAINER_MAP_CONVERT_IMPL_HPP
-#define BOOST_FUSION_CONTAINER_MAP_CONVERT_IMPL_HPP
+#ifndef BOOST_FUSION_CONTAINER_MAP_DETAIL_CONVERT_IMPL_HPP
+#define BOOST_FUSION_CONTAINER_MAP_DETAIL_CONVERT_IMPL_HPP
#ifdef BOOST_NO_VARIADIC_TEMPLATES
# include <boost/fusion/sequence/intrinsic/begin.hpp>
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-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -3,8 +3,8 @@
// (See accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt)
-#ifndef BOOST_FUSION_CONTAINER_MAP_END_IMPL_HPP
-#define BOOST_FUSION_CONTAINER_MAP_END_IMPL_HPP
+#ifndef BOOST_FUSION_CONTAINER_MAP_DETAIL_END_IMPL_HPP
+#define BOOST_FUSION_CONTAINER_MAP_DETAIL_END_IMPL_HPP
#include <boost/fusion/sequence/intrinsic/end.hpp>
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-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -3,8 +3,8 @@
// (See accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt)
-#ifndef BOOST_FUSION_CONTAINER_MAP_AS_MAP_HPP
-#define BOOST_FUSION_CONTAINER_MAP_AS_MAP_HPP
+#ifndef BOOST_FUSION_CONTAINER_MAP_DETAIL_VARIADIC_TEMPLATES_AS_MAP_IMPL_HPP
+#define BOOST_FUSION_CONTAINER_MAP_DETAIL_VARIADIC_TEMPLATES_AS_MAP_IMPL_HPP
//TODO cschmidt: ?!
#include <boost/fusion/mpl/begin.hpp>
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-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -130,13 +130,13 @@
map()
{}
-#define MAP_CTOR(COMBINATION)\
+#define MAP_CTOR(COMBINATION,_)\
map(map COMBINATION map_)\
: data(BOOST_FUSION_FORWARD(map COMBINATION,map_).data)\
{\
}
- BOOST_FUSION_ALL_CV_REF_COMBINATIONS(MAP_CTOR)
+ BOOST_FUSION_ALL_CV_REF_COMBINATIONS(MAP_CTOR,_)
#undef MAP_CTOR
@@ -154,11 +154,11 @@
{}
#endif
- template <typename T>
+ template <typename Seq>
map&
- operator=(BOOST_FUSION_R_ELSE_CLREF(T) rhs)
+ operator=(BOOST_FUSION_R_ELSE_CLREF(Seq) seq)
{
- data = BOOST_FUSION_FORWARD(T, rhs);
+ data = BOOST_FUSION_FORWARD(Seq, seq);
return *this;
}
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-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -3,8 +3,8 @@
// (See accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt)
-#ifndef BOOST_FUSION_CONTAINER_SET_BEGIN_IMPL_HPP
-#define BOOST_FUSION_CONTAINER_SET_BEGIN_IMPL_HPP
+#ifndef BOOST_FUSION_CONTAINER_SET_DETAIL_BEGIN_IMPL_HPP
+#define BOOST_FUSION_CONTAINER_SET_DETAIL_BEGIN_IMPL_HPP
#include <boost/fusion/sequence/intrinsic/begin.hpp>
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-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -3,8 +3,8 @@
// (See accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt)
-#ifndef BOOST_FUSION_CONTAINER_SET_CONVERT_IMPL_HPP
-#define BOOST_FUSION_CONTAINER_SET_CONVERT_IMPL_HPP
+#ifndef BOOST_FUSION_CONTAINER_SET_DETAIL_CONVERT_IMPL_HPP
+#define BOOST_FUSION_CONTAINER_SET_DETAIL_CONVERT_IMPL_HPP
#ifdef BOOST_NO_VARIADIC_TEMPLATES
# include <boost/fusion/sequence/intrinsic/begin.hpp>
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-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -3,8 +3,8 @@
// (See accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt)
-#ifndef BOOST_FUSION_CONTAINER_SET_END_IMPL_HPP
-#define BOOST_FUSION_CONTAINER_SET_END_IMPL_HPP
+#ifndef BOOST_FUSION_CONTAINER_SET_DETAIL_END_IMPL_HPP
+#define BOOST_FUSION_CONTAINER_SET_DETAIL_END_IMPL_HPP
#include <boost/fusion/sequence/intrinsic/end.hpp>
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-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -3,8 +3,8 @@
// (See accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt)
-#ifndef BOOST_FUSION_CONTAINER_SET_AS_SET_HPP
-#define BOOST_FUSION_CONTAINER_SET_AS_SET_HPP
+#ifndef BOOST_FUSION_CONTAINER_SET_DETAIL_VARIADIC_TEMPLATES_AS_SET_IMPL_HPP
+#define BOOST_FUSION_CONTAINER_SET_DETAIL_VARIADIC_TEMPLATES_AS_SET_IMPL_HPP
#include <boost/fusion/mpl/begin.hpp>
#include <boost/fusion/mpl/end.hpp>
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-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -103,13 +103,13 @@
set()
{}
-#define SET_CTOR(COMBINATION)\
+#define SET_CTOR(COMBINATION,_)\
set(set COMBINATION set_)\
: data(BOOST_FUSION_FORWARD(set COMBINATION,set_).data)\
{\
}
- BOOST_FUSION_ALL_CV_REF_COMBINATIONS(SET_CTOR)
+ BOOST_FUSION_ALL_CV_REF_COMBINATIONS(SET_CTOR,_)
#undef SET_CTOR
@@ -127,11 +127,11 @@
{}
#endif
- template <typename T>
+ template <typename Seq>
set&
- operator=(BOOST_FUSION_R_ELSE_CLREF(T) rhs)
+ operator=(BOOST_FUSION_R_ELSE_CLREF(Seq) seq)
{
- data = BOOST_FUSION_FORWARD(T, rhs);
+ data = BOOST_FUSION_FORWARD(Seq, seq);
return *this;
}
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-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -3,8 +3,8 @@
// (See accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt)
-#ifndef BOOST_FUSION_CONTAINER_VECTOR_CONVERT_IMPL_HPP
-#define BOOST_FUSION_CONTAINER_VECTOR_CONVERT_IMPL_HPP
+#ifndef BOOST_FUSION_CONTAINER_VECTOR_DETAIL_CONVERT_IMPL_HPP
+#define BOOST_FUSION_CONTAINER_VECTOR_DETAIL_CONVERT_IMPL_HPP
#ifdef BOOST_NO_VARIADIC_TEMPLATES
# include <boost/fusion/sequence/intrinsic/begin.hpp>
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-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -3,8 +3,8 @@
// (See accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt)
-#ifndef BOOST_FUSION_CONTAINER_VECTOR_AS_VECTOR_HPP
-#define BOOST_FUSION_CONTAINER_VECTOR_AS_VECTOR_HPP
+#ifndef BOOST_FUSION_CONTAINER_VECTOR_DETAIL_VARIADIC_TEMPLATES_AS_VECTOR_IMPL_HPP
+#define BOOST_FUSION_CONTAINER_VECTOR_DETAIL_VARIADIC_TEMPLATES_AS_VECTOR_IMPL_HPP
#include <boost/fusion/mpl/begin.hpp>
#include <boost/fusion/mpl/end.hpp>
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-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -3,8 +3,8 @@
// (See accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt)
-#ifndef BOOST_FUSION_CONTAINER_VECTOR_VECTOR_IMPL_HPP
-#define BOOST_FUSION_CONTAINER_VECTOR_VECTOR_IMPL_HPP
+#ifndef BOOST_FUSION_CONTAINER_VECTOR_DETAIL_VARIADIC_TEMPLATES_VECTOR_IMPL_HPP
+#define BOOST_FUSION_CONTAINER_VECTOR_DETAIL_VARIADIC_TEMPLATES_VECTOR_IMPL_HPP
#include <boost/fusion/sequence/intrinsic/begin.hpp>
#include <boost/fusion/sequence/intrinsic/size.hpp>
@@ -151,14 +151,14 @@
vector()
{}
-#define VECTOR_CTOR(COMBINATION)\
+#define VECTOR_CTOR(COMBINATION,_)\
vector(vector COMBINATION vec)\
: base(detail::assign_by_deref(),\
fusion::begin(BOOST_FUSION_FORWARD(vector COMBINATION,vec)))\
{\
}
- BOOST_FUSION_ALL_CV_REF_COMBINATIONS(VECTOR_CTOR)
+ BOOST_FUSION_ALL_CV_REF_COMBINATIONS(VECTOR_CTOR,_)
#undef VECTOR_CTOR
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-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -20,13 +20,13 @@
BOOST_PP_CAT(vector, N)()
{}
-#define VECTOR_CTOR(COMBINATION)\
+#define VECTOR_CTOR(COMBINATION,_)\
BOOST_PP_CAT(vector, N)(BOOST_PP_CAT(vector, N) COMBINATION vec)\
: base(sequence_assign(\
BOOST_FUSION_FORWARD(BOOST_PP_CAT(vector, N) COMBINATION,vec)))\
{}
- BOOST_FUSION_ALL_CV_REF_COMBINATIONS(VECTOR_CTOR)
+ BOOST_FUSION_ALL_CV_REF_COMBINATIONS(VECTOR_CTOR,_)
#undef VECTOR_CTOR
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-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -30,7 +30,6 @@
: sequence_base<vector<BOOST_PP_ENUM_PARAMS(FUSION_MAX_VECTOR_SIZE, T)> >
{
private:
-
typedef typename detail::vector_n_chooser<
BOOST_PP_ENUM_PARAMS(FUSION_MAX_VECTOR_SIZE, T)>::type
vector_n;
@@ -39,7 +38,6 @@
friend struct vector;
public:
-
typedef typename vector_n::types types;
typedef typename vector_n::fusion_tag fusion_tag;
typedef typename vector_n::tag tag;
Modified: sandbox/SOC/2009/fusion/boost/fusion/container/vector/vector_iterator.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/vector/vector_iterator.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/vector/vector_iterator.hpp 2009-07-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -28,6 +28,7 @@
struct vector_iterator_tag;
struct random_access_traversal_tag;
+ //TODO needed?
template <typename Vector, int N>
struct vector_iterator_identity;
@@ -48,7 +49,7 @@
identity;
template<typename OtherVecIt>
- vector_iterator(BOOST_FUSION_R_ELSE_CLREF(OtherVecIt) it)
+ vector_iterator(OtherVecIt const& it)
: vec(it.vec)
{}
@@ -58,7 +59,7 @@
template<typename OtherVecIt>
vector_iterator&
- operator=(BOOST_FUSION_R_ELSE_CLREF(OtherVecIt) it)
+ operator=(OtherVecIt const& it)
{
vec=it.vec;
return *this;
Modified: sandbox/SOC/2009/fusion/boost/fusion/functional/adapter.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/functional/adapter.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/functional/adapter.hpp 2009-07-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -6,8 +6,8 @@
http://www.boost.org/LICENSE_1_0.txt).
==============================================================================*/
-#if !defined(BOOST_FUSION_FUNCTIONAL_ADAPTER_HPP_INCLUDED)
-#define BOOST_FUSION_FUNCTIONAL_ADAPTER_HPP_INCLUDED
+#ifndef BOOST_FUSION_FUNCTIONAL_ADAPTER_HPP
+#define BOOST_FUSION_FUNCTIONAL_ADAPTER_HPP
#include <boost/fusion/functional/adapter/fused.hpp>
#include <boost/fusion/functional/adapter/fused_procedure.hpp>
#include <boost/fusion/functional/adapter/fused_function_object.hpp>
Modified: sandbox/SOC/2009/fusion/boost/fusion/functional/adapter/detail/access.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/functional/adapter/detail/access.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/functional/adapter/detail/access.hpp 2009-07-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -6,8 +6,8 @@
http://www.boost.org/LICENSE_1_0.txt).
==============================================================================*/
-#if !defined(BOOST_FUSION_FUNCTIONAL_ADAPTER_DETAIL_ACCESS_HPP_INCLUDED)
-#define BOOST_FUSION_FUNCTIONAL_ADAPTER_DETAIL_ACCESS_HPP_INCLUDED
+#ifndef BOOST_FUSION_FUNCTIONAL_ADAPTER_DETAIL_ACCESS_HPP
+#define BOOST_FUSION_FUNCTIONAL_ADAPTER_DETAIL_ACCESS_HPP
namespace boost { namespace fusion { namespace detail
{
@@ -38,4 +38,3 @@
}}}
#endif
-
Modified: sandbox/SOC/2009/fusion/boost/fusion/functional/adapter/fused.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/functional/adapter/fused.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/functional/adapter/fused.hpp 2009-07-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -6,8 +6,8 @@
http://www.boost.org/LICENSE_1_0.txt).
==============================================================================*/
-#if !defined(BOOST_FUSION_FUNCTIONAL_ADAPTER_FUSED_HPP_INCLUDED)
-#define BOOST_FUSION_FUNCTIONAL_ADAPTER_FUSED_HPP_INCLUDED
+#ifndef BOOST_FUSION_FUNCTIONAL_ADAPTER_FUSED_HPP
+#define BOOST_FUSION_FUNCTIONAL_ADAPTER_FUSED_HPP
#include <boost/type_traits/add_reference.hpp>
@@ -82,4 +82,3 @@
}}
#endif
-
Modified: sandbox/SOC/2009/fusion/boost/fusion/functional/adapter/fused_function_object.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/functional/adapter/fused_function_object.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/functional/adapter/fused_function_object.hpp 2009-07-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -6,8 +6,8 @@
http://www.boost.org/LICENSE_1_0.txt).
==============================================================================*/
-#if !defined(BOOST_FUSION_FUNCTIONAL_ADAPTER_FUSED_FUNCTION_OBJECT_HPP_INCLUDED)
-#define BOOST_FUSION_FUNCTIONAL_ADAPTER_FUSED_FUNCTION_OBJECT_HPP_INCLUDED
+#ifndef BOOST_FUSION_FUNCTIONAL_ADAPTER_FUSED_FUNCTION_OBJECT_HPP
+#define BOOST_FUSION_FUNCTIONAL_ADAPTER_FUSED_FUNCTION_OBJECT_HPP
#include <boost/type_traits/add_reference.hpp>
@@ -87,4 +87,3 @@
}}
#endif
-
Modified: sandbox/SOC/2009/fusion/boost/fusion/functional/adapter/fused_procedure.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/functional/adapter/fused_procedure.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/functional/adapter/fused_procedure.hpp 2009-07-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -6,8 +6,8 @@
http://www.boost.org/LICENSE_1_0.txt).
==============================================================================*/
-#if !defined(BOOST_FUSION_FUNCTIONAL_ADAPTER_FUSED_PROCEDURE_HPP_INCLUDED)
-#define BOOST_FUSION_FUNCTIONAL_ADAPTER_FUSED_PROCEDURE_HPP_INCLUDED
+#ifndef BOOST_FUSION_FUNCTIONAL_ADAPTER_FUSED_PROCEDURE_HPP
+#define BOOST_FUSION_FUNCTIONAL_ADAPTER_FUSED_PROCEDURE_HPP
#include <boost/type_traits/add_reference.hpp>
@@ -67,4 +67,3 @@
}}
#endif
-
Modified: sandbox/SOC/2009/fusion/boost/fusion/functional/adapter/limits.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/functional/adapter/limits.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/functional/adapter/limits.hpp 2009-07-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -6,8 +6,8 @@
http://www.boost.org/LICENSE_1_0.txt).
==============================================================================*/
-#if !defined(BOOST_FUSION_FUNCTIONAL_ADAPTER_LIMITS_HPP_INCLUDED)
-# define BOOST_FUSION_FUNCTIONAL_ADAPTER_LIMITS_HPP_INCLUDED
+#ifndef BOOST_FUSION_FUNCTIONAL_ADAPTER_LIMITS_HPP
+#define BOOST_FUSION_FUNCTIONAL_ADAPTER_LIMITS_HPP
# include <boost/fusion/container/vector/limits.hpp>
@@ -23,4 +23,3 @@
# endif
#endif
-
Modified: sandbox/SOC/2009/fusion/boost/fusion/functional/adapter/unfused.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/functional/adapter/unfused.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/functional/adapter/unfused.hpp 2009-07-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -6,8 +6,8 @@
http://www.boost.org/LICENSE_1_0.txt).
==============================================================================*/
-#if !defined(BOOST_FUSION_FUNCTIONAL_ADAPTER_UNFUSED_HPP_INCLUDED)
-#if !defined(BOOST_PP_IS_ITERATING)
+#ifndef BOOST_FUSION_FUNCTIONAL_ADAPTER_UNFUSED_HPP
+#define BOOST_FUSION_FUNCTIONAL_ADAPTER_UNFUSED_HPP
#include <boost/preprocessor/cat.hpp>
#include <boost/preprocessor/iteration/iterate.hpp>
@@ -148,4 +148,3 @@
#undef N
#endif // defined(BOOST_PP_IS_ITERATING)
#endif
-
Modified: sandbox/SOC/2009/fusion/boost/fusion/functional/adapter/unfused_typed.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/functional/adapter/unfused_typed.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/functional/adapter/unfused_typed.hpp 2009-07-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -6,8 +6,8 @@
http://www.boost.org/LICENSE_1_0.txt).
==============================================================================*/
-#if !defined(BOOST_FUSION_FUNCTIONAL_ADAPTER_UNFUSED_TYPED_HPP_INCLUDED)
-#if !defined(BOOST_PP_IS_ITERATING)
+#ifndef BOOST_FUSION_FUNCTIONAL_ADAPTER_UNFUSED_TYPED_HPP
+#define BOOST_FUSION_FUNCTIONAL_ADAPTER_UNFUSED_TYPED_HPP
#include <boost/preprocessor/cat.hpp>
#include <boost/preprocessor/iteration/iterate.hpp>
@@ -152,4 +152,3 @@
#undef N
#endif // defined(BOOST_PP_IS_ITERATING)
#endif
-
Modified: sandbox/SOC/2009/fusion/boost/fusion/functional/generation.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/functional/generation.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/functional/generation.hpp 2009-07-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -6,8 +6,8 @@
http://www.boost.org/LICENSE_1_0.txt).
==============================================================================*/
-#if !defined(BOOST_FUSION_FUNCTIONAL_GENERATION_HPP_INCLUDED)
-#define BOOST_FUSION_FUNCTIONAL_GENERATION_HPP_INCLUDED
+#ifndef BOOST_FUSION_FUNCTIONAL_GENERATION_HPP
+#define BOOST_FUSION_FUNCTIONAL_GENERATION_HPP
#include <boost/fusion/functional/generation/make_fused.hpp>
#include <boost/fusion/functional/generation/make_fused_procedure.hpp>
Modified: sandbox/SOC/2009/fusion/boost/fusion/functional/generation/make_fused.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/functional/generation/make_fused.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/functional/generation/make_fused.hpp 2009-07-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -6,8 +6,8 @@
http://www.boost.org/LICENSE_1_0.txt).
==============================================================================*/
-#if !defined(BOOST_FUSION_FUNCTIONAL_GENERATION_MAKE_FUSED_HPP_INCLUDED)
-#define BOOST_FUSION_FUNCTIONAL_GENERATION_MAKE_FUSED_HPP_INCLUDED
+#ifndef BOOST_FUSION_FUNCTIONAL_GENERATION_MAKE_FUSED_HPP
+#define BOOST_FUSION_FUNCTIONAL_GENERATION_MAKE_FUSED_HPP
#include <boost/fusion/functional/adapter/fused.hpp>
@@ -15,4 +15,3 @@
#include <boost/fusion/functional/generation/detail/gen_make_adapter.hpp>
#endif
-
Modified: sandbox/SOC/2009/fusion/boost/fusion/functional/generation/make_fused_function_object.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/functional/generation/make_fused_function_object.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/functional/generation/make_fused_function_object.hpp 2009-07-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -6,8 +6,8 @@
http://www.boost.org/LICENSE_1_0.txt).
==============================================================================*/
-#if !defined(BOOST_FUSION_FUNCTIONAL_GENERATION_MAKE_FUSED_FUNCTION_OBJECT_HPP_INCLUDED)
-#define BOOST_FUSION_FUNCTIONAL_GENERATION_MAKE_FUSED_FUNCTION_OBJECT_HPP_INCLUDED
+#ifndef BOOST_FUSION_FUNCTIONAL_GENERATION_MAKE_FUSED_FUNCTION_OBJECT_HPP
+#define BOOST_FUSION_FUNCTIONAL_GENERATION_MAKE_FUSED_FUNCTION_OBJECT_HPP
#include <boost/fusion/functional/adapter/fused_function_object.hpp>
@@ -15,4 +15,3 @@
#include <boost/fusion/functional/generation/detail/gen_make_adapter.hpp>
#endif
-
Modified: sandbox/SOC/2009/fusion/boost/fusion/functional/generation/make_fused_procedure.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/functional/generation/make_fused_procedure.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/functional/generation/make_fused_procedure.hpp 2009-07-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -6,8 +6,8 @@
http://www.boost.org/LICENSE_1_0.txt).
==============================================================================*/
-#if !defined(BOOST_FUSION_FUNCTIONAL_GENERATION_MAKE_FUSED_PROCEDURE_HPP_INCLUDED)
-#define BOOST_FUSION_FUNCTIONAL_GENERATION_MAKE_FUSED_PROCEDURE_HPP_INCLUDED
+#ifndef BOOST_FUSION_FUNCTIONAL_GENERATION_MAKE_FUSED_PROCEDURE_HPP
+#define BOOST_FUSION_FUNCTIONAL_GENERATION_MAKE_FUSED_PROCEDURE_HPP
#include <boost/fusion/functional/adapter/fused_procedure.hpp>
@@ -15,4 +15,3 @@
#include <boost/fusion/functional/generation/detail/gen_make_adapter.hpp>
#endif
-
Modified: sandbox/SOC/2009/fusion/boost/fusion/functional/generation/make_unfused.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/functional/generation/make_unfused.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/functional/generation/make_unfused.hpp 2009-07-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -6,8 +6,8 @@
http://www.boost.org/LICENSE_1_0.txt).
==============================================================================*/
-#if !defined(BOOST_FUSION_FUNCTIONAL_GENERATION_MAKE_UNFUSED_HPP_INCLUDED)
-#define BOOST_FUSION_FUNCTIONAL_GENERATION_MAKE_UNFUSED_HPP_INCLUDED
+#ifndef BOOST_FUSION_FUNCTIONAL_GENERATION_MAKE_UNFUSED_HPP
+#define BOOST_FUSION_FUNCTIONAL_GENERATION_MAKE_UNFUSED_HPP
#include <boost/fusion/functional/adapter/unfused.hpp>
@@ -15,4 +15,3 @@
#include <boost/fusion/functional/generation/detail/gen_make_adapter.hpp>
#endif
-
Modified: sandbox/SOC/2009/fusion/boost/fusion/functional/invocation.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/functional/invocation.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/functional/invocation.hpp 2009-07-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -6,8 +6,8 @@
http://www.boost.org/LICENSE_1_0.txt).
==============================================================================*/
-#if !defined(BOOST_FUSION_FUNCTIONAL_INVOCATION_HPP_INCLUDED)
-#define BOOST_FUSION_FUNCTIONAL_INVOCATION_HPP_INCLUDED
+#ifndef BOOST_FUSION_FUNCTIONAL_INVOCATION_HPP
+#define BOOST_FUSION_FUNCTIONAL_INVOCATION_HPP
#include <boost/fusion/functional/invocation/invoke.hpp>
#include <boost/fusion/functional/invocation/invoke_procedure.hpp>
Modified: sandbox/SOC/2009/fusion/boost/fusion/functional/invocation/detail/that_ptr.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/functional/invocation/detail/that_ptr.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/functional/invocation/detail/that_ptr.hpp 2009-07-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -6,8 +6,8 @@
http://www.boost.org/LICENSE_1_0.txt).
==============================================================================*/
-#if !defined(BOOST_FUSION_FUNCTIONAL_INVOCATION_DETAIL_THAT_PTR_HPP_INCLUDED)
-#define BOOST_FUSION_FUNCTIONAL_INVOCATION_DETAIL_THAT_PTR_HPP_INCLUDED
+#ifndef BOOST_FUSION_FUNCTIONAL_INVOCATION_DETAIL_THAT_PTR_HPP
+#define BOOST_FUSION_FUNCTIONAL_INVOCATION_DETAIL_THAT_PTR_HPP
#include <boost/get_pointer.hpp>
#include <boost/utility/addressof.hpp>
@@ -84,4 +84,3 @@
}}}
#endif
-
Modified: sandbox/SOC/2009/fusion/boost/fusion/functional/invocation/invoke.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/functional/invocation/invoke.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/functional/invocation/invoke.hpp 2009-07-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -7,8 +7,8 @@
http://www.boost.org/LICENSE_1_0.txt).
==============================================================================*/
-#if !defined(BOOST_FUSION_FUNCTIONAL_INVOCATION_INVOKE_HPP_INCLUDED)
-#if !defined(BOOST_PP_IS_ITERATING)
+#ifndef BOOST_FUSION_FUNCTIONAL_INVOCATION_INVOKE_HPP
+#define BOOST_FUSION_FUNCTIONAL_INVOCATION_INVOKE_HPP
#include <boost/preprocessor/cat.hpp>
#include <boost/preprocessor/iteration/iterate.hpp>
@@ -303,4 +303,3 @@
#undef N
#endif // defined(BOOST_PP_IS_ITERATING)
#endif
-
Modified: sandbox/SOC/2009/fusion/boost/fusion/functional/invocation/invoke_function_object.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/functional/invocation/invoke_function_object.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/functional/invocation/invoke_function_object.hpp 2009-07-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -7,8 +7,8 @@
http://www.boost.org/LICENSE_1_0.txt).
==============================================================================*/
-#if !defined(BOOST_FUSION_FUNCTIONAL_INVOCATION_INVOKE_FUNCTION_OBJECT_HPP_INCLUDED)
-#if !defined(BOOST_PP_IS_ITERATING)
+#ifndef BOOST_FUSION_FUNCTIONAL_INVOCATION_INVOKE_FUNCTION_OBJECT_HPP
+#define BOOST_FUSION_FUNCTIONAL_INVOCATION_INVOKE_FUNCTION_OBJECT_HPP
#include <boost/preprocessor/cat.hpp>
#include <boost/preprocessor/iteration/iterate.hpp>
@@ -174,4 +174,3 @@
#undef N
#endif // defined(BOOST_PP_IS_ITERATING)
#endif
-
Modified: sandbox/SOC/2009/fusion/boost/fusion/functional/invocation/invoke_procedure.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/functional/invocation/invoke_procedure.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/functional/invocation/invoke_procedure.hpp 2009-07-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -7,8 +7,8 @@
http://www.boost.org/LICENSE_1_0.txt).
==============================================================================*/
-#if !defined(BOOST_FUSION_FUNCTIONAL_INVOCATION_INVOKE_PROCEDURE_HPP_INCLUDED)
-#if !defined(BOOST_PP_IS_ITERATING)
+#ifndef BOOST_FUSION_FUNCTIONAL_INVOCATION_INVOKE_PROCEDURE_HPP
+#define BOOST_FUSION_FUNCTIONAL_INVOCATION_INVOKE_PROCEDURE_HPP
#include <boost/preprocessor/cat.hpp>
#include <boost/preprocessor/iteration/iterate.hpp>
@@ -168,4 +168,3 @@
#undef N
#endif // defined(BOOST_PP_IS_ITERATING)
#endif
-
Modified: sandbox/SOC/2009/fusion/boost/fusion/functional/invocation/limits.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/functional/invocation/limits.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/functional/invocation/limits.hpp 2009-07-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -6,8 +6,8 @@
http://www.boost.org/LICENSE_1_0.txt).
==============================================================================*/
-#if !defined(BOOST_FUSION_FUNCTIONAL_INVOCATION_LIMITS_HPP_INCLUDED)
-# define BOOST_FUSION_FUNCTIONAL_INVOCATION_LIMITS_HPP_INCLUDED
+#ifndef BOOST_FUSION_FUNCTIONAL_INVOCATION_LIMITS_HPP
+#define BOOST_FUSION_FUNCTIONAL_INVOCATION_LIMITS_HPP
# if !defined(BOOST_FUSION_INVOKE_MAX_ARITY)
# define BOOST_FUSION_INVOKE_MAX_ARITY 6
@@ -20,4 +20,3 @@
# endif
#endif
-
Modified: sandbox/SOC/2009/fusion/boost/fusion/iterator/equal_to.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/iterator/equal_to.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/iterator/equal_to.hpp 2009-07-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -22,18 +22,10 @@
namespace extension
{
+ //TODO: doc no default any more!
+
template <typename Tag>
- struct equal_to_impl
- {
- // default implementation
- template <typename It1Ref, typename It2Ref>
- struct apply
- : is_same<
- typename detail::identity<It1Ref>::type
- , typename detail::identity<It2Ref>::type
- >
- {};
- };
+ struct equal_to_impl;
template <>
struct equal_to_impl<iterator_facade_tag>
Modified: sandbox/SOC/2009/fusion/boost/fusion/mpl/detail/at.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/mpl/detail/at.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/mpl/detail/at.hpp 2009-07-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -5,8 +5,8 @@
file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
==============================================================================*/
-#ifndef BOOST_FUSION_MPL_AT_HPP
-#define BOOST_FUSION_MPL_AT_HPP
+#ifndef BOOST_FUSION_MPL_DETAIL_AT_HPP
+#define BOOST_FUSION_MPL_DETAIL_AT_HPP
#include <boost/mpl/at.hpp>
#include <boost/fusion/sequence/intrinsic/value_at.hpp>
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-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -62,5 +62,3 @@
}}
#endif
-
-
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-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -8,37 +8,37 @@
#ifndef BOOST_FUSION_SEQUENCE_COMPARISON_DETAIL_ENABLE_COMPARISON_HPP
#define BOOST_FUSION_SEQUENCE_COMPARISON_DETAIL_ENABLE_COMPARISON_HPP
+#include <boost/fusion/support/is_sequence.hpp>
+#include <boost/fusion/sequence/intrinsic/size.hpp>
+
#include <boost/mpl/or.hpp>
#include <boost/mpl/and.hpp>
-#include <boost/mpl/not.hpp>
#include <boost/mpl/equal_to.hpp>
-#include <boost/fusion/support/is_sequence.hpp>
-#include <boost/fusion/sequence/intrinsic/size.hpp>
-#include <boost/fusion/support/detail/is_mpl_sequence.hpp>
+#include <boost/type_traits/is_base_of.hpp>
namespace boost { namespace fusion { namespace detail
{
- template <typename Seq>
+ template <typename SeqRef>
struct is_native_fusion_sequence
- : is_base_of<sequence_root, Seq>
+ : is_base_of<sequence_root, typename detail::identity<SeqRef>::type>
{};
- template <typename Seq1, typename Seq2>
+ template <typename Seq1Ref, typename Seq2Ref>
struct enable_equality
: mpl::or_<
- is_native_fusion_sequence<Seq1>
- , is_native_fusion_sequence<Seq2>
+ is_native_fusion_sequence<Seq1Ref>
+ , is_native_fusion_sequence<Seq2Ref>
>
{};
- template <typename Seq1, typename Seq2>
+ template <typename Seq1Ref, typename Seq2Ref>
struct enable_comparison
: mpl::and_<
mpl::or_<
- is_native_fusion_sequence<Seq1>
- , is_native_fusion_sequence<Seq2>
+ is_native_fusion_sequence<Seq1Ref>
+ , is_native_fusion_sequence<Seq2Ref>
>
- , mpl::equal_to<result_of::size<Seq1>, result_of::size<Seq2> >
+ , mpl::equal_to<result_of::size<Seq1Ref>, result_of::size<Seq2Ref> >
>
{};
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-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -17,11 +17,11 @@
namespace boost { namespace fusion { namespace detail
{
- template <typename Seq1, typename Seq2, bool same_size>
+ template <typename Seq1Ref, typename Seq2Ref, bool same_size>
struct sequence_equal_to
{
- typedef typename result_of::end<Seq1>::type end1_type;
- typedef typename result_of::end<Seq2>::type end2_type;
+ typedef typename result_of::end<Seq1Ref>::type end1_type;
+ typedef typename result_of::end<Seq2Ref>::type end2_type;
template <typename It1, typename It2>
static bool
@@ -32,27 +32,28 @@
template <typename It1, typename It2>
static bool
- call(It1 const& a, It2 const& b, mpl::false_)
+ call(It1 const& it1, It2 const& it2, mpl::false_)
{
- return fusion::deref(a) == fusion::deref(b)
- && call(fusion::next(a), fusion::next(b));
+ return fusion::deref(it1) == fusion::deref(it2)&&
+ call(fusion::next(it1), fusion::next(it2));
}
template <typename It1, typename It2>
static bool
- call(It1 const& a, It2 const& b)
+ call(It1 const& it1, It2 const& it2)
{
- typename result_of::equal_to<It1, end1_type>::type eq;
- return call(a, b, eq);
+ return call(it1,
+ it2,
+ typename result_of::equal_to<It1, end1_type>::type());
}
};
- template <typename Seq1, typename Seq2>
- struct sequence_equal_to<Seq1, Seq2, false>
+ template <typename Seq1Ref, typename Seq2Ref>
+ struct sequence_equal_to<Seq1Ref, Seq2Ref, false>
{
template <typename It1, typename It2>
static bool
- call(It1 const& a, It2 const& b)
+ call(It1 const&, It2 const&)
{
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-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -31,19 +31,21 @@
template <typename It1, typename I2>
static bool
- call(It1 const& a, It2 const& b, mpl::false_)
+ call(It1 const& it1, It2 const& it2, mpl::false_)
{
- return fusion::deref(a) > fusion::deref(b)
- || !(fusion::deref(b) > fusion::deref(a))
- && call(fusion::next(a), fusion::next(b));
+ return fusion::deref(it1) > fusion::deref(it2)||
+ (!(fusion::deref(it2) > fusion::deref(it)) &&
+ call(fusion::next(it1), fusion::next(it2)));
}
template <typename It1, typename It2>
static bool
- call(It1 const& a, It2 const& b)
+ call(It1 const& it1, It2 const& it2)
{
- typename result_of::equal_to<It1, end1_type>::type eq;
- return call(a, b, eq);
+ return call(
+ it1,
+ it2,
+ typename result_of::equal_to<It1, end1_type>::type());
}
};
}}}
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-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -16,11 +16,11 @@
namespace boost { namespace fusion { namespace detail
{
- template <typename Seq1, typename Seq2>
+ template <typename Seq1Ref, typename Seq2Ref>
struct sequence_greater_equal
{
- typedef typename result_of::end<Seq1>::type end1_type;
- typedef typename result_of::end<Seq2>::type end2_type;
+ typedef typename result_of::end<Seq1Ref>::type end1_type;
+ typedef typename result_of::end<Seq2Ref>::type end2_type;
template <typename It1, typename It2>
static bool
@@ -31,18 +31,21 @@
template <typename It1, typename It2>
static bool
- call(It1 const& a, It2 const& b, mpl::false_)
+ call(It1 const& it1, It2 const& it1, mpl::false_)
{
- return fusion::deref(a) >= fusion::deref(b)
- && (!(*b >= *a) || call(fusion::next(a), fusion::next(b)));
+ return fusion::deref(it1) >= fusion::deref(it2) ||
+ (!(*fusion::deref(it2) >= *fusion::deref(it1)) &&
+ call(fusion::next(a), fusion::next(b)));
}
template <typename It1, typename It2>
static bool
- call(It1 const& a, It2 const& b)
+ call(It1 const& it1, It2 const& it2)
{
- typename result_of::equal_to<It1, end1_type>::type eq;
- return call(a, b, eq);
+ return call(
+ it1,
+ it2,
+ typename result_of::equal_to<It1, end1_type>::type());
}
};
}}}
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-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -31,19 +31,21 @@
template <typename It1, typename I2>
static bool
- call(It1 const& a, I2 const& b, mpl::false_)
+ call(It1 const& it1, I2 const& it2, mpl::false_)
{
- return fusion::deref(a) < fusion::deref(b)
- || (!(fusion::deref(b) < fusion::deref(a))
- && call(fusion::next(a), fusion::next(b)));
+ return fusion::deref(it1) < fusion::deref(it2) ||
+ (!(fusion::deref(it2) < fusion::deref(it1)) &&
+ call(fusion::next(it1), fusion::next(it2)));
}
template <typename It1, typename It2>
static bool
- call(It1 const& a, It2 const& b)
+ call(It1 const& it1, It2 const& it2)
{
- typename result_of::equal_to<It1, end1_type>::type eq;
- return call(a, b, eq);
+ return call(
+ it1,
+ it2,
+ typename result_of::equal_to<It1, end1_type>::type());
}
};
}}}
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-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -31,19 +31,21 @@
template <typename It1, typename It2>
static bool
- call(It1 const& a, It2 const& b, mpl::false_)
+ call(It1 const& it1, It2 const& it2, mpl::false_)
{
- return fusion::deref(a) <= fusion::deref(b)
- && (!(fusion::deref(b) <= fusion::deref(a))
- || call(fusion::next(a), fusion::next(b)));
+ return fusion::deref(it1) <= fusion::deref(it2) ||
+ (!(fusion::deref(it2) <= fusion::deref(it1)) &&
+ call(fusion::next(it1), fusion::next(it2)));
}
template <typename It1, typename It2>
static bool
- call(It1 const& a, It2 const& b)
+ call(It1 const& it1, It2 const& it2)
{
- typename result_of::equal_to<It1, end1_type>::type eq;
- return call(a, b, eq);
+ return call(
+ it1,
+ it2,
+ typename result_of::equal_to<It1, end1_type>::type());
}
};
}}}
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-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -16,11 +16,11 @@
namespace boost { namespace fusion { namespace detail
{
- template <typename Seq1, typename Seq2, bool same_size>
+ template <typename Seq1Ref, typename Seq2Ref, bool same_size>
struct sequence_not_equal_to
{
- typedef typename result_of::end<Seq1>::type end1_type;
- typedef typename result_of::end<Seq2>::type end2_type;
+ typedef typename result_of::end<Seq1Ref>::type end1_type;
+ typedef typename result_of::end<Seq2Ref>::type end2_type;
template <typename It1, typename It2>
static bool
@@ -31,27 +31,29 @@
template <typename It1, typename It2>
static bool
- call(It1 const& a, It2 const& b, mpl::false_)
+ call(It1 const& it1, It2 const& it2, mpl::false_)
{
- return fusion::deref(a) != fusion::deref(b)
- || call(fusion::next(a), fusion::next(b));
+ return fusion::deref(it1) != fusion::deref(it2) ||
+ call(fusion::next(it1), fusion::next(it2));
}
template <typename It1, typename It2>
static bool
- call(It1 const& a, It2 const& b)
+ call(It1 const& it1, It2 const& it2)
{
- typename result_of::equal_to<It1, end1_type>::type eq;
- return call(a, b, eq);
+ return call(
+ it1,
+ it2,
+ typename result_of::equal_to<It1, end1_type>::type());
}
};
- template <typename Seq1, typename Seq2>
- struct sequence_not_equal_to<Seq1, Seq2, false>
+ template <typename Seq1Ref, typename Seq2Ref>
+ struct sequence_not_equal_to<Seq1Ref, Seq2Ref, false>
{
template <typename It1, typename It2>
static bool
- call(It1 const& a, It2 const& b)
+ call(It1 const&, It2 const&)
{
return true;
}
Modified: sandbox/SOC/2009/fusion/boost/fusion/sequence/comparison/equal_to.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/sequence/comparison/equal_to.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/sequence/comparison/equal_to.hpp 2009-07-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -19,12 +19,15 @@
{
template <typename Seq1, typename Seq2>
inline bool
- equal_to(Seq1 const& a, Seq2 const& b)
+ equal_to(Seq1 const& seq1, Seq2 const& seq2)
{
- return result_of::size<Seq1>::value == result_of::size<Seq2>::value
- && detail::sequence_equal_to<Seq1 const, Seq2 const
- , result_of::size<Seq1>::value == result_of::size<Seq2>::value>::
- call(fusion::begin(a), fusion::begin(b));
+ return
+ detail::sequence_equal_to<
+ Seq1 const&
+ , Seq2 const&
+ , result_of::size<Seq1 const&>::value==
+ result_of::size<Seq2 const&>::value
+ >::call(fusion::begin(seq1), fusion::begin(seq2));
}
namespace operators
@@ -32,12 +35,12 @@
template <typename Seq1, typename Seq2>
inline typename
enable_if<
- detail::enable_equality<Seq1, Seq2>
+ detail::enable_equality<Seq1 const&, Seq2 const&>
, bool
>::type
- operator==(Seq1 const& a, Seq2 const& b)
+ operator==(Seq1 const& seq1, Seq2 const& seq2)
{
- return fusion::equal_to(a, b);
+ return fusion::equal_to(seq1, seq2);
}
}
using operators::operator==;
Modified: sandbox/SOC/2009/fusion/boost/fusion/sequence/comparison/greater.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/sequence/comparison/greater.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/sequence/comparison/greater.hpp 2009-07-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -11,10 +11,9 @@
#include <boost/fusion/sequence/intrinsic/begin.hpp>
#include <boost/fusion/sequence/intrinsic/end.hpp>
-#include <boost/fusion/sequence/intrinsic/size.hpp>
-#include <boost/fusion/sequence/comparison/detail/enable_comparison.hpp>
-#if defined(FUSION_DIRECT_OPERATOR_USAGE)
+#include <boost/fusion/sequence/comparison/detail/enable_comparison.hpp>
+#ifdef FUSION_DIRECT_OPERATOR_USAGE
#include <boost/fusion/sequence/comparison/detail/greater.hpp>
#else
#include <boost/fusion/sequence/comparison/less.hpp>
@@ -24,13 +23,16 @@
{
template <typename Seq1, typename Seq2>
inline bool
- greater(Seq1 const& a, Seq2 const& b)
+ greater(Seq1 const& seq1, Seq2 const& seq2)
{
-#if defined(FUSION_DIRECT_OPERATOR_USAGE)
- return detail::sequence_greater<Seq1 const, Seq2 const>::
- call(fusion::begin(a), fusion::begin(b));
+#ifdef FUSION_DIRECT_OPERATOR_USAGE
+ return
+ detail::sequence_greater<
+ Seq1 const&
+ , Seq2 const&
+ >::call(fusion::begin(seq1), fusion::begin(seq2));
#else
- return (b < a);
+ return seq2 < seq1;
#endif
}
@@ -39,12 +41,12 @@
template <typename Seq1, typename Seq2>
inline typename
enable_if<
- detail::enable_comparison<Seq1, Seq2>
+ detail::enable_comparison<Seq1 const&, Seq2 const&>
, bool
>::type
- operator>(Seq1 const& a, Seq2 const& b)
+ operator>(Seq1 const& seq1, Seq2 const& seq2)
{
- return fusion::greater(a, b);
+ return fusion::greater(seq1, seq2);
}
}
using operators::operator>;
Modified: sandbox/SOC/2009/fusion/boost/fusion/sequence/comparison/greater_equal.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/sequence/comparison/greater_equal.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/sequence/comparison/greater_equal.hpp 2009-07-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -11,10 +11,9 @@
#include <boost/fusion/sequence/intrinsic/begin.hpp>
#include <boost/fusion/sequence/intrinsic/end.hpp>
-#include <boost/fusion/sequence/intrinsic/size.hpp>
-#include <boost/fusion/sequence/comparison/detail/enable_comparison.hpp>
-#if defined(FUSION_DIRECT_OPERATOR_USAGE)
+#include <boost/fusion/sequence/comparison/detail/enable_comparison.hpp>
+#ifdef FUSION_DIRECT_OPERATOR_USAGE
#include <boost/fusion/sequence/comparison/detail/greater_equal.hpp>
#else
#include <boost/fusion/sequence/comparison/less.hpp>
@@ -24,13 +23,16 @@
{
template <typename Seq1, typename Seq2>
inline bool
- greater_equal(Seq1 const& a, Seq2 const& b)
+ greater_equal(Seq1 const& seq1, Seq2 const& seq2)
{
-#if defined(FUSION_DIRECT_OPERATOR_USAGE)
- return detail::sequence_greater_equal<Seq1 const, Seq2 const>::
- call(fusion::begin(a), fusion::begin(b));
+#ifdef FUSION_DIRECT_OPERATOR_USAGE
+ return
+ detail::sequence_greater_equal<
+ Seq1 const&
+ , Seq2 const&
+ >::call(fusion::begin(seq1), fusion::begin(seq2));
#else
- return !(a < b);
+ return !(seq1 < seq2);
#endif
}
@@ -39,12 +41,12 @@
template <typename Seq1, typename Seq2>
inline typename
enable_if<
- detail::enable_comparison<Seq1, Seq2>
+ detail::enable_comparison<Seq1 const&, Seq2 const&>
, bool
>::type
- operator>=(Seq1 const& a, Seq2 const& b)
+ operator>=(Seq1 const& seq1, Seq2 const& seq2)
{
- return fusion::greater_equal(a, b);
+ return fusion::greater_equal(seq1, seq2);
}
}
using operators::operator>=;
Modified: sandbox/SOC/2009/fusion/boost/fusion/sequence/comparison/less.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/sequence/comparison/less.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/sequence/comparison/less.hpp 2009-07-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -11,7 +11,7 @@
#include <boost/fusion/sequence/intrinsic/begin.hpp>
#include <boost/fusion/sequence/intrinsic/end.hpp>
-#include <boost/fusion/sequence/intrinsic/size.hpp>
+
#include <boost/fusion/sequence/comparison/detail/less.hpp>
#include <boost/fusion/sequence/comparison/detail/enable_comparison.hpp>
@@ -19,10 +19,13 @@
{
template <typename Seq1, typename Seq2>
inline bool
- less(Seq1 const& a, Seq2 const& b)
+ less(Seq1 const& seq1, Seq2 const& seq2)
{
- return detail::sequence_less<Seq1 const, Seq2 const>::
- call(fusion::begin(a), fusion::begin(b));
+ return
+ detail::sequence_less<
+ Seq1 const&
+ , Seq2 const&
+ >::call(fusion::begin(seq1), fusion::begin(seq2));
}
namespace operators
@@ -30,12 +33,12 @@
template <typename Seq1, typename Seq2>
inline typename
enable_if<
- detail::enable_comparison<Seq1, Seq2>
+ detail::enable_equality<Seq1 const&, Seq2 const&>
, bool
>::type
- operator<(Seq1 const& a, Seq2 const& b)
+ operator<(Seq1 const& seq1, Seq2 const& seq2)
{
- return fusion::less(a, b);
+ return fusion::less(seq1, seq2);
}
}
using operators::operator<;
Modified: sandbox/SOC/2009/fusion/boost/fusion/sequence/comparison/less_equal.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/sequence/comparison/less_equal.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/sequence/comparison/less_equal.hpp 2009-07-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -11,10 +11,9 @@
#include <boost/fusion/sequence/intrinsic/begin.hpp>
#include <boost/fusion/sequence/intrinsic/end.hpp>
-#include <boost/fusion/sequence/intrinsic/size.hpp>
-#include <boost/fusion/sequence/comparison/detail/enable_comparison.hpp>
-#if defined(FUSION_DIRECT_OPERATOR_USAGE)
+#include <boost/fusion/sequence/comparison/detail/enable_comparison.hpp>
+#ifdef FUSION_DIRECT_OPERATOR_USAGE
#include <boost/fusion/sequence/comparison/detail/less_equal.hpp>
#else
#include <boost/fusion/sequence/comparison/less.hpp>
@@ -24,13 +23,19 @@
{
template <typename Seq1, typename Seq2>
inline bool
- less_equal(Seq1 const& a, Seq2 const& b)
+ less_equal(Seq1 const& seq1, Seq2 const& seq2)
{
-#if defined(FUSION_DIRECT_OPERATOR_USAGE)
- return detail::sequence_less_equal<Seq1 const, Seq2 const>::
- call(fusion::begin(a), fusion::begin(b));
+ //TODO TEST!
+#ifdef FUSION_DIRECT_OPERATOR_USAGE
+ return
+ detail::sequence_less_equal<
+ Seq1 const&
+ , Seq2 const&
+ , result_of::size<Seq1 const&>::value==
+ result_of::size<Seq2 const&>::value
+ >::call(fusion::begin(seq1), fusion::begin(seq2));
#else
- return !(b < a);
+ return !(seq2 < seq1);
#endif
}
@@ -40,23 +45,23 @@
// Workaround for VC8.0 and VC7.1
template <typename Seq1, typename Seq2>
inline bool
- operator<=(sequence_base<Seq1> const& a, sequence_base<Seq2> const& b)
+ operator<=(sequence_base<Seq1> const& seq1, sequence_base<Seq2 const&> const& seq2)
{
- return less_equal(a.derived(), b.derived());
+ return less_equal(seq1.derived(), seq2.derived());
}
template <typename Seq1, typename Seq2>
- inline typename disable_if<detail::is_native_fusion_sequence<Seq2>, bool>::type
- operator<=(sequence_base<Seq1> const& a, Seq2 const& b)
+ inline typename disable_if<detail::is_native_fusion_sequence<Seq2 const&>, bool>::type
+ operator<=(sequence_base<Seq1> const& seq1, Seq2 const& seq2)
{
- return less_equal(a.derived(), b);
+ return less_equal(seq1.derived(), seq2);
}
template <typename Seq1, typename Seq2>
- inline typename disable_if<detail::is_native_fusion_sequence<Seq1>, bool>::type
- operator<=(Seq1 const& a, sequence_base<Seq2> const& b)
+ inline typename disable_if<detail::is_native_fusion_sequence<Seq1 const&>, bool>::type
+ operator<=(Seq1 const& seq1, sequence_base<Seq2> const& b)
{
- return less_equal(a, b.derived());
+ return less_equal(seq1, seq2.derived());
}
#else
@@ -66,12 +71,12 @@
template <typename Seq1, typename Seq2>
inline typename
enable_if<
- detail::enable_comparison<Seq1, Seq2>
+ detail::enable_comparison<Seq1 const&, Seq2 const&>
, bool
>::type
- operator<=(Seq1 const& a, Seq2 const& b)
+ operator<=(Seq1 const& seq1, Seq2 const& seq2)
{
- return fusion::less_equal(a, b);
+ return fusion::less_equal(seq1, seq2);
}
#endif
}
Modified: sandbox/SOC/2009/fusion/boost/fusion/sequence/comparison/not_equal_to.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/sequence/comparison/not_equal_to.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/sequence/comparison/not_equal_to.hpp 2009-07-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -11,10 +11,9 @@
#include <boost/fusion/sequence/intrinsic/begin.hpp>
#include <boost/fusion/sequence/intrinsic/end.hpp>
-#include <boost/fusion/sequence/intrinsic/size.hpp>
-#include <boost/fusion/sequence/comparison/detail/enable_comparison.hpp>
-#if defined(FUSION_DIRECT_OPERATOR_USAGE)
+#include <boost/fusion/sequence/comparison/detail/enable_comparison.hpp>
+#ifdef FUSION_DIRECT_OPERATOR_USAGE
#include <boost/fusion/sequence/comparison/detail/not_equal_to.hpp>
#else
#include <boost/fusion/sequence/comparison/equal_to.hpp>
@@ -24,16 +23,18 @@
{
template <typename Seq1, typename Seq2>
inline bool
- not_equal_to(Seq1 const& a, Seq2 const& b)
+ not_equal_to(Seq1 const& seq1, Seq2 const& seq2)
{
-#if defined(FUSION_DIRECT_OPERATOR_USAGE)
- return result_of::size<Seq1>::value != result_of::size<Seq2>::value
- || detail::sequence_not_equal_to<
- Seq1 const, Seq2 const
- , result_of::size<Seq1>::value == result_of::size<Seq2>::value>::
- call(fusion::begin(a), fusion::begin(b));
+#ifdef FUSION_DIRECT_OPERATOR_USAGE
+ return
+ detail::sequence_not_equal_to<
+ Seq1 const&
+ , Seq2 const&
+ , result_of::size<Seq1 const&>::value==
+ result_of::size<Seq2 const&>::value
+ >::call(fusion::begin(seq1), fusion::begin(seq2));
#else
- return !(a == b);
+ return !(seq1 == seq2);
#endif
}
@@ -42,12 +43,12 @@
template <typename Seq1, typename Seq2>
inline typename
enable_if<
- detail::enable_equality<Seq1, Seq2>
+ detail::enable_equality<Seq1 const&, Seq2 const&>
, bool
>::type
- operator!=(Seq1 const& a, Seq2 const& b)
+ operator!=(Seq1 const& seq1, Seq2 const& seq2)
{
- return fusion::not_equal_to(a, b);
+ return fusion::not_equal_to(seq1, seq2);
}
}
using operators::operator!=;
Modified: sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/value_at_c.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/value_at_c.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/value_at_c.hpp 2009-07-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -3,10 +3,9 @@
// (See accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt)
-#ifndef BOOST_FUSION_SEQUENCE_VALUE_AT_C_HPP
-#define BOOST_FUSION_SEQUENCE_VALUE_AT_C_HPP
+#ifndef BOOST_FUSION_SEQUENCE_INTRINSIC_VALUE_AT_C_HPP
+#define BOOST_FUSION_SEQUENCE_INTRINSIC_VALUE_AT_C_HPP
#include <boost/fusion/sequence/intrinsic/value_at.hpp>
#endif
-
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-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -56,23 +56,29 @@
static void
call(IS& is, First const& first, Last const& last, mpl::false_)
{
- result_of::equal_to<
- typename result_of::next<First>::type
- , Last
- >
+ typedef typename
+ result_of::equal_to<
+ typename result_of::next<First>::type
+ , Last
+ >::type
is_last;
is >> fusion::deref(first);
- delimiter_in<tuple_delimiter_tag>::read(is, " ", is_last);
- call(is, fusion::next(first), last, is_last);
+ delimiter_in<tuple_delimiter_tag>::read(is, " ", is_last());
+ call(is, fusion::next(first), last, is_last());
}
template <typename IS, typename First, typename Last>
static void
call(IS& is, First const& first, Last const& last)
{
- result_of::equal_to<First, Last> eq;
- call(is, first, last, eq);
+ call(is,
+ first,
+ last,
+ typename result_of::equal_to<
+ First const&
+ , Last const&
+ >::type());
}
};
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-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -69,8 +69,13 @@
static void
call(OS& os, First const& first, Last const& last)
{
- result_of::equal_to<First, Last> eq;
- call(os, first, last, eq);
+ call(os,
+ first,
+ last,
+ typename result_of::equal_to<
+ First const&
+ , Last const&
+ >::type());
}
};
Modified: sandbox/SOC/2009/fusion/boost/fusion/support/detail/as_fusion_element.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/support/detail/as_fusion_element.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/support/detail/as_fusion_element.hpp 2009-07-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -26,13 +26,13 @@
typedef T type;
};
-#define CV_REF_SPECIALISATION(COMBINATION)\
+#define CV_REF_SPECIALISATION(COMBINATION,_)\
template <typename T>\
struct as_fusion_element<T COMBINATION>\
: as_fusion_element<T>\
{};
- BOOST_FUSION_ALL_CV_REF_COMBINATIONS(CV_REF_SPECIALISATION)
+ BOOST_FUSION_ALL_CV_REF_COMBINATIONS(CV_REF_SPECIALISATION,_)
#undef CV_REF_SPECIALISATION
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-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -3,8 +3,8 @@
// (See accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt)
-#ifndef BOOST_FUSION_SUPPORT_ITERATOR_ADVANCE_IMPL_HPP
-#define BOOST_FUSION_SUPPORT_ITERATOR_ADVANCE_IMPL_HPP
+#ifndef BOOST_FUSION_SUPPORT_DETAIL_ITERATOR_ADAPTER_ADVANCE_IMPL_HPP
+#define BOOST_FUSION_SUPPORT_DETAIL_ITERATOR_ADAPTER_ADVANCE_IMPL_HPP
#include <boost/fusion/iterator/advance.hpp>
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-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -3,8 +3,8 @@
// (See accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt)
-#ifndef BOOST_FUSION_SUPPORT_ITERATOR_ADAPTER_DEREF_IMPL_HPP
-#define BOOST_FUSION_SUPPORT_ITERATOR_ADAPTER_DEREF_IMPL_HPP
+#ifndef BOOST_FUSION_SUPPORT_DETAIL_ITERATOR_ADAPTER_DEREF_IMPL_HPP
+#define BOOST_FUSION_SUPPORT_DETAIL_ITERATOR_ADAPTER_DEREF_IMPL_HPP
#include <boost/fusion/iterator/deref.hpp>
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-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -3,8 +3,8 @@
// (See accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt)
-#ifndef BOOST_FUSION_SUPPORT_ITERATOR_ADAPTER_DISTANCE_IMPL_HPP
-#define BOOST_FUSION_SUPPORT_ITERATOR_ADAPTER_DISTANCE_IMPL_HPP
+#ifndef BOOST_FUSION_SUPPORT_DETAIL_ITERATOR_ADAPTER_DISTANCE_IMPL_HPP
+#define BOOST_FUSION_SUPPORT_DETAIL_ITERATOR_ADAPTER_DISTANCE_IMPL_HPP
#include <boost/fusion/iterator/distance.hpp>
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-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -3,8 +3,8 @@
// (See accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt)
-#ifndef BOOST_FUSION_SUPPORT_ITERATOR_ADAPTER_EQUAL_TO_IMPL_HPP
-#define BOOST_FUSION_SUPPORT_ITERATOR_ADAPTER_EQUAL_TO_IMPL_HPP
+#ifndef BOOST_FUSION_SUPPORT_DETAIL_ITERATOR_ADAPTER_EQUAL_TO_IMPL_HPP
+#define BOOST_FUSION_SUPPORT_DETAIL_ITERATOR_ADAPTER_EQUAL_TO_IMPL_HPP
#include <boost/fusion/iterator/equal_to.hpp>
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-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -3,8 +3,8 @@
// (See accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt)
-#ifndef BOOST_FUSION_SUPPORT_ITERATOR_ADAPTER_NEXT_IMPL_HPP
-#define BOOST_FUSION_SUPPORT_ITERATOR_ADAPTER_NEXT_IMPL_HPP
+#ifndef BOOST_FUSION_SUPPORT_DETAIL_ITERATOR_ADAPTER_NEXT_IMPL_HPP
+#define BOOST_FUSION_SUPPORT_DETAIL_ITERATOR_ADAPTER_NEXT_IMPL_HPP
#include <boost/fusion/iterator/next.hpp>
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-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -3,8 +3,8 @@
// (See accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt)
-#ifndef BOOST_FUSION_SUPPORT_ITERATOR_ADAPTER_PRIOR_IMPL_HPP
-#define BOOST_FUSION_SUPPORT_ITERATOR_ADAPTER_PRIOR_IMPL_HPP
+#ifndef BOOST_FUSION_SUPPORT_DETAIL_ITERATOR_ADAPTER_PRIOR_IMPL_HPP
+#define BOOST_FUSION_SUPPORT_DETAIL_ITERATOR_ADAPTER_PRIOR_IMPL_HPP
#include <boost/fusion/iterator/prior.hpp>
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-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -3,8 +3,8 @@
// (See accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt)
-#ifndef BOOST_FUSION_SUPPORT_ITERATOR_ADAPTER_VALUE_OF_IMPL_HPP
-#define BOOST_FUSION_SUPPORT_ITERATOR_ADAPTER_VALUE_OF_IMPL_HPP
+#ifndef BOOST_FUSION_SUPPORT_DETAIL_ITERATOR_ADAPTER_VALUE_OF_IMPL_HPP
+#define BOOST_FUSION_SUPPORT_DETAIL_ITERATOR_ADAPTER_VALUE_OF_IMPL_HPP
#include <boost/fusion/iterator/value_of.hpp>
Modified: sandbox/SOC/2009/fusion/boost/fusion/support/detail/pp/void.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/support/detail/pp/void.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/support/detail/pp/void.hpp 2009-07-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -5,8 +5,8 @@
file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
==============================================================================*/
-#ifndef BOOST_FUSION_SUPPORT_VOID_HPP
-#define BOOST_FUSION_SUPPORT_VOID_HPP
+#ifndef BOOST_FUSION_SUPPORT_DETAIL_PP_VOID_HPP
+#define BOOST_FUSION_SUPPORT_DETAIL_PP_VOID_HPP
namespace boost { namespace fusion
{
Modified: sandbox/SOC/2009/fusion/boost/fusion/support/iterator_adapter.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/support/iterator_adapter.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/support/iterator_adapter.hpp 2009-07-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -3,8 +3,8 @@
// (See accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt)
-#ifndef BOOST_FUSION_ITERATOR_ADAPTER_HPP
-#define BOOST_FUSION_ITERATOR_ADAPTER_HPP
+#ifndef BOOST_FUSION_SUPPORT_ITERATOR_ADAPTER_HPP
+#define BOOST_FUSION_SUPPORT_ITERATOR_ADAPTER_HPP
#include <boost/fusion/support/ref.hpp>
#include <boost/fusion/support/iterator_base.hpp>
@@ -31,7 +31,7 @@
template<typename OtherIt>
iterator_adapter(BOOST_FUSION_R_ELSE_CLREF(OtherIt) it)
- : it(it.it)
+ : it(BOOST_FUSION_FORWARD(OtherIt,it).it)
{}
iterator_adapter(It const& it, int)
@@ -42,7 +42,7 @@
iterator_adapter&
operator=(BOOST_FUSION_R_ELSE_CLREF(OtherIt) other_it)
{
- it=other_it.it;
+ it=BOOST_FUSION_FORWARD(OtherIt,other_it).it;
return *this;
}
Modified: sandbox/SOC/2009/fusion/boost/fusion/support/ref.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/support/ref.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/support/ref.hpp 2009-07-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -38,11 +38,11 @@
# define BOOST_FUSION_FORWARD(TYPE,ARGUMENT) ARGUMENT
-# define BOOST_FUSION_ALL_CV_REF_COMBINATIONS(MACRO)\
- MACRO(&)\
- MACRO(const &)\
- MACRO(volatile&)\
- MACRO(const volatile&)
+# define BOOST_FUSION_ALL_CV_REF_COMBINATIONS(MACRO,ARG)\
+ MACRO(&,ARG)\
+ MACRO(const&,ARG)\
+ MACRO(volatile&,ARG)\
+ MACRO(const volatile&,ARG)
#else
# include <utility>
@@ -57,15 +57,15 @@
//cschmidt: This macro could be workaround with a single function using
//enable if and is_convertible. This is a lot slower than five overloads/
//specialisations though.
-# define BOOST_FUSION_ALL_CV_REF_COMBINATIONS(MACRO)\
- MACRO(&)\
- MACRO(const&)\
- MACRO(volatile&)\
- MACRO(const volatile&)\
- MACRO(&&)\
- MACRO(const&&)\
- MACRO(volatile&&)\
- MACRO(const volatile&&)
+# define BOOST_FUSION_ALL_CV_REF_COMBINATIONS(MACRO,ARG)\
+ MACRO(&,ARG)\
+ MACRO(const&,ARG)\
+ MACRO(volatile&,ARG)\
+ MACRO(const volatile&,ARG)\
+ MACRO(&&,ARG)\
+ MACRO(const&&,ARG)\
+ MACRO(volatile&&,ARG)\
+ MACRO(const volatile&&,ARG)
#endif
namespace boost { namespace fusion { namespace detail
@@ -158,8 +158,8 @@
typedef typename boost::remove_cv<T>::type const& type;
};
+ //TODO cschmidt: volatile support
#ifdef BOOST_NO_RVALUE_REFERENCES
- //TODO cschmidt: !!!
template <typename,typename Type>
struct result_of_forward_as
{
Modified: sandbox/SOC/2009/fusion/boost/fusion/support/sequence_assign.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/support/sequence_assign.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/support/sequence_assign.hpp 2009-07-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -45,14 +45,14 @@
{
};
-# define IS_SEQUENCE_ASSIGN(COMBINATION)\
+# define IS_SEQUENCE_ASSIGN_SPECIALIZATION(COMBINATION,_)\
template<typename Seq>\
struct is_sequence_assign<detail::sequence_assign_type<Seq> COMBINATION>\
: mpl::true_\
{\
};
- BOOST_FUSION_ALL_CV_REF_COMBINATIONS(IS_SEQUENCE_ASSIGN);
+ BOOST_FUSION_ALL_CV_REF_COMBINATIONS(IS_SEQUENCE_ASSIGN_SPECIALIZATION,_);
# undef IS_SEQUENCE_ASSIGN
Modified: sandbox/SOC/2009/fusion/boost/fusion/support/template.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/support/template.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/support/template.hpp 2009-07-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -25,4 +25,3 @@
#endif
#endif
-
Modified: sandbox/SOC/2009/fusion/boost/fusion/support/to_random_access_mpl_seq.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/support/to_random_access_mpl_seq.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/support/to_random_access_mpl_seq.hpp 2009-07-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -3,8 +3,8 @@
// (See accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt)
-#ifndef BOOST_FUSION_SUPPORT_ASSERT222_HPP
-#define BOOST_FUSION_SUPPORT_ASSERT222_HPP
+#ifndef BOOST_FUSION_SUPPORT_TO_RANDOM_ACCESS_MPL_SEQ_HPP
+#define BOOST_FUSION_SUPPORT_TO_RANDOM_ACCESS_MPL_SEQ_HPP
#include <boost/fusion/mpl.hpp>
#include <boost/fusion/support/category_of.hpp>
Modified: sandbox/SOC/2009/fusion/boost/fusion/support/variadic_templates/variadic_arguments_to_vector.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/support/variadic_templates/variadic_arguments_to_vector.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/support/variadic_templates/variadic_arguments_to_vector.hpp 2009-07-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -3,8 +3,8 @@
// (See accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt)
-#ifndef BOOST_FUSION_SUPPORT_VARIADIC_ARGUMENTS_TO_VECTOR_HPP
-#define BOOST_FUSION_SUPPORT_VARIADIC_ARGUMENTS_TO_VECTOR_HPP
+#ifndef BOOST_FUSION_SUPPORT_VARIADIC_TEMPLATES_VARIADIC_ARGUMENTS_TO_VECTOR_HPP
+#define BOOST_FUSION_SUPPORT_VARIADIC_TEMPLATES_VARIADIC_ARGUMENTS_TO_VECTOR_HPP
//workaround to get variadic template arguments into fixed-length template
//argument list. We definitely need a boost config macro for this issue though.
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-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -3,8 +3,8 @@
// (See accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt)
-#ifndef BOOST_FUSION_SUPPORT_VARIADIC_QUOTE_HPP
-#define BOOST_FUSION_SUPPORT_VARIADIC_QUOTE_HPP
+#ifndef BOOST_FUSION_SUPPORT_VARIADIC_TEMPLATES_VARIADIC_QUOTE_HPP
+#define BOOST_FUSION_SUPPORT_VARIADIC_TEMPLATES_VARIADIC_QUOTE_HPP
//TODO cschmidt: Are there any compiler that support variadic templates but
//BOOST_MPL_CFG_NO_HAS_XXX ?!
Modified: sandbox/SOC/2009/fusion/boost/fusion/tuple.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/tuple.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/tuple.hpp 2009-07-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -9,9 +9,4 @@
#define BOOST_FUSION_TUPLE_HPP
#include <boost/fusion/tuple/tuple.hpp>
-#include <boost/fusion/tuple/make_tuple.hpp>
-#include <boost/fusion/tuple/tuple_tie.hpp>
-
-#include <boost/fusion/container/generation/detail/ignore.hpp>
-
#endif
Added: sandbox/SOC/2009/fusion/boost/fusion/tuple/detail/pp/make_tuple.hpp
==============================================================================
--- (empty file)
+++ sandbox/SOC/2009/fusion/boost/fusion/tuple/detail/pp/make_tuple.hpp 2009-07-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -0,0 +1,56 @@
+/*=============================================================================
+ 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_DETAIL_PP_MAKE_TUPLE_HPP
+#define BOOST_FUSION_TUPLE_DETAIL_PP_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)
Added: sandbox/SOC/2009/fusion/boost/fusion/tuple/detail/pp/tuple_expand.hpp
==============================================================================
--- (empty file)
+++ sandbox/SOC/2009/fusion/boost/fusion/tuple/detail/pp/tuple_expand.hpp 2009-07-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -0,0 +1,50 @@
+/*=============================================================================
+ 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_DETAIL_PP_TUPLE_EXPAND_HPP
+#define BOOST_FUSION_TUPLE_DETAIL_PP_TUPLE_EXPAND_HPP
+#define FUSION_TUPLE_EXPAND_10032005_0815
+
+#include <boost/preprocessor/iterate.hpp>
+#include <boost/preprocessor/repetition/enum_params.hpp>
+#include <boost/preprocessor/repetition/enum_binary_params.hpp>
+
+#define BOOST_PP_FILENAME_1 \
+ <boost/fusion/tuple/detail/tuple_expand.hpp>
+#define BOOST_PP_ITERATION_LIMITS (1, FUSION_MAX_VECTOR_SIZE)
+#include BOOST_PP_ITERATE()
+
+#endif
+#else // defined(BOOST_PP_IS_ITERATING)
+///////////////////////////////////////////////////////////////////////////////
+//
+// Preprocessor vertical repetition code
+//
+///////////////////////////////////////////////////////////////////////////////
+
+#define N BOOST_PP_ITERATION()
+
+#if N == 1
+ explicit
+#endif
+ tuple(BOOST_PP_ENUM_BINARY_PARAMS(
+ N, typename detail::call_param<T, >::type _))
+ : base_type(BOOST_PP_ENUM_PARAMS(N, _)) {}
+
+ template <BOOST_PP_ENUM_PARAMS(N, typename U)>
+ tuple(tuple<BOOST_PP_ENUM_PARAMS(N, U)> const& rhs)
+ : base_type(rhs) {}
+
+ template <BOOST_PP_ENUM_PARAMS(N, typename U)>
+ tuple& operator=(tuple<BOOST_PP_ENUM_PARAMS(N, U)> const& rhs)
+ {
+ base_type::operator=(rhs);
+ return *this;
+ }
+
+#undef N
+#endif // defined(BOOST_PP_IS_ITERATING)
Added: sandbox/SOC/2009/fusion/boost/fusion/tuple/detail/pp/tuple_tie.hpp
==============================================================================
--- (empty file)
+++ sandbox/SOC/2009/fusion/boost/fusion/tuple/detail/pp/tuple_tie.hpp 2009-07-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -0,0 +1,49 @@
+/*=============================================================================
+ 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_DETAIL_PP_TUPLE_TIE_HPP
+#define BOOST_FUSION_TUPLE_DETAIL_PP_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)
Added: sandbox/SOC/2009/fusion/boost/fusion/tuple/detail/variadic_templates/make_tuple.hpp
==============================================================================
--- (empty file)
+++ sandbox/SOC/2009/fusion/boost/fusion/tuple/detail/variadic_templates/make_tuple.hpp 2009-07-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -0,0 +1,24 @@
+// 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_DETAIL_VARIADIC_TEMPLATES_MAKE_TUPLE_HPP
+#define BOOST_FUSION_TUPLE_DETAIL_VARIADIC_TEMPLATES_MAKE_TUPLE_HPP
+
+#include <boost/fusion/tuple/tuple.hpp>
+#include <boost/fusion/support/detail/as_fusion_element.hpp>
+
+namespace boost { namespace fusion
+{
+ template <typename... Types>
+ inline tuple<typename detail::as_fusion_element<Types>::type...>
+ make_tuple(BOOST_FUSION_R_ELSE_CLREF(Types)... types)
+ {
+ return tuple<typename detail::as_fusion_element<Types>::type...>(
+ BOOST_FUSION_FORWARD(Types, types)...);
+ }
+
+}}
+
+#endif
Added: sandbox/SOC/2009/fusion/boost/fusion/tuple/detail/variadic_templates/tuple_tie.hpp
==============================================================================
--- (empty file)
+++ sandbox/SOC/2009/fusion/boost/fusion/tuple/detail/variadic_templates/tuple_tie.hpp 2009-07-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -0,0 +1,24 @@
+// 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_DETAIL_VARIADIC_TEMPLATES_TUPLE_TIE_HPP
+#define BOOST_FUSION_TUPLE_DETAIL_VARIADIC_TEMPLATES_TUPLE_TIE_HPP
+
+#include <boost/fusion/tuple/tuple.hpp>
+#include <boost/fusion/support/detail/as_fusion_element.hpp>
+
+namespace boost { namespace fusion
+{
+ template <typename... Types>
+ inline tuple<typename detail::as_fusion_element_lref<Types>::type...>
+ tie(BOOST_FUSION_R_ELSE_LREF(Types)... types)
+ {
+ return tuple<typename detail::as_fusion_element_lref<Types>::type...>(
+ BOOST_FUSION_FORWARD(Types, types)...);
+ }
+
+}}
+
+#endif
Added: sandbox/SOC/2009/fusion/boost/fusion/tuple/make_tuple.hpp
==============================================================================
--- (empty file)
+++ sandbox/SOC/2009/fusion/boost/fusion/tuple/make_tuple.hpp 2009-07-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -0,0 +1,16 @@
+// 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_MAKE_TUPLE_HPP
+#define BOOST_FUSION_TUPLE_MAKE_TUPLE_HPP
+
+#include <boost/config.hpp>
+#ifdef BOOST_NO_VARIADIC_TEMPLATES
+# include <boost/fusion/tuple/detail/pp/make_tuple.hpp>
+#else
+# include <boost/fusion/tuple/detail/variadic_templates/make_tuple.hpp>
+#endif
+
+#endif
Deleted: sandbox/SOC/2009/fusion/boost/fusion/tuple/tuple.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/tuple/tuple.hpp 2009-07-09 19:58:53 EDT (Thu, 09 Jul 2009)
+++ (empty file)
@@ -1,22 +0,0 @@
-// 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/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
Added: sandbox/SOC/2009/fusion/boost/fusion/tuple/tuple_fwd.hpp
==============================================================================
--- (empty file)
+++ sandbox/SOC/2009/fusion/boost/fusion/tuple/tuple_fwd.hpp 2009-07-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -0,0 +1,20 @@
+/*=============================================================================
+ 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/fusion/support/template.hpp>
+
+namespace boost { namespace fusion
+{
+ VARIADIC_TEMPLATE_WITH_DEFAULT(FUSION_MAX_VECTOR_SIZE)
+ struct tuple;
+}}
+
+#endif
Added: sandbox/SOC/2009/fusion/boost/fusion/tuple/tuple_tie.hpp
==============================================================================
--- (empty file)
+++ sandbox/SOC/2009/fusion/boost/fusion/tuple/tuple_tie.hpp 2009-07-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -0,0 +1,16 @@
+// 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_TIE_HPP
+#define BOOST_FUSION_TUPLE_TUPLE_TIE_HPP
+
+#include <boost/config.hpp>
+#ifdef BOOST_NO_VARIADIC_TEMPLATES
+# include <boost/fusion/tuple/detail/pp/tuple_tie.hpp>
+#else
+# include <boost/fusion/tuple/detail/variadic_templates/tuple_tie.hpp>
+#endif
+
+#endif
Modified: sandbox/SOC/2009/fusion/boost/fusion/view/detail/view_storage.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/detail/view_storage.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/detail/view_storage.hpp 2009-07-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -50,13 +50,13 @@
>::type
type;
-#define VIEW_STORAGE_CTOR(COMBINATION)\
+#define VIEW_STORAGE_CTOR(COMBINATION,_)\
template<typename OtherT>\
view_storage(view_storage<OtherT> COMBINATION storage)\
: t(get_init_type(storage.get()))\
{}
- BOOST_FUSION_ALL_CV_REF_COMBINATIONS(VIEW_STORAGE_CTOR)
+ BOOST_FUSION_ALL_CV_REF_COMBINATIONS(VIEW_STORAGE_CTOR,_)
#undef VIEW_STORAGE_CTOR
Modified: sandbox/SOC/2009/fusion/boost/fusion/view/filter_view/filter_view.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/filter_view/filter_view.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/filter_view/filter_view.hpp 2009-07-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -40,13 +40,13 @@
typedef typename detail::view_storage<Seq>::type seq_type;
typedef Pred pred_type;
-#define FILTER_VIEW_CTOR(COMBINATION)\
+#define FILTER_VIEW_CTOR(COMBINATION,_)\
template<typename OtherSeq>\
filter_view(filter_view<OtherSeq, Pred> COMBINATION view)\
: seq(static_cast<filter_view<OtherSeq, Pred> COMBINATION>(view).seq)\
{}
- BOOST_FUSION_ALL_CV_REF_COMBINATIONS(FILTER_VIEW_CTOR)
+ BOOST_FUSION_ALL_CV_REF_COMBINATIONS(FILTER_VIEW_CTOR,_)
#undef FILTER_VIEW_CTOR
Modified: sandbox/SOC/2009/fusion/boost/fusion/view/filter_view/filter_view_iterator.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/filter_view/filter_view_iterator.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/filter_view/filter_view_iterator.hpp 2009-07-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -33,20 +33,20 @@
typedef Last last_type;
typedef Pred pred_type;
- template<typename OtherFilterIt>
- filter_iterator(BOOST_FUSION_R_ELSE_CLREF(OtherFilterIt) it)
- : first(it.first)
+ template<typename OtherIt>
+ filter_iterator(BOOST_FUSION_R_ELSE_CLREF(OtherIt) it)
+ : first(BOOST_FUSION_FORWARD(OtherIt,it).first)
{}
filter_iterator(First const& first,int)
: first(filter::call(first))
{}
- template<typename OtherFilterIt>
+ template<typename OtherIt>
filter_iterator&
- operator=(BOOST_FUSION_R_ELSE_CLREF(OtherFilterIt) it)
+ operator=(BOOST_FUSION_R_ELSE_CLREF(OtherIt) it)
{
- first=it.first;
+ first=BOOST_FUSION_FORWARD(OtherIt,it).first;
return *this;
}
Modified: sandbox/SOC/2009/fusion/boost/fusion/view/iterator_range/detail/at_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/iterator_range/detail/at_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/iterator_range/detail/at_impl.hpp 2009-07-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -35,7 +35,7 @@
static type
call(SeqRef seq)
{
- return *advance<N>(seq.first);
+ return fusion::deref(advance<N>(seq.first));
}
};
};
Modified: sandbox/SOC/2009/fusion/boost/fusion/view/joint_view/detail/begin_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/joint_view/detail/begin_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/joint_view/detail/begin_impl.hpp 2009-07-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -42,12 +42,14 @@
typedef typename
result_of::begin<typename seq::seq2_type>::type
concat_type;
- typedef result_of::equal_to<first_type, last_type> equal_to;
+ typedef typename
+ result_of::equal_to<first_type, last_type>::type
+ equal_to;
typedef typename
mpl::if_<
equal_to
- , concat_type
+ , concat_iterator<concat_type>
, joint_view_iterator<first_type, last_type, concat_type>
>::type
type;
@@ -55,7 +57,7 @@
static type
call(SeqRef seq, mpl::true_)
{
- return fusion::begin(seq.seq2.get());
+ return type(fusion::begin(seq.seq2.get()));
}
static type
Modified: sandbox/SOC/2009/fusion/boost/fusion/view/joint_view/detail/deref_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/joint_view/detail/deref_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/joint_view/detail/deref_impl.hpp 2009-07-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -40,6 +40,11 @@
}
};
};
+
+ template <>
+ struct deref_impl<concat_iterator_tag>
+ : deref_impl<joint_view_iterator_tag>
+ {};
}
}}
Modified: sandbox/SOC/2009/fusion/boost/fusion/view/joint_view/detail/end_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/joint_view/detail/end_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/joint_view/detail/end_impl.hpp 2009-07-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -27,18 +27,20 @@
template <typename SeqRef>
struct apply
{
- typedef typename
- result_of::end<
- typename detail::remove_reference<
- SeqRef
- >::type::seq2_type
- >::type
+ typedef
+ concat_iterator<
+ typename result_of::end<
+ typename detail::remove_reference<
+ SeqRef
+ >::type::seq2_type
+ >::type
+ >
type;
static type
call(SeqRef seq)
{
- return fusion::end(seq.seq2.get());
+ return type(fusion::end(seq.seq2.get()));
}
};
};
Added: sandbox/SOC/2009/fusion/boost/fusion/view/joint_view/detail/equal_to_impl.hpp
==============================================================================
--- (empty file)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/joint_view/detail/equal_to_impl.hpp 2009-07-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -0,0 +1,66 @@
+/*=============================================================================
+ Copyright (c) 2001-2006 Joel de Guzman
+ Copyright (c) 2005-2006 Dan Marsden
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
+
+#ifndef BOOST_FUSION_VIEW_JOINT_VIEW_DETAIL_EQUAL_TO_IMPL_HPP
+#define BOOST_FUSION_VIEW_JOINT_VIEW_DETAIL_EQUAL_TO_IMPL_HPP
+
+#include <boost/fusion/iterator/equal_to.hpp>
+
+#include <boost/mpl/and.hpp>
+#include <boost/type_traits/is_same.hpp>
+
+namespace boost { namespace fusion
+{
+ struct joint_view_iterator_tag;
+
+ namespace detail
+ {
+ template<typename It1, typename It2>
+ struct same_joint_view_iterator
+ : result_of::equal_to<
+ typename It1::first_type
+ , typename It2::first_type
+ >
+ {
+ };
+ }
+
+ namespace extension
+ {
+ template<typename Tag>
+ struct equal_to_impl;
+
+ template<>
+ struct equal_to_impl<joint_view_iterator_tag>
+ {
+ template<typename It1Ref, typename It2Ref>
+ struct apply
+ {
+ typedef typename detail::remove_reference<It1Ref>::type it1;
+ typedef typename detail::remove_reference<It2Ref>::type it2;
+
+ typedef
+ mpl::and_<
+ is_same<
+ typename it1::fusion_tag
+ , typename it2::fusion_tag
+ >
+ , detail::same_joint_view_iterator<it1,it2>
+ >
+ type;
+ };
+ };
+
+ template <>
+ struct equal_to_impl<concat_iterator_tag>
+ : equal_to_impl<joint_view_iterator_tag>
+ {};
+ }
+}}
+
+#endif
Modified: sandbox/SOC/2009/fusion/boost/fusion/view/joint_view/detail/next_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/joint_view/detail/next_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/joint_view/detail/next_impl.hpp 2009-07-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -31,16 +31,19 @@
struct apply
{
typedef typename detail::remove_reference<ItRef>::type it;
+
typedef typename it::first_type first_type;
typedef typename it::last_type last_type;
typedef typename it::concat_type concat_type;
typedef typename result_of::next<first_type>::type next_type;
- typedef result_of::equal_to<next_type, last_type> equal_to;
+ typedef typename
+ result_of::equal_to<next_type, last_type>::type
+ equal_to;
typedef typename
mpl::if_<
equal_to
- , concat_type
+ , concat_iterator<concat_type>
, joint_view_iterator<next_type, last_type, concat_type>
>::type
type;
@@ -48,7 +51,7 @@
static type
call(ItRef it, mpl::true_)
{
- return it.concat;
+ return type(it.concat);
}
static type
@@ -64,6 +67,30 @@
}
};
};
+
+ template <>
+ struct next_impl<concat_iterator_tag>
+ {
+ template <typename ItRef>
+ struct apply
+ {
+ typedef
+ concat_iterator<
+ typename result_of::next<
+ typename detail::remove_reference<
+ ItRef
+ >::type::first_type
+ >::type
+ >
+ type;
+
+ static type
+ call(ItRef it)
+ {
+ return type(fusion::next(it.first));
+ }
+ };
+ };
}
}}
Modified: sandbox/SOC/2009/fusion/boost/fusion/view/joint_view/detail/value_of_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/joint_view/detail/value_of_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/joint_view/detail/value_of_impl.hpp 2009-07-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -29,6 +29,11 @@
>
{};
};
+
+ template <>
+ struct value_of_impl<concat_iterator_tag>
+ : value_of_impl<joint_view_iterator_tag>
+ {};
}
}}
Modified: sandbox/SOC/2009/fusion/boost/fusion/view/joint_view/joint_view.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/joint_view/joint_view.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/joint_view/joint_view.hpp 2009-07-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -22,7 +22,11 @@
#include <boost/fusion/view/joint_view/joint_view_iterator.hpp>
#include <boost/fusion/view/joint_view/detail/begin_impl.hpp>
+#include <boost/fusion/view/joint_view/detail/deref_impl.hpp>
#include <boost/fusion/view/joint_view/detail/end_impl.hpp>
+#include <boost/fusion/view/joint_view/detail/equal_to_impl.hpp>
+#include <boost/fusion/view/joint_view/detail/next_impl.hpp>
+#include <boost/fusion/view/joint_view/detail/value_of_impl.hpp>
namespace boost { namespace fusion
{
@@ -30,13 +34,10 @@
struct forward_traversal_tag;
struct fusion_sequence_tag;
- //TODO cschmidt: not only forward traversal!
-
template <typename Seq1, typename Seq2>
struct joint_view
: sequence_base<joint_view<Seq1, Seq2> >
{
- //TODO non_forward_traversal!
typedef joint_view_tag fusion_tag;
typedef fusion_sequence_tag tag; // this gets picked up by MPL
typedef forward_traversal_tag category;
Modified: sandbox/SOC/2009/fusion/boost/fusion/view/joint_view/joint_view_iterator.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/joint_view/joint_view_iterator.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/joint_view/joint_view_iterator.hpp 2009-07-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -10,14 +10,12 @@
#include <boost/fusion/support/iterator_base.hpp>
#include <boost/fusion/iterator/equal_to.hpp>
-#include <boost/fusion/view/joint_view/detail/deref_impl.hpp>
-#include <boost/fusion/view/joint_view/detail/next_impl.hpp>
-#include <boost/fusion/view/joint_view/detail/value_of_impl.hpp>
#include <boost/fusion/support/assert.hpp>
namespace boost { namespace fusion
{
struct joint_view_iterator_tag;
+ struct concat_iterator_tag;
struct forward_traversal_tag;
template <typename First, typename Last, typename Concat>
@@ -39,6 +37,22 @@
first_type first;
concat_type concat;
};
+
+ template <typename First>
+ struct concat_iterator
+ : iterator_base<concat_iterator<First> >
+ {
+ typedef concat_iterator_tag fusion_tag;
+ typedef forward_traversal_tag category;
+
+ typedef First first_type;
+
+ explicit concat_iterator(First const& first)
+ : first(first)
+ {}
+
+ first_type first;
+ };
}}
#endif
Modified: sandbox/SOC/2009/fusion/boost/fusion/view/reverse_view/detail/end_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/reverse_view/detail/end_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/reverse_view/detail/end_impl.hpp 2009-07-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -16,9 +16,6 @@
{
struct reverse_view_tag;
- template <typename First>
- struct reverse_view_iterator;
-
namespace extension
{
template <typename Tag>
Added: sandbox/SOC/2009/fusion/boost/fusion/view/reverse_view/detail/equal_to_impl.hpp
==============================================================================
--- (empty file)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/reverse_view/detail/equal_to_impl.hpp 2009-07-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -0,0 +1,37 @@
+/*=============================================================================
+ Copyright (c) 2001-2006 Joel de Guzman
+ Copyright (c) 2005-2006 Dan Marsden
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
+
+#ifndef BOOST_FUSION_VIEW_REVERSE_VIEW_DETAIL_EQUAL_TO_IMPL_HPP
+#define BOOST_FUSION_VIEW_REVERSE_VIEW_DETAIL_EQUAL_TO_IMPL_HPP
+
+#include <boost/type_traits/is_same.hpp>
+
+namespace boost { namespace fusion
+{
+ struct reverse_view_iterator_tag;
+
+ namespace extension
+ {
+ template<typename Tag>
+ struct equal_to_impl;
+
+ template<>
+ struct equal_to_impl<reverse_view_iterator_tag>
+ {
+ template<typename It1Ref, typename It2Ref>
+ struct apply
+ : is_same<
+ typename detail::remove_reference<It1Ref>::type::first_type
+ , typename detail::remove_reference<It2Ref>::type::first_type
+ >
+ {};
+ };
+ }
+}}
+
+#endif
Modified: sandbox/SOC/2009/fusion/boost/fusion/view/reverse_view/reverse_view.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/reverse_view/reverse_view.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/reverse_view/reverse_view.hpp 2009-07-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -47,14 +47,14 @@
// typename traits::category_of<first_type>::type>::value),
// "underlying iterator must be bidirectional");
-#define REVERSE_VIEW_CTOR(COMBINATION)\
+#define REVERSE_VIEW_CTOR(COMBINATION,_)\
template<typename OtherSeq>\
reverse_view(reverse_view<OtherSeq> COMBINATION other_view)\
: seq(BOOST_FUSION_FORWARD(\
reverse_view<OtherSeq> COMBINATION,other_view).seq)\
{}
- BOOST_FUSION_ALL_CV_REF_COMBINATIONS(REVERSE_VIEW_CTOR)
+ BOOST_FUSION_ALL_CV_REF_COMBINATIONS(REVERSE_VIEW_CTOR,_)
#undef REVERSE_VIEW_CTOR
Modified: sandbox/SOC/2009/fusion/boost/fusion/view/reverse_view/reverse_view_iterator.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/reverse_view/reverse_view_iterator.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/reverse_view/reverse_view_iterator.hpp 2009-07-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -10,15 +10,17 @@
#include <boost/fusion/support/iterator_base.hpp>
#include <boost/fusion/support/category_of.hpp>
+#include <boost/fusion/support/assert.hpp>
+
+#include <boost/type_traits/is_base_of.hpp>
+
#include <boost/fusion/view/reverse_view/detail/deref_impl.hpp>
#include <boost/fusion/view/reverse_view/detail/next_impl.hpp>
#include <boost/fusion/view/reverse_view/detail/prior_impl.hpp>
#include <boost/fusion/view/reverse_view/detail/advance_impl.hpp>
#include <boost/fusion/view/reverse_view/detail/distance_impl.hpp>
#include <boost/fusion/view/reverse_view/detail/value_of_impl.hpp>
-#include <boost/fusion/support/assert.hpp>
-
-#include <boost/type_traits/is_base_of.hpp>
+#include <boost/fusion/view/reverse_view/detail/equal_to_impl.hpp>
namespace boost { namespace fusion
{
Added: sandbox/SOC/2009/fusion/boost/fusion/view/single_view/detail/equal_to_impl.hpp
==============================================================================
--- (empty file)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/single_view/detail/equal_to_impl.hpp 2009-07-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -0,0 +1,45 @@
+/*=============================================================================
+ Copyright (c) 2001-2006 Joel de Guzman
+ Copyright (c) 2005-2006 Dan Marsden
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
+
+#ifndef BOOST_FUSION_VIEW_SINGLE_VIEW_DETAIL_EQUAL_TO_IMPL_HPP
+#define BOOST_FUSION_VIEW_SINGLE_VIEW_DETAIL_EQUAL_TO_IMPL_HPP
+
+#include <boost/type_traits/is_same.hpp>
+
+namespace boost { namespace fusion
+{
+ struct single_view_iterator_tag;
+
+ namespace extension
+ {
+ template<typename Tag>
+ struct equal_to_impl;
+
+ template<>
+ struct equal_to_impl<single_view_iterator_tag>
+ {
+ template<typename It1Ref, typename It2Ref>
+ struct apply
+ : is_same<
+ typename detail::identity<
+ typename detail::remove_reference<
+ It1Ref
+ >::type::view_type
+ >::type
+ , typename detail::identity<
+ typename detail::remove_reference<
+ It2Ref
+ >::type::view_type
+ >::type
+ >
+ {};
+ };
+ }
+}}
+
+#endif
Modified: sandbox/SOC/2009/fusion/boost/fusion/view/single_view/single_view.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/single_view/single_view.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/single_view/single_view.hpp 2009-07-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -47,12 +47,12 @@
: val()
{}
-#define SINGLE_VIEW_CTOR(COMBINATION)\
+#define SINGLE_VIEW_CTOR(COMBINATION,_)\
single_view(single_view COMBINATION view)\
: val(BOOST_FUSION_FORWARD(single_view COMBINATION,view).val)\
{}
- BOOST_FUSION_ALL_CV_REF_COMBINATIONS(SINGLE_VIEW_CTOR)
+ BOOST_FUSION_ALL_CV_REF_COMBINATIONS(SINGLE_VIEW_CTOR,_)
#undef SINGLE_VIEW_CTOR
Modified: sandbox/SOC/2009/fusion/boost/fusion/view/single_view/single_view_iterator.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/single_view/single_view_iterator.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/single_view/single_view_iterator.hpp 2009-07-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -14,18 +14,24 @@
#include <boost/fusion/view/single_view/detail/deref_impl.hpp>
#include <boost/fusion/view/single_view/detail/next_impl.hpp>
#include <boost/fusion/view/single_view/detail/value_of_impl.hpp>
+#include <boost/fusion/view/single_view/detail/equal_to_impl.hpp>
namespace boost { namespace fusion
{
struct single_view_iterator_tag;
struct forward_traversal_tag;
+ struct void_;
+
+ //TODO???
template <typename SingleView>
struct single_view_iterator_end
: iterator_base<single_view_iterator_end<SingleView> >
{
typedef single_view_iterator_tag fusion_tag;
typedef forward_traversal_tag category;
+
+ typedef void_ view_type;
};
template <typename SingleViewRef>
Modified: sandbox/SOC/2009/fusion/boost/fusion/view/transform_view/transform_view_iterator.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/transform_view/transform_view_iterator.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/transform_view/transform_view_iterator.hpp 2009-07-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -35,11 +35,10 @@
typedef transform_view_iterator_tag fusion_tag;
typedef typename traits::category_of<first_type>::type category;
- template<typename OtherTransformViewIt>
- transform_view_iterator(
- BOOST_FUSION_R_ELSE_CLREF(OtherTransformViewIt) it)
- : first(it.first)
- , f(it.f)
+ template<typename OtherIt>
+ transform_view_iterator(BOOST_FUSION_R_ELSE_CLREF(OtherIt) it)
+ : first(BOOST_FUSION_FORWARD(OtherIt,it).first)
+ , f(BOOST_FUSION_FORWARD(OtherIt,it).f)
{}
transform_view_iterator(First const& first, transform_type f)
@@ -47,12 +46,12 @@
, f(&f)
{}
- template<typename OtherTransformViewIt>
+ template<typename OtherIt>
transform_view_iterator&
- operator=(BOOST_FUSION_R_ELSE_CLREF(OtherTransformViewIt) it)
+ operator=(BOOST_FUSION_R_ELSE_CLREF(OtherIt) it)
{
- first=it.first;
- f=it.f;
+ first=BOOST_FUSION_FORWARD(OtherIt,it).first;
+ f=BOOST_FUSION_FORWARD(OtherIt,it).f;
return *this;
}
@@ -74,12 +73,12 @@
typedef transform_view_iterator2_tag fusion_tag;
typedef typename traits::category_of<first1_type>::type category;
- template<typename OtherTransformViewIt>
+ template<typename OtherIt>
transform_view_iterator2(
- BOOST_FUSION_R_ELSE_CLREF(OtherTransformViewIt) it)
- : first1(it.first1)
- , first2(it.first2)
- , f(it.f)
+ BOOST_FUSION_R_ELSE_CLREF(OtherIt) it)
+ : first1(BOOST_FUSION_FORWARD(OtherIt,it).first1)
+ , first2(BOOST_FUSION_FORWARD(OtherIt,it).first2)
+ , f(BOOST_FUSION_FORWARD(OtherIt,it).f)
{}
transform_view_iterator2(First1 const& first1,
@@ -90,13 +89,13 @@
, f(&f)
{}
- template<typename OtherTransformViewIt>
+ template<typename OtherIt>
transform_view_iterator2&
- operator=(BOOST_FUSION_R_ELSE_CLREF(OtherTransformViewIt) it)
+ operator=(BOOST_FUSION_R_ELSE_CLREF(OtherIt) it)
{
- first1=it.first1;
- first2=it.first2;
- f=it.f;
+ first1=BOOST_FUSION_FORWARD(OtherIt,it).first1;
+ first2=BOOST_FUSION_FORWARD(OtherIt,it).first2;
+ f=BOOST_FUSION_FORWARD(OtherIt,it).f;
return *this;
}
Modified: sandbox/SOC/2009/fusion/boost/fusion/view/zip_view/zip_view.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/zip_view/zip_view.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/zip_view/zip_view.hpp 2009-07-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -132,14 +132,14 @@
fusion::result_of::as_vector<Seqs>::type
seqs_type;
-#define ZIP_VIEW_CTOR(COMBINATION)\
+#define ZIP_VIEW_CTOR(COMBINATION,_)\
template<typename OtherSeqs>\
zip_view(zip_view<OtherSeqs> COMBINATION other_view)\
: seqs(sequence_assign(BOOST_FUSION_FORWARD(\
zip_view<OtherSeqs> COMBINATION,other_view).seqs))\
{}
- BOOST_FUSION_ALL_CV_REF_COMBINATIONS(ZIP_VIEW_CTOR)
+ BOOST_FUSION_ALL_CV_REF_COMBINATIONS(ZIP_VIEW_CTOR,_)
#undef ZIP_VIEW_CTOR
Modified: sandbox/SOC/2009/fusion/boost/fusion/view/zip_view/zip_view_iterator.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/zip_view/zip_view_iterator.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/zip_view/zip_view_iterator.hpp 2009-07-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -33,23 +33,22 @@
typedef zip_view_iterator_tag fusion_tag;
typedef Traversal category;
- template<typename OtherZipViewIt>
- zip_view_iterator(BOOST_FUSION_R_ELSE_CLREF(OtherZipViewIt) it)
- : iterators_(sequence_assign(
- BOOST_FUSION_FORWARD(OtherZipViewIt,it).iterators_))
+ template<typename OtherIt>
+ zip_view_iterator(BOOST_FUSION_R_ELSE_CLREF(OtherIt) it)
+ : iterators_(sequence_assign(it.iterators_))
{}
- template<typename InitSeq>
- zip_view_iterator(BOOST_FUSION_R_ELSE_CLREF(InitSeq) seq,int)
+ template<typename Seq>
+ zip_view_iterator(BOOST_FUSION_R_ELSE_CLREF(Seq) seq,int)
: iterators_(
- sequence_assign(BOOST_FUSION_FORWARD(InitSeq,seq)))
+ sequence_assign(BOOST_FUSION_FORWARD(Seq,seq)))
{}
- template<typename OtherZipViewIt>
+ template<typename OtherIt>
zip_view_iterator&
- operator=(BOOST_FUSION_R_ELSE_CLREF(OtherZipViewIt) it)
+ operator=(BOOST_FUSION_R_ELSE_CLREF(OtherIt) it)
{
- iterators_=BOOST_FUSION_FORWARD(OtherZipViewIt,it).iterators_;
+ iterators_=it.iterators_;
return *this;
}
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-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -464,7 +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 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>::type`][The distance between iterators of type `It1` and `It2`][]]
]
[heading Header]
Modified: sandbox/SOC/2009/fusion/libs/fusion/example/test/main.cpp
==============================================================================
--- sandbox/SOC/2009/fusion/libs/fusion/example/test/main.cpp (original)
+++ sandbox/SOC/2009/fusion/libs/fusion/example/test/main.cpp 2009-07-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -12,6 +12,7 @@
#include <boost/fusion/algorithm.hpp>
#include <boost/fusion/container.hpp>
#include <boost/fusion/view.hpp>
+#include <boost/fusion/adapted.hpp>
#include <boost/mpl/placeholders.hpp>
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-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -42,14 +42,14 @@
[ run algorithm/zip.cpp : : : : ]
[ run algorithm/zip2.cpp : : : : ]
-# [ run sequence/adapt_struct.cpp : : : : ]
-# [ run sequence/adapt_assoc_struct.cpp : : : : ]
+ [ run sequence/adapt_struct.cpp : : : : ]
+ [ run sequence/adapt_assoc_struct.cpp : : : : ]
[ run sequence/array.cpp : : : : ]
[ 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 : : : : ]
@@ -69,18 +69,18 @@
[ run sequence/reverse_view.cpp : : : : ]
[ run sequence/set.cpp : : : : ]
[ run sequence/single_view.cpp : : : : ]
-# [ run sequence/std_pair.cpp : : : : ]
+ [ run sequence/std_pair.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 : : : : ]
-# [ run sequence/tuple_element.cpp : : : : ]
-# [ run sequence/tuple_make.cpp : : : : ]
-# [ run sequence/tuple_misc.cpp : : : : ]
-# [ run sequence/tuple_mutate.cpp : : : : ]
-# [ run sequence/tuple_tie.cpp : : : : ]
+# [ run sequence/tuple_comparison.cpp : : : : ]
+# [ run sequence/tuple_construction.cpp : : : : ]
+# [ run sequence/tuple_copy.cpp : : : : ]
+# [ run sequence/tuple_element.cpp : : : : ]
+# [ run sequence/tuple_make.cpp : : : : ]
+# [ run sequence/tuple_misc.cpp : : : : ]
+# [ run sequence/tuple_mutate.cpp : : : : ]
+# [ run sequence/tuple_tie.cpp : : : : ]
[ run sequence/vector_comparison.cpp : : : : ]
[ run sequence/vector_construction.cpp : : : : ]
[ run sequence/vector_copy.cpp : : : : ]
Modified: sandbox/SOC/2009/fusion/libs/fusion/test/sequence/adapt_assoc_struct.cpp
==============================================================================
--- sandbox/SOC/2009/fusion/libs/fusion/test/sequence/adapt_assoc_struct.cpp (original)
+++ sandbox/SOC/2009/fusion/libs/fusion/test/sequence/adapt_assoc_struct.cpp 2009-07-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -27,9 +27,12 @@
#include <boost/fusion/sequence/comparison/greater.hpp>
#include <boost/fusion/sequence/comparison/greater_equal.hpp>
#include <boost/fusion/support/is_view.hpp>
+
#include <boost/mpl/assert.hpp>
#include <boost/mpl/not.hpp>
+#include <boost/static_assert.hpp>
#include <boost/type_traits/is_same.hpp>
+
#include <iostream>
#include <string>
@@ -100,14 +103,14 @@
{
// conversion from ns::point to vector
ns::point p = {5, 3};
- fusion::vector<int, short> v(p);
+ fusion::vector<int, short> v(sequence_assign(p));
v = p;
}
{
// conversion from ns::point to list
ns::point p = {5, 3};
- fusion::list<int, short> l(p);
+ fusion::list<int, short> l(sequence_assign(p));
l = p;
}
@@ -117,8 +120,9 @@
BOOST_MPL_ASSERT((fusion::result_of::has_key<ns::point, ns::y_member>));
BOOST_MPL_ASSERT((mpl::not_<fusion::result_of::has_key<ns::point, ns::z_member> >));
- BOOST_MPL_ASSERT((is_same<fusion::result_of::value_at_key<ns::point, ns::x_member>::type, int>));
- BOOST_MPL_ASSERT((is_same<fusion::result_of::value_at_key<ns::point, ns::y_member>::type, int>));
+ //TODO???
+ //BOOST_MPL_ASSERT(( is_same<fusion::result_of::value_at_key<ns::point, ns::x_member>::type, int> ));
+ //BOOST_MPL_ASSERT(( is_same<fusion::result_of::value_at_key<ns::point, ns::y_member>::type, int> ));
ns::point p = {5, 3};
Modified: sandbox/SOC/2009/fusion/libs/fusion/test/sequence/adapt_struct.cpp
==============================================================================
--- sandbox/SOC/2009/fusion/libs/fusion/test/sequence/adapt_struct.cpp (original)
+++ sandbox/SOC/2009/fusion/libs/fusion/test/sequence/adapt_struct.cpp 2009-07-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -23,7 +23,10 @@
#include <boost/fusion/sequence/comparison/greater.hpp>
#include <boost/fusion/sequence/comparison/greater_equal.hpp>
#include <boost/fusion/support/is_view.hpp>
+
#include <boost/mpl/assert.hpp>
+#include <boost/static_assert.hpp>
+
#include <iostream>
#include <string>
@@ -93,14 +96,14 @@
{
// conversion from ns::point to vector
ns::point p = {5, 3};
- fusion::vector<int, short> v(p);
+ fusion::vector<int, short> v(sequence_assign(p));
v = p;
}
{
// conversion from ns::point to list
ns::point p = {5, 3};
- fusion::list<int, short> l(p);
+ fusion::list<int, short> l(sequence_assign(p));
l = p;
}
Modified: sandbox/SOC/2009/fusion/libs/fusion/test/sequence/boost_tuple.cpp
==============================================================================
--- sandbox/SOC/2009/fusion/libs/fusion/test/sequence/boost_tuple.cpp (original)
+++ sandbox/SOC/2009/fusion/libs/fusion/test/sequence/boost_tuple.cpp 2009-07-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -75,13 +75,13 @@
{
// conversion from boost tuple to vector
- fusion::vector<int, std::string> v(tuples::make_tuple(123, "Hola!!!"));
+ fusion::vector<int, std::string> v(sequence_assign(tuples::make_tuple(123, "Hola!!!")));
v = tuples::make_tuple(123, "Hola!!!");
}
{
// conversion from boost tuple to list
- fusion::list<int, std::string> l(tuples::make_tuple(123, "Hola!!!"));
+ fusion::list<int, std::string> l(sequence_assign(tuples::make_tuple(123, "Hola!!!")));
l = tuples::make_tuple(123, "Hola!!!");
}
Modified: sandbox/SOC/2009/fusion/libs/fusion/test/sequence/tr1_tuple_auto_conv.cpp
==============================================================================
--- sandbox/SOC/2009/fusion/libs/fusion/test/sequence/tr1_tuple_auto_conv.cpp (original)
+++ sandbox/SOC/2009/fusion/libs/fusion/test/sequence/tr1_tuple_auto_conv.cpp 2009-07-09 19:58:53 EDT (Thu, 09 Jul 2009)
@@ -5,6 +5,7 @@
//TODO Authors???
+//TODO!!!
#include <boost/tr1/memory.hpp>
#include <boost/tr1/tuple.hpp>
#include <boost/any.hpp>
@@ -18,7 +19,7 @@
public:
AutoConverter(std::tr1::shared_ptr<boost::any> const & t)
- : t_(t)
+ : t_(t)
{}
template <typename C>
@@ -44,14 +45,12 @@
}
};
-
inline AutoConverter Demo()
{
std::tr1::shared_ptr<boost::any> p_result
(new boost::any(std::tr1::make_tuple(1, 2, 3, 4)));
return p_result;
}
-
} // namespace Core
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