|
Boost-Commit : |
Subject: [Boost-commit] svn:boost r62410 - in sandbox/SOC/2009/fusion: boost/fusion/adapted/class boost/fusion/adapted/detail/array boost/fusion/adapted/detail/class boost/fusion/adapted/detail/mpl boost/fusion/adapted/detail/po_array boost/fusion/adapted/detail/struct boost/fusion/adapted/detail/tuple boost/fusion/adapted/struct boost/fusion/algorithm/iteration boost/fusion/algorithm/iteration/detail boost/fusion/algorithm/iteration/ext_ boost/fusion/algorithm/query boost/fusion/algorithm/query/detail boost/fusion/algorithm/query/ext_ boost/fusion/algorithm/transformation boost/fusion/algorithm/transformation/detail boost/fusion/algorithm/transformation/detail/filter_key_view boost/fusion/container/detail boost/fusion/container/detail/pp boost/fusion/container/detail/variadic_templates boost/fusion/container/generation boost/fusion/container/generation/detail boost/fusion/container/generation/detail/pp boost/fusion/container/generation/detail/variadic_templates boost/fusion/container/list boost/fusion/container/list/detail boost/fusion/container/list/detail/pp boost/fusion/container/map boost/fusion/container/map/detail boost/fusion/container/set boost/fusion/container/set/detail boost/fusion/container/vector/detail boost/fusion/container/vector/detail/pp boost/fusion/container/vector/detail/variadic_templates boost/fusion/functional/adapter boost/fusion/functional/adapter/detail boost/fusion/functional/adapter/detail/pp boost/fusion/functional/generation/detail boost/fusion/functional/invocation/detail boost/fusion/functional/invocation/detail/pp boost/fusion/iterator boost/fusion/iterator/detail boost/fusion/mpl boost/fusion/sequence boost/fusion/sequence/comparison boost/fusion/sequence/comparison/detail boost/fusion/sequence/intrinsic boost/fusion/sequence/intrinsic/ext_ boost/fusion/sequence/io boost/fusion/sequence/io/detail boost/fusion/support boost/fusion/support/internal boost/fusion/tuple boost/fusion/view/filter_view boost/fusion/view/filter_view/detail boost/fusion/view/iterator_range boost/fusion/view/iterator_range/detail boost/fusion/view/joint_view boost/fusion/view/joint_view/detail boost/fusion/view/nview boost/fusion/view/nview/detail boost/fusion/view/repetitive_view boost/fusion/view/repetitive_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/detail boost/fusion/view/zip_view boost/fusion/view/zip_view/detail libs/fusion/example/cookbook libs/fusion/example/extension/vtuple libs/fusion/example/performance libs/fusion/test/suite1/algorithm libs/fusion/test/suite1/sequence libs/fusion/test/suite2 libs/fusion/test/suite2/container libs/fusion/test/suite2/sequence
From: mr.chr.schmidt_at_[hidden]
Date: 2010-06-03 12:17:41
Author: cschmidt
Date: 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
New Revision: 62410
URL: http://svn.boost.org/trac/boost/changeset/62410
Log:
VC10 fixes
Added:
sandbox/SOC/2009/fusion/boost/fusion/support/internal/facade_generation.hpp (contents, props changed)
sandbox/SOC/2009/fusion/libs/fusion/test/suite2/Jamfile (contents, props changed)
sandbox/SOC/2009/fusion/libs/fusion/test/suite2/container/
sandbox/SOC/2009/fusion/libs/fusion/test/suite2/sequence/
sandbox/SOC/2009/fusion/libs/fusion/test/suite2/sequence/test_base.hpp (contents, props changed)
Text files modified:
sandbox/SOC/2009/fusion/boost/fusion/adapted/class/adapt_assoc_class.hpp | 11 ++
sandbox/SOC/2009/fusion/boost/fusion/adapted/class/adapt_assoc_class_named.hpp | 2
sandbox/SOC/2009/fusion/boost/fusion/adapted/class/adapt_class.hpp | 10 ++
sandbox/SOC/2009/fusion/boost/fusion/adapted/class/adapt_class_named.hpp | 2
sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/array/begin_impl.hpp | 4
sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/array/deref_impl.hpp | 6
sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/array/end_impl.hpp | 6
sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/array/value_at_impl.hpp | 4
sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/array/value_of_impl.hpp | 6
sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/class/extension.hpp | 4
sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/mpl/advance_impl.hpp | 6
sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/mpl/at_impl.hpp | 4
sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/mpl/begin_impl.hpp | 6
sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/mpl/category_of_impl.hpp | 8
sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/mpl/deref_impl.hpp | 6
sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/mpl/distance_impl.hpp | 6
sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/mpl/empty_impl.hpp | 6
sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/mpl/end_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/has_key_impl.hpp | 6
sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/mpl/mpl_iterator.hpp | 30 +++---
sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/mpl/next_impl.hpp | 6
sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/mpl/prior_impl.hpp | 6
sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/mpl/size_impl.hpp | 4
sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/mpl/tag_of.hpp | 2
sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/mpl/value_at_impl.hpp | 6
sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/mpl/value_of_impl.hpp | 6
sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/po_array/begin_impl.hpp | 4
sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/po_array/deref_impl.hpp | 6
sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/po_array/end_impl.hpp | 6
sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/po_array/value_at_impl.hpp | 4
sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/po_array/value_of_impl.hpp | 6
sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/struct/adapt_base.hpp | 18 +++
sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/struct/at_impl.hpp | 6
sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/struct/begin_impl.hpp | 8
sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/struct/define_struct.hpp | 4
sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/struct/deref_data_impl.hpp | 4
sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/struct/deref_impl.hpp | 6
sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/struct/end_impl.hpp | 10 +-
sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/struct/extension.hpp | 9 +
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 | 6
sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/struct/key_of_impl.hpp | 6
sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/struct/size_impl.hpp | 6
sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/struct/value_at_impl.hpp | 6
sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/struct/value_of_data_impl.hpp | 4
sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/struct/value_of_impl.hpp | 6
sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/tuple/at_impl.hpp | 4
sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/tuple/begin_impl.hpp | 4
sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/tuple/deref_impl.hpp | 6
sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/tuple/end_impl.hpp | 6
sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/tuple/size_impl.hpp | 4
sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/tuple/tag_of.hpp | 24 ++--
sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/tuple/value_at_impl.hpp | 4
sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/tuple/value_of_impl.hpp | 6
sandbox/SOC/2009/fusion/boost/fusion/adapted/struct/adapt_assoc_struct.hpp | 15 ++
sandbox/SOC/2009/fusion/boost/fusion/adapted/struct/adapt_assoc_struct_named.hpp | 22 ++--
sandbox/SOC/2009/fusion/boost/fusion/adapted/struct/adapt_struct.hpp | 11 ++
sandbox/SOC/2009/fusion/boost/fusion/adapted/struct/adapt_struct_named.hpp | 21 ++--
sandbox/SOC/2009/fusion/boost/fusion/algorithm/iteration/accumulate.hpp | 6
sandbox/SOC/2009/fusion/boost/fusion/algorithm/iteration/detail/fold.hpp | 2
sandbox/SOC/2009/fusion/boost/fusion/algorithm/iteration/ext_/for_each_s.hpp | 10 +-
sandbox/SOC/2009/fusion/boost/fusion/algorithm/iteration/fold.hpp | 10 -
sandbox/SOC/2009/fusion/boost/fusion/algorithm/iteration/for_each.hpp | 6
sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/all.hpp | 6
sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/any.hpp | 6
sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/count.hpp | 6
sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/count_if.hpp | 6
sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/detail/all.hpp | 10 +-
sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/detail/count.hpp | 24 +++--
sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/detail/find_if.hpp | 16 +-
sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/ext_/find_if_s.hpp | 4
sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/find.hpp | 6
sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/find_if.hpp | 6
sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/find_key.hpp | 6
sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/none.hpp | 6
sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/clear.hpp | 4
sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/detail/filter_key_view.hpp | 2
sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/detail/filter_key_view/at_key_impl.hpp | 8
sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/detail/filter_key_view/has_key_impl.hpp | 6
sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/detail/filter_key_view/value_at_key_impl.hpp | 6
sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/detail/replace_if.hpp | 9 +
sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/erase.hpp | 12 +-
sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/erase_key.hpp | 6
sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/filter.hpp | 6
sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/filter_if.hpp | 6
sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/insert.hpp | 6
sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/insert_range.hpp | 4
sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/pop_back.hpp | 6
sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/pop_front.hpp | 6
sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/push_back.hpp | 6
sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/push_front.hpp | 6
sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/remove.hpp | 6
sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/remove_if.hpp | 6
sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/replace.hpp | 12 +-
sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/replace_if.hpp | 6
sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/reverse.hpp | 6
sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/transform.hpp | 19 ++--
sandbox/SOC/2009/fusion/boost/fusion/container/detail/convert_impl.hpp | 12 +-
sandbox/SOC/2009/fusion/boost/fusion/container/detail/forward_interface.hpp | 12 +-
sandbox/SOC/2009/fusion/boost/fusion/container/detail/pp/as_seq.hpp | 2
sandbox/SOC/2009/fusion/boost/fusion/container/detail/pp/as_seq_n.hpp | 4
sandbox/SOC/2009/fusion/boost/fusion/container/detail/pp/forward_interface_n.hpp | 9 +
sandbox/SOC/2009/fusion/boost/fusion/container/detail/variadic_templates/forward_interface.hpp | 3
sandbox/SOC/2009/fusion/boost/fusion/container/generation/cons_tie.hpp | 6
sandbox/SOC/2009/fusion/boost/fusion/container/generation/detail/pp/map_tie.hpp | 4
sandbox/SOC/2009/fusion/boost/fusion/container/generation/detail/pp/map_tie_n.hpp | 18 +++
sandbox/SOC/2009/fusion/boost/fusion/container/generation/detail/pp/seq_tie.hpp | 5 +
sandbox/SOC/2009/fusion/boost/fusion/container/generation/detail/pp/seq_tie_n.hpp | 18 +++
sandbox/SOC/2009/fusion/boost/fusion/container/generation/detail/seq_tie.hpp | 6
sandbox/SOC/2009/fusion/boost/fusion/container/generation/detail/variadic_templates/make_map.hpp | 4
sandbox/SOC/2009/fusion/boost/fusion/container/generation/detail/variadic_templates/make_seq.hpp | 4
sandbox/SOC/2009/fusion/boost/fusion/container/generation/detail/variadic_templates/map_tie.hpp | 18 ++-
sandbox/SOC/2009/fusion/boost/fusion/container/generation/detail/variadic_templates/seq_tie.hpp | 18 ++-
sandbox/SOC/2009/fusion/boost/fusion/container/generation/make_cons.hpp | 6
sandbox/SOC/2009/fusion/boost/fusion/container/list/cons.hpp | 23 ++++
sandbox/SOC/2009/fusion/boost/fusion/container/list/detail/at_impl.hpp | 12 +-
sandbox/SOC/2009/fusion/boost/fusion/container/list/detail/begin_impl.hpp | 8
sandbox/SOC/2009/fusion/boost/fusion/container/list/detail/build_cons.hpp | 6
sandbox/SOC/2009/fusion/boost/fusion/container/list/detail/cons_fwd.hpp | 2
sandbox/SOC/2009/fusion/boost/fusion/container/list/detail/cons_iterator.hpp | 4
sandbox/SOC/2009/fusion/boost/fusion/container/list/detail/convert_impl.hpp | 6
sandbox/SOC/2009/fusion/boost/fusion/container/list/detail/deref_impl.hpp | 6
sandbox/SOC/2009/fusion/boost/fusion/container/list/detail/end_impl.hpp | 8
sandbox/SOC/2009/fusion/boost/fusion/container/list/detail/equal_to_impl.hpp | 6
sandbox/SOC/2009/fusion/boost/fusion/container/list/detail/next_impl.hpp | 6
sandbox/SOC/2009/fusion/boost/fusion/container/list/detail/pp/list_forward_ctor_n.hpp | 13 +-
sandbox/SOC/2009/fusion/boost/fusion/container/list/detail/value_at_impl.hpp | 8
sandbox/SOC/2009/fusion/boost/fusion/container/list/detail/value_of_impl.hpp | 6
sandbox/SOC/2009/fusion/boost/fusion/container/list/list.hpp | 21 +++-
sandbox/SOC/2009/fusion/boost/fusion/container/map/detail/begin_impl.hpp | 6
sandbox/SOC/2009/fusion/boost/fusion/container/map/detail/deref_data_impl.hpp | 6
sandbox/SOC/2009/fusion/boost/fusion/container/map/detail/deref_impl.hpp | 6
sandbox/SOC/2009/fusion/boost/fusion/container/map/detail/end_impl.hpp | 6
sandbox/SOC/2009/fusion/boost/fusion/container/map/detail/key_of_impl.hpp | 6
sandbox/SOC/2009/fusion/boost/fusion/container/map/detail/value_of_data_impl.hpp | 6
sandbox/SOC/2009/fusion/boost/fusion/container/map/detail/value_of_impl.hpp | 6
sandbox/SOC/2009/fusion/boost/fusion/container/map/map.hpp | 15 ++
sandbox/SOC/2009/fusion/boost/fusion/container/set/detail/begin_impl.hpp | 6
sandbox/SOC/2009/fusion/boost/fusion/container/set/detail/deref_data_impl.hpp | 4
sandbox/SOC/2009/fusion/boost/fusion/container/set/detail/deref_impl.hpp | 6
sandbox/SOC/2009/fusion/boost/fusion/container/set/detail/end_impl.hpp | 6
sandbox/SOC/2009/fusion/boost/fusion/container/set/detail/key_of_impl.hpp | 4
sandbox/SOC/2009/fusion/boost/fusion/container/set/detail/value_of_data_impl.hpp | 4
sandbox/SOC/2009/fusion/boost/fusion/container/set/detail/value_of_impl.hpp | 6
sandbox/SOC/2009/fusion/boost/fusion/container/set/set.hpp | 13 ++
sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/at_impl.hpp | 6
sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/begin_impl.hpp | 6
sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/deref_impl.hpp | 6
sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/end_impl.hpp | 6
sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/pp/vector.hpp | 15 ++
sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/pp/vector_n.hpp | 175 ++++++++++++++++++++-------------------
sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/value_at_impl.hpp | 6
sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/value_of_impl.hpp | 6
sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/variadic_templates/vector_n.hpp | 6
sandbox/SOC/2009/fusion/boost/fusion/functional/adapter/detail/fused_impl.hpp | 15 +++
sandbox/SOC/2009/fusion/boost/fusion/functional/adapter/detail/pp/unfused_invocation_n.hpp | 2
sandbox/SOC/2009/fusion/boost/fusion/functional/adapter/detail/pp/unfused_typed_impl_n.hpp | 8 +
sandbox/SOC/2009/fusion/boost/fusion/functional/adapter/unfused.hpp | 14 ++
sandbox/SOC/2009/fusion/boost/fusion/functional/adapter/unfused_typed.hpp | 14 ++
sandbox/SOC/2009/fusion/boost/fusion/functional/generation/detail/gen_make_adapter.hpp | 2
sandbox/SOC/2009/fusion/boost/fusion/functional/invocation/detail/invoke.hpp | 18 ++-
sandbox/SOC/2009/fusion/boost/fusion/functional/invocation/detail/pp/invoke_impl.hpp | 2
sandbox/SOC/2009/fusion/boost/fusion/functional/invocation/detail/pp/invoke_impl_n.hpp | 19 ++--
sandbox/SOC/2009/fusion/boost/fusion/functional/invocation/detail/that_ptr.hpp | 22 +++-
sandbox/SOC/2009/fusion/boost/fusion/iterator/advance.hpp | 21 +---
sandbox/SOC/2009/fusion/boost/fusion/iterator/basic_iterator.hpp | 34 +++---
sandbox/SOC/2009/fusion/boost/fusion/iterator/deref.hpp | 20 +---
sandbox/SOC/2009/fusion/boost/fusion/iterator/deref_data.hpp | 19 ---
sandbox/SOC/2009/fusion/boost/fusion/iterator/detail/advance.hpp | 16 +-
sandbox/SOC/2009/fusion/boost/fusion/iterator/detail/distance.hpp | 6
sandbox/SOC/2009/fusion/boost/fusion/iterator/distance.hpp | 20 +---
sandbox/SOC/2009/fusion/boost/fusion/iterator/equal_to.hpp | 21 +---
sandbox/SOC/2009/fusion/boost/fusion/iterator/iterator_facade.hpp | 41 ++++----
sandbox/SOC/2009/fusion/boost/fusion/iterator/key_of.hpp | 18 ---
sandbox/SOC/2009/fusion/boost/fusion/iterator/next.hpp | 18 ---
sandbox/SOC/2009/fusion/boost/fusion/iterator/prior.hpp | 18 ---
sandbox/SOC/2009/fusion/boost/fusion/iterator/value_of.hpp | 16 --
sandbox/SOC/2009/fusion/boost/fusion/iterator/value_of_data.hpp | 18 ---
sandbox/SOC/2009/fusion/boost/fusion/mpl/at.hpp | 6
sandbox/SOC/2009/fusion/boost/fusion/mpl/back.hpp | 6
sandbox/SOC/2009/fusion/boost/fusion/mpl/begin.hpp | 6
sandbox/SOC/2009/fusion/boost/fusion/mpl/clear.hpp | 6
sandbox/SOC/2009/fusion/boost/fusion/mpl/empty.hpp | 6
sandbox/SOC/2009/fusion/boost/fusion/mpl/end.hpp | 6
sandbox/SOC/2009/fusion/boost/fusion/mpl/erase.hpp | 6
sandbox/SOC/2009/fusion/boost/fusion/mpl/erase_key.hpp | 6
sandbox/SOC/2009/fusion/boost/fusion/mpl/front.hpp | 6
sandbox/SOC/2009/fusion/boost/fusion/mpl/fusion_iterator.hpp | 10 +-
sandbox/SOC/2009/fusion/boost/fusion/mpl/has_key.hpp | 6
sandbox/SOC/2009/fusion/boost/fusion/mpl/insert.hpp | 6
sandbox/SOC/2009/fusion/boost/fusion/mpl/insert_range.hpp | 6
sandbox/SOC/2009/fusion/boost/fusion/mpl/pop_back.hpp | 6
sandbox/SOC/2009/fusion/boost/fusion/mpl/pop_front.hpp | 6
sandbox/SOC/2009/fusion/boost/fusion/mpl/push_back.hpp | 6
sandbox/SOC/2009/fusion/boost/fusion/mpl/push_front.hpp | 6
sandbox/SOC/2009/fusion/boost/fusion/mpl/size.hpp | 6
sandbox/SOC/2009/fusion/boost/fusion/sequence/comparison/detail/enable_comparison.hpp | 4
sandbox/SOC/2009/fusion/boost/fusion/sequence/comparison/detail/equal_to.hpp | 12 +-
sandbox/SOC/2009/fusion/boost/fusion/sequence/comparison/detail/greater.hpp | 8
sandbox/SOC/2009/fusion/boost/fusion/sequence/comparison/detail/greater_equal.hpp | 8
sandbox/SOC/2009/fusion/boost/fusion/sequence/comparison/detail/less.hpp | 8
sandbox/SOC/2009/fusion/boost/fusion/sequence/comparison/detail/less_equal.hpp | 8
sandbox/SOC/2009/fusion/boost/fusion/sequence/comparison/detail/not_equal_to.hpp | 12 +-
sandbox/SOC/2009/fusion/boost/fusion/sequence/comparison/equal_to.hpp | 4
sandbox/SOC/2009/fusion/boost/fusion/sequence/comparison/greater.hpp | 4
sandbox/SOC/2009/fusion/boost/fusion/sequence/comparison/greater_equal.hpp | 4
sandbox/SOC/2009/fusion/boost/fusion/sequence/comparison/less.hpp | 4
sandbox/SOC/2009/fusion/boost/fusion/sequence/comparison/less_equal.hpp | 10 +-
sandbox/SOC/2009/fusion/boost/fusion/sequence/comparison/not_equal_to.hpp | 4
sandbox/SOC/2009/fusion/boost/fusion/sequence/convert.hpp | 6
sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/at.hpp | 25 +---
sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/at_key.hpp | 24 +----
sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/back.hpp | 10 -
sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/begin.hpp | 20 +---
sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/empty.hpp | 20 +---
sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/end.hpp | 19 ---
sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/ext_/segments.hpp | 2
sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/front.hpp | 6
sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/has_key.hpp | 19 ---
sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/size.hpp | 19 ---
sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/value_at.hpp | 19 ---
sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/value_at_key.hpp | 18 ---
sandbox/SOC/2009/fusion/boost/fusion/sequence/io/detail/in.hpp | 14 +-
sandbox/SOC/2009/fusion/boost/fusion/sequence/io/detail/manip.hpp | 28 +++---
sandbox/SOC/2009/fusion/boost/fusion/sequence/io/detail/out.hpp | 14 +-
sandbox/SOC/2009/fusion/boost/fusion/sequence/io/in.hpp | 4
sandbox/SOC/2009/fusion/boost/fusion/sequence/io/out.hpp | 4
sandbox/SOC/2009/fusion/boost/fusion/sequence/sequence_facade.hpp | 81 ++++-------------
sandbox/SOC/2009/fusion/boost/fusion/support/category_of.hpp | 14 +-
sandbox/SOC/2009/fusion/boost/fusion/support/deduce.hpp | 90 ++++++++++++++++----
sandbox/SOC/2009/fusion/boost/fusion/support/deduce_sequence.hpp | 2
sandbox/SOC/2009/fusion/boost/fusion/support/internal/is_explicitly_convertible.hpp | 2
sandbox/SOC/2009/fusion/boost/fusion/support/internal/ref.hpp | 140 +++++++++++++++++++++++++------
sandbox/SOC/2009/fusion/boost/fusion/support/internal/workaround.hpp | 2
sandbox/SOC/2009/fusion/boost/fusion/support/is_iterator.hpp | 4
sandbox/SOC/2009/fusion/boost/fusion/support/is_sequence.hpp | 6
sandbox/SOC/2009/fusion/boost/fusion/support/is_view.hpp | 4
sandbox/SOC/2009/fusion/boost/fusion/support/iterator_base.hpp | 2
sandbox/SOC/2009/fusion/boost/fusion/support/pair.hpp | 16 +-
sandbox/SOC/2009/fusion/boost/fusion/support/sequence_base.hpp | 2
sandbox/SOC/2009/fusion/boost/fusion/support/tag_of.hpp | 4
sandbox/SOC/2009/fusion/boost/fusion/support/unused.hpp | 9 +
sandbox/SOC/2009/fusion/boost/fusion/tuple/tuple.hpp | 21 +++-
sandbox/SOC/2009/fusion/boost/fusion/view/filter_view/detail/begin_impl.hpp | 8
sandbox/SOC/2009/fusion/boost/fusion/view/filter_view/detail/deref_data_impl.hpp | 6
sandbox/SOC/2009/fusion/boost/fusion/view/filter_view/detail/deref_impl.hpp | 4
sandbox/SOC/2009/fusion/boost/fusion/view/filter_view/detail/end_impl.hpp | 8
sandbox/SOC/2009/fusion/boost/fusion/view/filter_view/detail/filter_view_iterator.hpp | 2
sandbox/SOC/2009/fusion/boost/fusion/view/filter_view/detail/key_of_impl.hpp | 6
sandbox/SOC/2009/fusion/boost/fusion/view/filter_view/detail/next_impl.hpp | 6
sandbox/SOC/2009/fusion/boost/fusion/view/filter_view/detail/size_impl.hpp | 6
sandbox/SOC/2009/fusion/boost/fusion/view/filter_view/detail/value_of_data_impl.hpp | 6
sandbox/SOC/2009/fusion/boost/fusion/view/filter_view/detail/value_of_impl.hpp | 6
sandbox/SOC/2009/fusion/boost/fusion/view/filter_view/filter_view.hpp | 2
sandbox/SOC/2009/fusion/boost/fusion/view/iterator_range/detail/at_impl.hpp | 6
sandbox/SOC/2009/fusion/boost/fusion/view/iterator_range/detail/begin_impl.hpp | 6
sandbox/SOC/2009/fusion/boost/fusion/view/iterator_range/detail/end_impl.hpp | 6
sandbox/SOC/2009/fusion/boost/fusion/view/iterator_range/detail/value_at_impl.hpp | 6
sandbox/SOC/2009/fusion/boost/fusion/view/iterator_range/iterator_range.hpp | 2
sandbox/SOC/2009/fusion/boost/fusion/view/joint_view/detail/begin_impl.hpp | 10 +-
sandbox/SOC/2009/fusion/boost/fusion/view/joint_view/detail/deref_data_impl.hpp | 8
sandbox/SOC/2009/fusion/boost/fusion/view/joint_view/detail/deref_impl.hpp | 6
sandbox/SOC/2009/fusion/boost/fusion/view/joint_view/detail/end_impl.hpp | 8
sandbox/SOC/2009/fusion/boost/fusion/view/joint_view/detail/equal_to_impl.hpp | 2
sandbox/SOC/2009/fusion/boost/fusion/view/joint_view/detail/joint_view_iterator.hpp | 4
sandbox/SOC/2009/fusion/boost/fusion/view/joint_view/detail/key_of_impl.hpp | 8
sandbox/SOC/2009/fusion/boost/fusion/view/joint_view/detail/next_impl.hpp | 10 +-
sandbox/SOC/2009/fusion/boost/fusion/view/joint_view/detail/value_of_data_impl.hpp | 8
sandbox/SOC/2009/fusion/boost/fusion/view/joint_view/detail/value_of_impl.hpp | 8
sandbox/SOC/2009/fusion/boost/fusion/view/joint_view/joint_view.hpp | 2
sandbox/SOC/2009/fusion/boost/fusion/view/nview/detail/next_impl.hpp | 6
sandbox/SOC/2009/fusion/boost/fusion/view/nview/detail/prior_impl.hpp | 6
sandbox/SOC/2009/fusion/boost/fusion/view/nview/nview.hpp | 1
sandbox/SOC/2009/fusion/boost/fusion/view/repetitive_view/detail/begin_impl.hpp | 8
sandbox/SOC/2009/fusion/boost/fusion/view/repetitive_view/detail/deref_data_impl.hpp | 6
sandbox/SOC/2009/fusion/boost/fusion/view/repetitive_view/detail/deref_impl.hpp | 6
sandbox/SOC/2009/fusion/boost/fusion/view/repetitive_view/detail/end_impl.hpp | 8
sandbox/SOC/2009/fusion/boost/fusion/view/repetitive_view/detail/key_of_impl.hpp | 6
sandbox/SOC/2009/fusion/boost/fusion/view/repetitive_view/detail/next_impl.hpp | 4
sandbox/SOC/2009/fusion/boost/fusion/view/repetitive_view/detail/prior_impl.hpp | 4
sandbox/SOC/2009/fusion/boost/fusion/view/repetitive_view/detail/value_of_data_impl.hpp | 6
sandbox/SOC/2009/fusion/boost/fusion/view/repetitive_view/detail/value_of_impl.hpp | 6
sandbox/SOC/2009/fusion/boost/fusion/view/repetitive_view/repetitive_view.hpp | 1
sandbox/SOC/2009/fusion/boost/fusion/view/reverse_view/detail/at_impl.hpp | 8
sandbox/SOC/2009/fusion/boost/fusion/view/reverse_view/detail/begin_impl.hpp | 8
sandbox/SOC/2009/fusion/boost/fusion/view/reverse_view/detail/deref_data_impl.hpp | 6
sandbox/SOC/2009/fusion/boost/fusion/view/reverse_view/detail/deref_impl.hpp | 6
sandbox/SOC/2009/fusion/boost/fusion/view/reverse_view/detail/end_impl.hpp | 8
sandbox/SOC/2009/fusion/boost/fusion/view/reverse_view/detail/key_of_impl.hpp | 6
sandbox/SOC/2009/fusion/boost/fusion/view/reverse_view/detail/next_impl.hpp | 4
sandbox/SOC/2009/fusion/boost/fusion/view/reverse_view/detail/prior_impl.hpp | 4
sandbox/SOC/2009/fusion/boost/fusion/view/reverse_view/detail/reverse_view_fwd.hpp | 9 +
sandbox/SOC/2009/fusion/boost/fusion/view/reverse_view/detail/reverse_view_iterator.hpp | 2
sandbox/SOC/2009/fusion/boost/fusion/view/reverse_view/detail/value_at_impl.hpp | 6
sandbox/SOC/2009/fusion/boost/fusion/view/reverse_view/detail/value_of_data_impl.hpp | 6
sandbox/SOC/2009/fusion/boost/fusion/view/reverse_view/detail/value_of_impl.hpp | 6
sandbox/SOC/2009/fusion/boost/fusion/view/reverse_view/reverse_view.hpp | 2
sandbox/SOC/2009/fusion/boost/fusion/view/single_view/detail/at_impl.hpp | 2
sandbox/SOC/2009/fusion/boost/fusion/view/single_view/detail/begin_impl.hpp | 8
sandbox/SOC/2009/fusion/boost/fusion/view/single_view/detail/deref_impl.hpp | 6
sandbox/SOC/2009/fusion/boost/fusion/view/single_view/detail/end_impl.hpp | 8
sandbox/SOC/2009/fusion/boost/fusion/view/single_view/detail/next_impl.hpp | 6
sandbox/SOC/2009/fusion/boost/fusion/view/single_view/detail/prior_impl.hpp | 6
sandbox/SOC/2009/fusion/boost/fusion/view/single_view/detail/value_of_impl.hpp | 6
sandbox/SOC/2009/fusion/boost/fusion/view/single_view/single_view.hpp | 18 +++
sandbox/SOC/2009/fusion/boost/fusion/view/transform_view/detail/begin_impl.hpp | 22 ++--
sandbox/SOC/2009/fusion/boost/fusion/view/transform_view/detail/deref_data_impl.hpp | 10 +-
sandbox/SOC/2009/fusion/boost/fusion/view/transform_view/detail/deref_impl.hpp | 10 +-
sandbox/SOC/2009/fusion/boost/fusion/view/transform_view/detail/end_impl.hpp | 20 ++--
sandbox/SOC/2009/fusion/boost/fusion/view/transform_view/detail/key_of_impl.hpp | 10 +-
sandbox/SOC/2009/fusion/boost/fusion/view/transform_view/detail/next_impl.hpp | 10 +-
sandbox/SOC/2009/fusion/boost/fusion/view/transform_view/detail/transform_view_iterator.hpp | 4
sandbox/SOC/2009/fusion/boost/fusion/view/transform_view/detail/value_of_data_impl.hpp | 10 +-
sandbox/SOC/2009/fusion/boost/fusion/view/transform_view/detail/value_of_impl.hpp | 10 +-
sandbox/SOC/2009/fusion/boost/fusion/view/zip_view/detail/begin_impl.hpp | 16 +--
sandbox/SOC/2009/fusion/boost/fusion/view/zip_view/detail/end_impl.hpp | 10 +-
sandbox/SOC/2009/fusion/boost/fusion/view/zip_view/zip_view.hpp | 2
sandbox/SOC/2009/fusion/libs/fusion/example/cookbook/do_the_bind.cpp | 50 +++++-----
sandbox/SOC/2009/fusion/libs/fusion/example/extension/vtuple/tuple142plus.cpp | 28 +++---
sandbox/SOC/2009/fusion/libs/fusion/example/performance/functional.cpp | 6
sandbox/SOC/2009/fusion/libs/fusion/example/performance/measure.hpp | 4
sandbox/SOC/2009/fusion/libs/fusion/example/performance/sequence_efficiency.cpp | 14 +-
sandbox/SOC/2009/fusion/libs/fusion/example/performance/zip_efficiency.cpp | 8
sandbox/SOC/2009/fusion/libs/fusion/test/suite1/algorithm/replace_if.cpp | 3
sandbox/SOC/2009/fusion/libs/fusion/test/suite1/sequence/adapt_assoc_class.cpp | 3
sandbox/SOC/2009/fusion/libs/fusion/test/suite1/sequence/adapt_assoc_class_named.cpp | 5
sandbox/SOC/2009/fusion/libs/fusion/test/suite1/sequence/adapt_assoc_struct.cpp | 3
sandbox/SOC/2009/fusion/libs/fusion/test/suite1/sequence/adapt_assoc_struct_named.cpp | 5
sandbox/SOC/2009/fusion/libs/fusion/test/suite1/sequence/adapt_assoc_tpl_class.cpp | 3
sandbox/SOC/2009/fusion/libs/fusion/test/suite1/sequence/adapt_assoc_tpl_struct.cpp | 3
sandbox/SOC/2009/fusion/libs/fusion/test/suite1/sequence/adapt_class.cpp | 3
sandbox/SOC/2009/fusion/libs/fusion/test/suite1/sequence/adapt_class_named.cpp | 5
sandbox/SOC/2009/fusion/libs/fusion/test/suite1/sequence/adapt_struct.cpp | 3
sandbox/SOC/2009/fusion/libs/fusion/test/suite1/sequence/adapt_struct_named.cpp | 5
sandbox/SOC/2009/fusion/libs/fusion/test/suite1/sequence/adapt_tpl_class.cpp | 3
sandbox/SOC/2009/fusion/libs/fusion/test/suite1/sequence/adapt_tpl_struct.cpp | 3
sandbox/SOC/2009/fusion/libs/fusion/test/suite1/sequence/construction.hpp | 3
sandbox/SOC/2009/fusion/libs/fusion/test/suite1/sequence/define_assoc_struct.cpp | 3
sandbox/SOC/2009/fusion/libs/fusion/test/suite1/sequence/define_assoc_tpl_struct.cpp | 3
sandbox/SOC/2009/fusion/libs/fusion/test/suite1/sequence/define_struct.cpp | 3
sandbox/SOC/2009/fusion/libs/fusion/test/suite1/sequence/define_tpl_struct.cpp | 3
sandbox/SOC/2009/fusion/libs/fusion/test/suite1/sequence/make.hpp | 5
sandbox/SOC/2009/fusion/libs/fusion/test/suite1/sequence/misc.hpp | 3
sandbox/SOC/2009/fusion/libs/fusion/test/suite1/sequence/vector_n.cpp | 3
346 files changed, 1742 insertions(+), 1563 deletions(-)
Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/class/adapt_assoc_class.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/class/adapt_assoc_class.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/class/adapt_assoc_class.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -60,6 +60,7 @@
(1)TEMPLATE_PARAMS_SEQ, \
(1)NAME_SEQ, \
assoc_struct_tag, \
+ 0, \
BOOST_PP_CAT(BOOST_FUSION_ADAPT_ASSOC_CLASS_FILLER_0 ATTRIBUTES,_END), \
BOOST_FUSION_ADAPT_ASSOC_CLASS_C)
@@ -68,6 +69,16 @@
(0), \
(0)(NAME), \
assoc_struct_tag, \
+ 0, \
+ BOOST_PP_CAT(BOOST_FUSION_ADAPT_ASSOC_CLASS_FILLER_0 ATTRIBUTES,_END), \
+ BOOST_FUSION_ADAPT_ASSOC_CLASS_C)
+
+#define BOOST_FUSION_ADAPT_ASSOC_CLASS_AS_VIEW(NAME, ATTRIBUTES) \
+ BOOST_FUSION_ADAPT_STRUCT_BASE( \
+ (0), \
+ (0)(NAME), \
+ assoc_struct_tag, \
+ 1, \
BOOST_PP_CAT(BOOST_FUSION_ADAPT_ASSOC_CLASS_FILLER_0 ATTRIBUTES,_END), \
BOOST_FUSION_ADAPT_ASSOC_CLASS_C)
Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/class/adapt_assoc_class_named.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/class/adapt_assoc_class_named.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/class/adapt_assoc_class_named.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -17,7 +17,7 @@
BOOST_FUSION_ADAPT_STRUCT_DEFINE_PROXY_TYPE_IMPL( \
WRAPPED_TYPE,(0)NAMESPACE_SEQ,NAME) \
\
- BOOST_FUSION_ADAPT_ASSOC_CLASS( \
+ BOOST_FUSION_ADAPT_ASSOC_CLASS_AS_VIEW( \
BOOST_FUSION_ADAPT_STRUCT_NAMESPACE_DECLARATION((0)NAMESPACE_SEQ)NAME, \
ATTRIBUTES)
Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/class/adapt_class.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/class/adapt_class.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/class/adapt_class.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -45,6 +45,7 @@
(1)TEMPLATE_PARAMS_SEQ, \
(1)NAME_SEQ, \
struct_tag, \
+ 0, \
BOOST_PP_CAT(BOOST_FUSION_ADAPT_CLASS_FILLER_0 ATTRIBUTES,_END), \
BOOST_FUSION_ADAPT_CLASS_C)
@@ -53,8 +54,17 @@
(0), \
(0)(NAME), \
struct_tag, \
+ 0, \
BOOST_PP_CAT(BOOST_FUSION_ADAPT_CLASS_FILLER_0 ATTRIBUTES,_END), \
BOOST_FUSION_ADAPT_CLASS_C)
+#define BOOST_FUSION_ADAPT_CLASS_AS_VIEW(NAME, ATTRIBUTES) \
+ BOOST_FUSION_ADAPT_STRUCT_BASE( \
+ (0), \
+ (0)(NAME), \
+ struct_tag, \
+ 1, \
+ BOOST_PP_CAT(BOOST_FUSION_ADAPT_CLASS_FILLER_0 ATTRIBUTES,_END), \
+ BOOST_FUSION_ADAPT_CLASS_C)
#endif
Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/class/adapt_class_named.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/class/adapt_class_named.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/class/adapt_class_named.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -19,7 +19,7 @@
BOOST_FUSION_ADAPT_STRUCT_DEFINE_PROXY_TYPE_IMPL( \
WRAPPED_TYPE,(0)NAMESPACE_SEQ,NAME) \
\
- BOOST_FUSION_ADAPT_CLASS( \
+ BOOST_FUSION_ADAPT_CLASS_AS_VIEW( \
BOOST_FUSION_ADAPT_STRUCT_NAMESPACE_DECLARATION((0)NAMESPACE_SEQ)NAME, \
ATTRIBUTES)
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 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -17,10 +17,10 @@
template<typename>
struct begin_impl;
- template <>
+ template<>
struct begin_impl<array_tag>
{
- template <typename Seq>
+ template<typename Seq>
struct apply
{
typedef
Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/array/deref_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/array/deref_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/array/deref_impl.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -10,13 +10,13 @@
namespace boost { namespace fusion { namespace extension
{
- template <typename>
+ template<typename>
struct deref_impl;
- template <>
+ template<>
struct deref_impl<array_iterator_tag>
{
- template <typename It>
+ template<typename It>
struct apply
{
typedef typename detail::remove_reference<It>::type it;
Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/array/end_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/array/end_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/array/end_impl.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -14,13 +14,13 @@
namespace boost { namespace fusion { namespace extension
{
- template <typename>
+ template<typename>
struct end_impl;
- template <>
+ template<>
struct end_impl<array_tag>
{
- template <typename Seq>
+ template<typename Seq>
struct apply
{
typedef
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 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -14,10 +14,10 @@
template<typename>
struct value_at_impl;
- template <>
+ template<>
struct value_at_impl<array_tag>
{
- template <typename Seq, typename N>
+ template<typename Seq, typename N>
struct apply
{
typedef typename
Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/array/value_of_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/array/value_of_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/array/value_of_impl.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -10,13 +10,13 @@
namespace boost { namespace fusion { namespace extension
{
- template <typename>
+ template<typename>
struct value_of_impl;
- template <>
+ template<>
struct value_of_impl<array_iterator_tag>
{
- template <typename It>
+ template<typename It>
struct apply
: detail::remove_reference<
typename detail::remove_reference<It>::type::seq_type
Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/class/extension.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/class/extension.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/class/extension.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -14,7 +14,7 @@
{
namespace detail
{
- template <typename T, typename Dummy>
+ template<typename T, typename Dummy>
struct get_identity
: identity<T>
{};
@@ -22,7 +22,7 @@
namespace extension
{
- template <typename T, int N>
+ template<typename T, int N>
struct class_member_proxy;
}
}}
Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/mpl/advance_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/mpl/advance_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/mpl/advance_impl.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -12,13 +12,13 @@
namespace boost { namespace fusion { namespace extension
{
- template <typename>
+ template<typename>
struct advance_impl;
- template <>
+ template<>
struct advance_impl<mpl_iterator_tag>
{
- template <typename It, typename N>
+ template<typename It, typename N>
struct apply
{
typedef
Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/mpl/at_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/mpl/at_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/mpl/at_impl.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -16,10 +16,10 @@
template<typename>
struct at_impl;
- template <>
+ template<>
struct at_impl<mpl_sequence_tag>
{
- template <typename Seq, typename N>
+ template<typename Seq, typename N>
struct apply
{
typedef typename
Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/mpl/begin_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/mpl/begin_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/mpl/begin_impl.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -14,13 +14,13 @@
namespace boost { namespace fusion { namespace extension
{
- template <typename>
+ template<typename>
struct begin_impl;
- template <>
+ template<>
struct begin_impl<mpl_sequence_tag>
{
- template <typename Seq>
+ template<typename Seq>
struct apply
{
typedef
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 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -25,22 +25,22 @@
namespace detail
{
- template <typename Category>
+ template<typename Category>
struct mpl_iterator_category;
- template <>
+ template<>
struct mpl_iterator_category<mpl::forward_iterator_tag>
{
typedef forward_traversal_tag type;
};
- template <>
+ template<>
struct mpl_iterator_category<mpl::bidirectional_iterator_tag>
{
typedef bidirectional_traversal_tag type;
};
- template <>
+ template<>
struct mpl_iterator_category<mpl::random_access_iterator_tag>
{
typedef random_access_traversal_tag type;
Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/mpl/deref_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/mpl/deref_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/mpl/deref_impl.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -12,13 +12,13 @@
namespace boost { namespace fusion { namespace extension
{
- template <typename>
+ template<typename>
struct deref_impl;
- template <>
+ template<>
struct deref_impl<mpl_iterator_tag>
{
- template <typename It>
+ template<typename It>
struct apply
{
typedef typename
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 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -13,13 +13,13 @@
namespace boost { namespace fusion { namespace extension
{
- template <typename>
+ template<typename>
struct distance_impl;
- template <>
+ template<>
struct distance_impl<mpl_iterator_tag>
{
- template <typename It1, typename It2>
+ template<typename It1, typename It2>
struct apply
: mpl::distance<
typename detail::identity<It1>::type
Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/mpl/empty_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/mpl/empty_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/mpl/empty_impl.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -13,13 +13,13 @@
namespace boost { namespace fusion { namespace extension
{
- template <typename>
+ template<typename>
struct empty_impl;
- template <>
+ template<>
struct empty_impl<mpl_sequence_tag>
{
- template <typename Seq>
+ template<typename Seq>
struct apply
: mpl::empty<typename detail::identity<Seq>::type>
{};
Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/mpl/end_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/mpl/end_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/mpl/end_impl.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -14,13 +14,13 @@
namespace boost { namespace fusion { namespace extension
{
- template <typename>
+ template<typename>
struct end_impl;
- template <>
+ template<>
struct end_impl<mpl_sequence_tag>
{
- template <typename Seq>
+ template<typename Seq>
struct apply
{
typedef
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 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -13,13 +13,13 @@
namespace boost { namespace fusion { namespace extension
{
- template <typename>
+ template<typename>
struct equal_to_impl;
- template <>
+ template<>
struct equal_to_impl<mpl_iterator_tag>
{
- template <typename It1, typename It2>
+ template<typename It1, typename It2>
struct apply
: is_same<
typename detail::identity<It1>::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 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -10,13 +10,13 @@
namespace boost { namespace fusion { namespace detail
{
- template <typename It, typename Active = void>
+ template<typename It, typename Active = void>
struct get_mpl_it
{
typedef It type;
};
- template <typename It>
+ template<typename It>
struct get_mpl_it<It, typename It::void_>
{
typedef typename It::it_type type;
Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/mpl/has_key_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/mpl/has_key_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/mpl/has_key_impl.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -13,13 +13,13 @@
namespace boost { namespace fusion { namespace extension
{
- template <typename>
+ template<typename>
struct has_key_impl;
- template <>
+ template<>
struct has_key_impl<mpl_sequence_tag>
{
- template <typename Seq, typename Key>
+ template<typename Seq, typename Key>
struct apply
: mpl::has_key<typename detail::identity<Seq>::type, Key>
{};
Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/mpl/mpl_iterator.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/mpl/mpl_iterator.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/mpl/mpl_iterator.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -23,29 +23,29 @@
namespace extension
{
- template <typename>
+ template<typename>
struct value_of_impl;
- template <typename>
+ template<typename>
struct equal_to_impl;
- template <typename>
+ template<typename>
struct deref_impl;
- template <typename>
+ template<typename>
struct next_impl;
- template <typename>
+ template<typename>
struct prior_impl;
- template <typename>
+ template<typename>
struct advance_impl;
- template <typename>
+ template<typename>
struct distance_impl;
}
- template <typename It>
+ template<typename It>
struct mpl_iterator
: iterator_facade<
mpl_iterator<It>
@@ -56,49 +56,49 @@
typedef void void_;
typedef It it_type;
- template <typename>
+ template<typename>
struct value_of
: extension::value_of_impl<
typename mpl::apply1<mpl::always<mpl_iterator_tag>,It>::type
>::template apply<It>
{};
- template <typename, typename It2>
+ template<typename, typename It2>
struct equal_to
: extension::equal_to_impl<
typename mpl::apply1<mpl::always<mpl_iterator_tag>,It>::type
>::template apply<It,It2>
{};
- template <typename>
+ template<typename>
struct deref
: extension::deref_impl<
typename mpl::apply1<mpl::always<mpl_iterator_tag>,It>::type
>::template apply<It>
{};
- template <typename>
+ template<typename>
struct next
: extension::next_impl<
typename mpl::apply1<mpl::always<mpl_iterator_tag>,It>::type
>::template apply<It>
{};
- template <typename>
+ template<typename>
struct prior
: extension::prior_impl<
typename mpl::apply1<mpl::always<mpl_iterator_tag>,It>::type
>::template apply<It>
{};
- template <typename, typename N>
+ template<typename, typename N>
struct advance
: extension::advance_impl<
typename mpl::apply1<mpl::always<mpl_iterator_tag>,It>::type
>::template apply<It,N>
{};
- template <typename, typename It2>
+ template<typename, typename It2>
struct distance
: extension::distance_impl<
typename mpl::apply1<mpl::always<mpl_iterator_tag>,It>::type
Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/mpl/next_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/mpl/next_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/mpl/next_impl.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -12,13 +12,13 @@
namespace boost { namespace fusion { namespace extension
{
- template <typename>
+ template<typename>
struct next_impl;
- template <>
+ template<>
struct next_impl<mpl_iterator_tag>
{
- template <typename It>
+ template<typename It>
struct apply
{
typedef
Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/mpl/prior_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/mpl/prior_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/mpl/prior_impl.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -12,13 +12,13 @@
namespace boost { namespace fusion { namespace extension
{
- template <typename>
+ template<typename>
struct prior_impl;
- template <>
+ template<>
struct prior_impl<mpl_iterator_tag>
{
- template <typename It>
+ template<typename It>
struct apply
{
typedef
Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/mpl/size_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/mpl/size_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/mpl/size_impl.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -16,10 +16,10 @@
template<typename>
struct size_impl;
- template <>
+ template<>
struct size_impl<mpl_sequence_tag>
{
- template <typename Seq>
+ template<typename Seq>
struct apply
: mpl::size<typename detail::identity<Seq>::type>
{};
Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/mpl/tag_of.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/mpl/tag_of.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/mpl/tag_of.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -38,7 +38,7 @@
: mpl::equal_to<typename T::category, Category>
{};
- template <typename T, typename Enable>
+ template<typename T, typename Enable>
struct tag_of_fallback;
template<typename T>
Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/mpl/value_at_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/mpl/value_at_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/mpl/value_at_impl.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -13,13 +13,13 @@
namespace boost { namespace fusion { namespace extension
{
- template <typename>
+ template<typename>
struct value_at_impl;
- template <>
+ template<>
struct value_at_impl<mpl_sequence_tag>
{
- template <typename Seq, typename N>
+ template<typename Seq, typename N>
struct apply
: mpl::at<typename detail::identity<Seq>::type, N>
{};
Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/mpl/value_of_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/mpl/value_of_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/mpl/value_of_impl.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -12,13 +12,13 @@
namespace boost { namespace fusion { namespace extension
{
- template <typename>
+ template<typename>
struct value_of_impl;
- template <>
+ template<>
struct value_of_impl<mpl_iterator_tag>
{
- template <typename It>
+ template<typename It>
struct apply
: mpl::deref<typename detail::identity<It>::type>
{};
Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/po_array/begin_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/po_array/begin_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/po_array/begin_impl.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -15,10 +15,10 @@
template<typename>
struct begin_impl;
- template <>
+ template<>
struct begin_impl<po_array_tag>
{
- template <typename Seq>
+ template<typename Seq>
struct apply
{
typedef
Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/po_array/deref_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/po_array/deref_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/po_array/deref_impl.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -12,13 +12,13 @@
namespace boost { namespace fusion { namespace extension
{
- template <typename>
+ template<typename>
struct deref_impl;
- template <>
+ template<>
struct deref_impl<po_array_iterator_tag>
{
- template <typename It>
+ template<typename It>
struct apply
{
typedef typename detail::remove_reference<It>::type it;
Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/po_array/end_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/po_array/end_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/po_array/end_impl.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -14,13 +14,13 @@
namespace boost { namespace fusion { namespace extension
{
- template <typename>
+ template<typename>
struct end_impl;
- template <>
+ template<>
struct end_impl<po_array_tag>
{
- template <typename Seq>
+ template<typename Seq>
struct apply
{
typedef typename detail::remove_reference<Seq>::type seq;
Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/po_array/value_at_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/po_array/value_at_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/po_array/value_at_impl.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -15,10 +15,10 @@
template<typename>
struct value_at_impl;
- template <>
+ template<>
struct value_at_impl<po_array_tag>
{
- template <typename Seq, typename N>
+ template<typename Seq, typename N>
struct apply
: remove_extent<typename detail::remove_reference<Seq>::type>
{};
Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/po_array/value_of_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/po_array/value_of_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/po_array/value_of_impl.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -12,13 +12,13 @@
namespace boost { namespace fusion { namespace extension
{
- template <typename>
+ template<typename>
struct value_of_impl;
- template <>
+ template<>
struct value_of_impl<po_array_iterator_tag>
{
- template <typename It>
+ template<typename It>
struct apply
: remove_extent<
typename detail::remove_reference<
Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/struct/adapt_base.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/struct/adapt_base.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/struct/adapt_base.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -22,6 +22,7 @@
#include <boost/preprocessor/seq/seq.hpp>
#include <boost/preprocessor/tuple/eat.hpp>
#include <boost/preprocessor/tuple/elem.hpp>
+#include <boost/mpl/bool.hpp>
#include <boost/mpl/tag.hpp>
#define BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME_TEMPLATE_PARAMS(SEQ) \
@@ -130,7 +131,12 @@
};
#define BOOST_FUSION_ADAPT_STRUCT_BASE( \
- TEMPLATE_PARAMS_SEQ,NAME_SEQ,TAG,ATTRIBUTES_SEQ,ATTRIBUTES_CALLBACK) \
+ TEMPLATE_PARAMS_SEQ, \
+ NAME_SEQ, \
+ TAG, \
+ IS_VIEW, \
+ ATTRIBUTES_SEQ, \
+ ATTRIBUTES_CALLBACK) \
\
namespace boost \
{ \
@@ -158,6 +164,16 @@
struct struct_size<BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME(NAME_SEQ)> \
: mpl::int_<BOOST_PP_SEQ_SIZE(ATTRIBUTES_SEQ)> \
{}; \
+ \
+ template< \
+ BOOST_FUSION_ADAPT_STRUCT_UNPACK_TEMPLATE_PARAMS( \
+ TEMPLATE_PARAMS_SEQ) \
+ > \
+ struct struct_is_view< \
+ BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME(NAME_SEQ) \
+ > \
+ : mpl::BOOST_PP_IF(IS_VIEW,true_,false_) \
+ {}; \
} \
} \
\
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 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -17,10 +17,10 @@
template<typename>
struct at_impl;
- template <>
+ template<>
struct at_impl<struct_tag>
{
- template <typename Seq, typename N>
+ template<typename Seq, typename N>
struct apply
: extension::struct_member<
typename detail::identity<Seq>::type
@@ -29,7 +29,7 @@
{};
};
- template <>
+ template<>
struct at_impl<assoc_struct_tag>
: at_impl<struct_tag>
{};
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 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -17,10 +17,10 @@
template<typename>
struct begin_impl;
- template <>
+ template<>
struct begin_impl<struct_tag>
{
- template <typename Seq>
+ template<typename Seq>
struct apply
{
typedef
@@ -40,10 +40,10 @@
};
};
- template <>
+ template<>
struct begin_impl<assoc_struct_tag>
{
- template <typename Seq>
+ template<typename Seq>
struct apply
{
typedef
Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/struct/define_struct.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/struct/define_struct.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/struct/define_struct.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -276,8 +276,8 @@
template<typename Arg> \
explicit \
NAME(Arg&& arg \
- , typename enable_if< \
- detail::is_explicitly_convertible< \
+ , typename boost::enable_if< \
+ boost::fusion::detail::is_explicitly_convertible< \
Arg&& \
, BOOST_PP_TUPLE_ELEM( \
ATTRIBUTE_TUPEL_SIZE,0,BOOST_PP_SEQ_HEAD(ATTRIBUTES_SEQ)) \
Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/struct/deref_data_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/struct/deref_data_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/struct/deref_data_impl.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -10,10 +10,10 @@
namespace boost { namespace fusion { namespace extension
{
- template <typename>
+ template<typename>
struct deref_data_impl;
- template <>
+ template<>
struct deref_data_impl<struct_iterator_tag>
: deref_impl<struct_iterator_tag>
{};
Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/struct/deref_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/struct/deref_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/struct/deref_impl.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -10,13 +10,13 @@
namespace boost { namespace fusion { namespace extension
{
- template <typename>
+ template<typename>
struct deref_impl;
- template <>
+ template<>
struct deref_impl<struct_iterator_tag>
{
- template <typename It>
+ template<typename It>
struct apply
{
typedef typename detail::remove_reference<It>::type it;
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 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -14,13 +14,13 @@
namespace boost { namespace fusion { namespace extension
{
- template <typename>
+ template<typename>
struct end_impl;
- template <>
+ template<>
struct end_impl<struct_tag>
{
- template <typename Seq>
+ template<typename Seq>
struct apply
{
typedef
@@ -40,10 +40,10 @@
};
};
- template <>
+ template<>
struct end_impl<assoc_struct_tag>
{
- template <typename Seq>
+ template<typename Seq>
struct apply
{
typedef
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 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -33,11 +33,14 @@
template<typename Seq, int N>
struct struct_member_name;
- template<typename Seq, int N>
- struct struct_assoc_key;
-
template<typename Seq>
struct struct_size;
+
+ template<typename Seq>
+ struct struct_is_view;
+
+ template<typename Seq, int N>
+ struct struct_assoc_key;
}
}}
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 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -26,7 +26,7 @@
{};
};
- template <>
+ template<>
struct is_sequence_impl<assoc_struct_tag>
: is_sequence_impl<struct_tag>
{};
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 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -10,8 +10,6 @@
#ifndef BOOST_FUSION_ADAPTED_DETAIL_STRUCT_IS_VIEW_IMPL_HPP
#define BOOST_FUSION_ADAPTED_DETAIL_STRUCT_IS_VIEW_IMPL_HPP
-#include <boost/mpl/bool.hpp>
-
namespace boost { namespace fusion { namespace extension
{
template<typename>
@@ -22,11 +20,11 @@
{
template<typename Seq>
struct apply
- : mpl::false_
+ : struct_is_view<typename detail::identity<Seq>::type>
{};
};
- template <>
+ template<>
struct is_view_impl<assoc_struct_tag>
: is_view_impl<struct_tag>
{};
Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/struct/key_of_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/struct/key_of_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/struct/key_of_impl.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -10,13 +10,13 @@
namespace boost { namespace fusion { namespace extension
{
- template <typename>
+ template<typename>
struct key_of_impl;
- template <>
+ template<>
struct key_of_impl<struct_iterator_tag>
{
- template <typename It>
+ template<typename It>
struct apply
{
typedef typename detail::remove_reference<It>::type it;
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 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -15,16 +15,16 @@
template<typename>
struct size_impl;
- template <>
+ template<>
struct size_impl<struct_tag>
{
- template <typename Seq>
+ template<typename Seq>
struct apply
: struct_size<typename detail::identity<Seq>::type>
{};
};
- template <>
+ template<>
struct size_impl<assoc_struct_tag>
: size_impl<struct_tag>
{};
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 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -15,16 +15,16 @@
template<typename>
struct value_at_impl;
- template <>
+ template<>
struct value_at_impl<struct_tag>
{
- template <typename Seq, typename N>
+ template<typename Seq, typename N>
struct apply
: struct_member<typename detail::identity<Seq>::type, N::value>
{};
};
- template <>
+ template<>
struct value_at_impl<assoc_struct_tag>
: value_at_impl<struct_tag>
{};
Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/struct/value_of_data_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/struct/value_of_data_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/struct/value_of_data_impl.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -10,10 +10,10 @@
namespace boost { namespace fusion { namespace extension
{
- template <typename>
+ template<typename>
struct value_of_data_impl;
- template <>
+ template<>
struct value_of_data_impl<struct_iterator_tag>
: value_of_impl<struct_iterator_tag>
{};
Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/struct/value_of_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/struct/value_of_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/struct/value_of_impl.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -10,13 +10,13 @@
namespace boost { namespace fusion { namespace extension
{
- template <typename>
+ template<typename>
struct value_of_impl;
- template <>
+ template<>
struct value_of_impl<struct_iterator_tag>
{
- template <typename It>
+ template<typename It>
struct apply
{
typedef typename detail::remove_reference<It>::type it;
Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/tuple/at_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/tuple/at_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/tuple/at_impl.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -10,10 +10,10 @@
template<typename>
struct at_impl;
- template <>
+ template<>
struct at_impl<BOOST_FUSION_ADAPTED_TUPLE_TAG>
{
- template <typename Seq, typename N>
+ template<typename Seq, typename N>
struct apply
{
typedef typename
Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/tuple/begin_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/tuple/begin_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/tuple/begin_impl.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -13,10 +13,10 @@
template<typename>
struct begin_impl;
- template <>
+ template<>
struct begin_impl<BOOST_FUSION_ADAPTED_TUPLE_TAG>
{
- template <typename Seq>
+ template<typename Seq>
struct apply
{
typedef
Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/tuple/deref_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/tuple/deref_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/tuple/deref_impl.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -10,13 +10,13 @@
namespace boost { namespace fusion { namespace extension
{
- template <typename>
+ template<typename>
struct deref_impl;
- template <>
+ template<>
struct deref_impl<BOOST_FUSION_ADAPTED_TUPLE_ITERATOR_TAG>
{
- template <typename It>
+ template<typename It>
struct apply
{
typedef typename detail::remove_reference<It>::type it;
Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/tuple/end_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/tuple/end_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/tuple/end_impl.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -10,13 +10,13 @@
namespace boost { namespace fusion { namespace extension
{
- template <typename>
+ template<typename>
struct end_impl;
- template <>
+ template<>
struct end_impl<BOOST_FUSION_ADAPTED_TUPLE_TAG>
{
- template <typename Seq>
+ template<typename Seq>
struct apply
{
typedef
Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/tuple/size_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/tuple/size_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/tuple/size_impl.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -13,10 +13,10 @@
template<typename>
struct size_impl;
- template <>
+ template<>
struct size_impl<BOOST_FUSION_ADAPTED_TUPLE_TAG>
{
- template <typename Seq>
+ template<typename Seq>
struct apply
: mpl::int_<
#ifdef BOOST_FUSION_ADAPTED_STD_TUPLE
Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/tuple/tag_of.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/tuple/tag_of.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/tuple/tag_of.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -58,7 +58,7 @@
#else
# ifdef BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS
# define BOOST_FUSION_TUPLE_TAG_OF_SPECIALIZATION(MODIFIER,_)\
- template <\
+ template<\
class T0, class T1, class T2, class T3, class T4, \
class T5, class T6, class T7, class T8, class T9\
>\
@@ -70,20 +70,20 @@
typedef boost_tuple_tag type;\
};\
\
- template <class Head, class Tail>\
+ template<class Head, class Tail>\
struct tag_of<tuples::cons<Head, Tail> MODIFIER,void>\
{\
typedef boost_tuple_tag type;\
};\
\
- template <>\
+ template<>\
struct tag_of<tuples::null_type MODIFIER,void>\
{\
typedef boost_tuple_tag type;\
};
# else
# define BOOST_FUSION_TUPLE_TAG_OF_SPECIALIZATION(MODIFIER,_)\
- template <\
+ template<\
class T0, class T1, class T2, class T3, class T4, \
class T5, class T6, class T7, class T8, class T9\
>\
@@ -94,13 +94,13 @@
typedef boost_tuple_tag type;\
};\
\
- template <class Head, class Tail>\
+ template<class Head, class Tail>\
struct tag_of<tuples::cons<Head, Tail> MODIFIER>\
{\
typedef boost_tuple_tag type;\
};\
\
- template <>\
+ template<>\
struct tag_of<tuples::null_type MODIFIER>\
{\
typedef boost_tuple_tag type;\
@@ -159,7 +159,7 @@
};
# endif
#else
- template <
+ template<
class T0, class T1, class T2, class T3, class T4,
class T5, class T6, class T7, class T8, class T9
>
@@ -170,7 +170,7 @@
typedef fusion::fusion_sequence_tag type;
};
- template <
+ template<
class T0, class T1, class T2, class T3, class T4,
class T5, class T6, class T7, class T8, class T9
>
@@ -181,25 +181,25 @@
typedef fusion::fusion_sequence_tag type;
};
- template <class Head, class Tail>
+ template<class Head, class Tail>
struct sequence_tag<tuples::cons<Head, Tail> >
{
typedef fusion::fusion_sequence_tag type;
};
- template <class Head, class Tail>
+ template<class Head, class Tail>
struct sequence_tag<tuples::cons<Head, Tail> const>
{
typedef fusion::fusion_sequence_tag type;
};
- template <>
+ template<>
struct sequence_tag<tuples::null_type>
{
typedef fusion::fusion_sequence_tag type;
};
- template <>
+ template<>
struct sequence_tag<tuples::null_type const>
{
typedef fusion::fusion_sequence_tag type;
Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/tuple/value_at_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/tuple/value_at_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/tuple/value_at_impl.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -11,10 +11,10 @@
template<typename>
struct value_at_impl;
- template <>
+ template<>
struct value_at_impl<BOOST_FUSION_ADAPTED_TUPLE_TAG>
{
- template <typename Seq, typename N>
+ template<typename Seq, typename N>
struct apply
: BOOST_FUSION_ADAPTED_TUPLE_NAMESPACE(element)<
N::value
Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/tuple/value_of_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/tuple/value_of_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/tuple/value_of_impl.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -7,13 +7,13 @@
namespace boost { namespace fusion { namespace extension
{
- template <typename>
+ template<typename>
struct value_of_impl;
- template <>
+ template<>
struct value_of_impl<BOOST_FUSION_ADAPTED_TUPLE_ITERATOR_TAG>
{
- template <typename It>
+ template<typename It>
struct apply
{
typedef typename detail::remove_reference<It>::type it;
Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/struct/adapt_assoc_struct.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/struct/adapt_assoc_struct.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/struct/adapt_assoc_struct.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -31,9 +31,9 @@
#include <boost/fusion/adapted/detail/struct/key_of_impl.hpp>
#include <boost/fusion/adapted/detail/struct/value_of_data_impl.hpp>
-#define BOOST_FUSION_ADAPT_ASSOC_STRUCT_FILLER_0(X, Y, Z)\
+#define BOOST_FUSION_ADAPT_ASSOC_STRUCT_FILLER_0(X, Y, Z) \
((X, Y, Z)) BOOST_FUSION_ADAPT_ASSOC_STRUCT_FILLER_1
-#define BOOST_FUSION_ADAPT_ASSOC_STRUCT_FILLER_1(X, Y, Z)\
+#define BOOST_FUSION_ADAPT_ASSOC_STRUCT_FILLER_1(X, Y, Z) \
((X, Y, Z)) BOOST_FUSION_ADAPT_ASSOC_STRUCT_FILLER_0
#define BOOST_FUSION_ADAPT_ASSOC_STRUCT_FILLER_0_END
#define BOOST_FUSION_ADAPT_ASSOC_STRUCT_FILLER_1_END
@@ -65,6 +65,7 @@
(1)TEMPLATE_PARAMS_SEQ, \
(1)NAME_SEQ, \
assoc_struct_tag, \
+ 0, \
BOOST_PP_CAT(BOOST_FUSION_ADAPT_ASSOC_STRUCT_FILLER_0 ATTRIBUTES,_END), \
BOOST_FUSION_ADAPT_ASSOC_STRUCT_C)
@@ -73,6 +74,16 @@
(0), \
(0)(NAME), \
assoc_struct_tag, \
+ 0, \
+ BOOST_PP_CAT(BOOST_FUSION_ADAPT_ASSOC_STRUCT_FILLER_0 ATTRIBUTES,_END), \
+ BOOST_FUSION_ADAPT_ASSOC_STRUCT_C)
+
+#define BOOST_FUSION_ADAPT_ASSOC_STRUCT_AS_VIEW(NAME, ATTRIBUTES) \
+ BOOST_FUSION_ADAPT_STRUCT_BASE( \
+ (0), \
+ (0)(NAME), \
+ assoc_struct_tag, \
+ 1, \
BOOST_PP_CAT(BOOST_FUSION_ADAPT_ASSOC_STRUCT_FILLER_0 ATTRIBUTES,_END), \
BOOST_FUSION_ADAPT_ASSOC_STRUCT_C)
Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/struct/adapt_assoc_struct_named.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/struct/adapt_assoc_struct_named.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/struct/adapt_assoc_struct_named.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -11,11 +11,12 @@
#include <boost/fusion/adapted/struct/adapt_assoc_struct.hpp>
#include <boost/fusion/adapted/detail/struct/proxy_type.hpp>
-#define BOOST_FUSION_ADAPT_ASSOC_STRUCT_NAMED_C( \
- TEMPLATE_PARAMS_SEQ,NAME_SEQ, I, ATTRIBUTE) \
- \
- BOOST_FUSION_ADAPT_ASSOC_STRUCT_C_BASE( \
- TEMPLATE_PARAMS_SEQ,NAME_SEQ, I, obj., ATTRIBUTE)
+#define BOOST_FUSION_ADAPT_ASSOC_STRUCT_NAMED_FILLER_0(X, Y, Z) \
+ (X, obj.Y, Z) BOOST_FUSION_ADAPT_ASSOC_STRUCT_NAMED_FILLER_1
+#define BOOST_FUSION_ADAPT_ASSOC_STRUCT_NAMED_FILLER_1(X, Y, Z) \
+ (X, obj.Y, Z) BOOST_FUSION_ADAPT_ASSOC_STRUCT_NAMED_FILLER_0
+#define BOOST_FUSION_ADAPT_ASSOC_STRUCT_NAMED_FILLER_0_END
+#define BOOST_FUSION_ADAPT_ASSOC_STRUCT_NAMED_FILLER_1_END
#define BOOST_FUSION_ADAPT_ASSOC_STRUCT_NAMED_NS( \
WRAPPED_TYPE, NAMESPACE_SEQ, NAME, ATTRIBUTES) \
@@ -23,13 +24,10 @@
BOOST_FUSION_ADAPT_STRUCT_DEFINE_PROXY_TYPE_IMPL( \
WRAPPED_TYPE,(0)NAMESPACE_SEQ,NAME) \
\
- BOOST_FUSION_ADAPT_STRUCT_BASE( \
- (0), \
- (0)(BOOST_FUSION_ADAPT_STRUCT_NAMESPACE_DECLARATION( \
- (0)NAMESPACE_SEQ)NAME), \
- assoc_struct_tag, \
- BOOST_PP_CAT(BOOST_FUSION_ADAPT_ASSOC_STRUCT_FILLER_0 ATTRIBUTES,_END), \
- BOOST_FUSION_ADAPT_ASSOC_STRUCT_NAMED_C)
+ BOOST_FUSION_ADAPT_ASSOC_STRUCT_AS_VIEW( \
+ BOOST_FUSION_ADAPT_STRUCT_NAMESPACE_DECLARATION((0)NAMESPACE_SEQ)NAME, \
+ BOOST_PP_CAT( \
+ BOOST_FUSION_ADAPT_ASSOC_STRUCT_NAMED_FILLER_0 ATTRIBUTES,_END))
#define BOOST_FUSION_ADAPT_ASSOC_STRUCT_NAMED(WRAPPED_TYPE, NAME, ATTRIBUTES) \
BOOST_FUSION_ADAPT_ASSOC_STRUCT_NAMED_NS( \
Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/struct/adapt_struct.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/struct/adapt_struct.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/struct/adapt_struct.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -42,6 +42,7 @@
(1)TEMPLATE_PARAMS_SEQ, \
(1)NAME_SEQ, \
struct_tag, \
+ 0, \
BOOST_PP_CAT(BOOST_FUSION_ADAPT_STRUCT_FILLER_0 ATTRIBUTES,_END), \
BOOST_FUSION_ADAPT_STRUCT_C)
@@ -50,6 +51,16 @@
(0), \
(0)(NAME), \
struct_tag, \
+ 0, \
+ BOOST_PP_CAT(BOOST_FUSION_ADAPT_STRUCT_FILLER_0 ATTRIBUTES,_END), \
+ BOOST_FUSION_ADAPT_STRUCT_C)
+
+#define BOOST_FUSION_ADAPT_STRUCT_AS_VIEW(NAME, ATTRIBUTES) \
+ BOOST_FUSION_ADAPT_STRUCT_BASE( \
+ (0), \
+ (0)(NAME), \
+ struct_tag, \
+ 1, \
BOOST_PP_CAT(BOOST_FUSION_ADAPT_STRUCT_FILLER_0 ATTRIBUTES,_END), \
BOOST_FUSION_ADAPT_STRUCT_C)
Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/struct/adapt_struct_named.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/struct/adapt_struct_named.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/struct/adapt_struct_named.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -14,11 +14,12 @@
#include <boost/fusion/adapted/detail/struct/proxy_type.hpp>
#include <boost/preprocessor/empty.hpp>
-#define BOOST_FUSION_ADAPT_STRUCT_NAMED_C( \
- TEMPLATE_PARAMS_SEQ, NAME_SEQ, I, ATTRIBUTE) \
- \
- BOOST_FUSION_ADAPT_STRUCT_C_BASE( \
- TEMPLATE_PARAMS_SEQ,NAME_SEQ, I, obj., ATTRIBUTE, 2)
+#define BOOST_FUSION_ADAPT_STRUCT_NAMED_FILLER_0(X, Y) \
+ (X, obj.Y) BOOST_FUSION_ADAPT_STRUCT_NAMED_FILLER_1
+#define BOOST_FUSION_ADAPT_STRUCT_NAMED_FILLER_1(X, Y) \
+ (X, obj.Y) BOOST_FUSION_ADAPT_STRUCT_NAMED_FILLER_0
+#define BOOST_FUSION_ADAPT_STRUCT_NAMED_FILLER_0_END
+#define BOOST_FUSION_ADAPT_STRUCT_NAMED_FILLER_1_END
#define BOOST_FUSION_ADAPT_STRUCT_NAMED_NS( \
WRAPPED_TYPE, NAMESPACE_SEQ, NAME, ATTRIBUTES) \
@@ -26,13 +27,9 @@
BOOST_FUSION_ADAPT_STRUCT_DEFINE_PROXY_TYPE_IMPL( \
WRAPPED_TYPE,(0)NAMESPACE_SEQ,NAME) \
\
- BOOST_FUSION_ADAPT_STRUCT_BASE( \
- (0), \
- (0)(BOOST_FUSION_ADAPT_STRUCT_NAMESPACE_DECLARATION( \
- (0)NAMESPACE_SEQ)NAME), \
- struct_tag, \
- BOOST_PP_CAT(BOOST_FUSION_ADAPT_STRUCT_FILLER_0 ATTRIBUTES,_END), \
- BOOST_FUSION_ADAPT_STRUCT_NAMED_C)
+ BOOST_FUSION_ADAPT_STRUCT_AS_VIEW( \
+ BOOST_FUSION_ADAPT_STRUCT_NAMESPACE_DECLARATION((0)NAMESPACE_SEQ)NAME, \
+ BOOST_PP_CAT(BOOST_FUSION_ADAPT_STRUCT_NAMED_FILLER_0 ATTRIBUTES,_END))
#define BOOST_FUSION_ADAPT_STRUCT_NAMED(WRAPPED_TYPE, NAME, ATTRIBUTES) \
BOOST_FUSION_ADAPT_STRUCT_NAMED_NS( \
Modified: sandbox/SOC/2009/fusion/boost/fusion/algorithm/iteration/accumulate.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/algorithm/iteration/accumulate.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/algorithm/iteration/accumulate.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -17,7 +17,7 @@
{
namespace result_of
{
- template <typename Seq, typename State, typename F>
+ template<typename Seq, typename State, typename F>
struct accumulate
: fold<Seq, State, F>
{
@@ -26,7 +26,7 @@
};
}
- template <typename Seq, typename State, typename F>
+ template<typename Seq, typename State, typename F>
inline typename result_of::accumulate<
BOOST_FUSION_R_ELSE_CLREF(Seq)
, BOOST_FUSION_R_ELSE_CLREF(State)
@@ -43,7 +43,7 @@
}
#ifdef BOOST_NO_RVALUE_REFERENCES
- template <typename Seq, typename State, typename F>
+ template<typename Seq, typename State, typename F>
inline typename
result_of::accumulate<Seq&, State const&, F>::type
accumulate(Seq& seq,State const& state,F f)
Modified: sandbox/SOC/2009/fusion/boost/fusion/algorithm/iteration/detail/fold.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/algorithm/iteration/detail/fold.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/algorithm/iteration/detail/fold.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -132,7 +132,7 @@
}
};
- template <typename StateRef, typename It, typename F>
+ template<typename StateRef, typename It, typename F>
struct fold_apply
: boost::result_of<
F(
Modified: sandbox/SOC/2009/fusion/boost/fusion/algorithm/iteration/ext_/for_each_s.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/algorithm/iteration/ext_/for_each_s.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/algorithm/iteration/ext_/for_each_s.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -16,11 +16,11 @@
// fwd declarations
namespace boost { namespace fusion
{
- template <typename Sequence, typename F>
+ template<typename Sequence, typename F>
void
for_each_s(Sequence& seq, F const& f);
- template <typename Sequence, typename F>
+ template<typename Sequence, typename F>
void
for_each_s(Sequence const& seq, F const& f);
}}
@@ -66,21 +66,21 @@
{
namespace result_of
{
- template <typename Sequence, typename F>
+ template<typename Sequence, typename F>
struct for_each_s
{
typedef void type;
};
}
- template <typename Sequence, typename F>
+ template<typename Sequence, typename F>
inline void
for_each_s(Sequence& seq, F const& f)
{
detail::for_each_s(seq, f, traits::is_segmented<Sequence>());
}
- template <typename Sequence, typename F>
+ template<typename Sequence, typename F>
inline void
for_each_s(Sequence const& seq, F const& f)
{
Modified: sandbox/SOC/2009/fusion/boost/fusion/algorithm/iteration/fold.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/algorithm/iteration/fold.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/algorithm/iteration/fold.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -25,7 +25,7 @@
{
namespace result_of
{
- template <typename Seq, typename State, typename F>
+ template<typename Seq, typename State, typename F>
struct fold
: detail::fold_impl<
size<Seq>::value
@@ -47,7 +47,7 @@
};
}
- template <typename Seq, typename State, typename F>
+ template<typename Seq, typename State, typename F>
inline typename result_of::fold<
BOOST_FUSION_R_ELSE_CLREF(Seq)
, BOOST_FUSION_R_ELSE_CLREF(State)
@@ -68,11 +68,9 @@
}
#ifdef BOOST_NO_RVALUE_REFERENCES
- template <typename Seq, typename State, typename F>
+ template<typename Seq, typename State, typename F>
inline typename result_of::fold<Seq&,State const&,F>::type
- fold(Seq& seq,
- State const& state,
- F f)
+ fold(Seq& seq,State const& state,F f)
{
return result_of::fold<Seq&,State const&,F>::call(
state, fusion::begin(seq), f);
Modified: sandbox/SOC/2009/fusion/boost/fusion/algorithm/iteration/for_each.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/algorithm/iteration/for_each.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/algorithm/iteration/for_each.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -20,7 +20,7 @@
{
namespace result_of
{
- template <typename Seq, typename>
+ template<typename Seq, typename>
struct for_each
{
BOOST_FUSION_MPL_ASSERT((traits::is_sequence<Seq>));
@@ -30,7 +30,7 @@
};
}
- template <typename Seq, typename F>
+ template<typename Seq, typename F>
inline typename
result_of::for_each<
BOOST_FUSION_R_ELSE_CLREF(Seq)
@@ -46,7 +46,7 @@
}
#ifdef BOOST_NO_RVALUE_REFERENCES
- template <typename Seq, typename F>
+ template<typename Seq, typename F>
inline typename result_of::for_each<Seq&,F>::type
for_each(Seq& seq,F f)
{
Modified: sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/all.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/all.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/all.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -21,7 +21,7 @@
{
namespace result_of
{
- template <typename Seq, typename>
+ template<typename Seq, typename>
struct all
{
BOOST_FUSION_MPL_ASSERT((traits::is_sequence<Seq>));
@@ -31,7 +31,7 @@
};
}
- template <typename Seq, typename F>
+ template<typename Seq, typename F>
inline typename
result_of::all<
BOOST_FUSION_R_ELSE_CLREF(Seq)
@@ -46,7 +46,7 @@
}
#ifdef BOOST_NO_RVALUE_REFERENCES
- template <typename Seq, typename F>
+ template<typename Seq, typename F>
inline typename result_of::all<Seq&, F>::type
all(Seq& seq, F f)
{
Modified: sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/any.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/any.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/any.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -41,7 +41,7 @@
namespace result_of
{
- template <typename Seq, typename>
+ template<typename Seq, typename>
struct any
{
BOOST_FUSION_MPL_ASSERT((traits::is_sequence<Seq>));
@@ -51,7 +51,7 @@
};
}
- template <typename Seq, typename F>
+ template<typename Seq, typename F>
inline typename
result_of::any<
BOOST_FUSION_R_ELSE_CLREF(Seq)
@@ -66,7 +66,7 @@
}
#ifdef BOOST_NO_RVALUE_REFERENCES
- template <typename Seq, typename F>
+ template<typename Seq, typename F>
inline typename result_of::any<Seq&,F>::type
any(Seq& seq, F f)
{
Modified: sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/count.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/count.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/count.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -19,7 +19,7 @@
{
namespace result_of
{
- template <typename Seq, typename>
+ template<typename Seq, typename>
struct count
{
BOOST_FUSION_MPL_ASSERT((traits::is_sequence<Seq>));
@@ -29,7 +29,7 @@
};
}
- template <typename Seq, typename T>
+ template<typename Seq, typename T>
inline typename result_of::count<
BOOST_FUSION_R_ELSE_CLREF(Seq)
, BOOST_FUSION_R_ELSE_CLREF(T)
@@ -43,7 +43,7 @@
}
#ifdef BOOST_NO_RVALUE_REFERENCES
- template <typename Seq, typename T>
+ template<typename Seq, typename T>
inline typename result_of::count<Seq&, T const&>::type
count(Seq& seq, T const& x)
{
Modified: sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/count_if.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/count_if.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/count_if.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -40,7 +40,7 @@
namespace result_of
{
- template <typename Seq, typename>
+ template<typename Seq, typename>
struct count_if
{
BOOST_FUSION_MPL_ASSERT((traits::is_sequence<Seq>));
@@ -50,7 +50,7 @@
};
}
- template <typename Seq, typename F>
+ template<typename Seq, typename F>
inline typename
result_of::count_if<
BOOST_FUSION_R_ELSE_CLREF(Seq)
@@ -66,7 +66,7 @@
}
#ifdef BOOST_NO_RVALUE_REFERENCES
- template <typename Seq, typename F>
+ template<typename Seq, typename F>
inline typename result_of::count_if<Seq&,F>::type
count_if(Seq& seq, F f)
{
Modified: sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/detail/all.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/detail/all.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/detail/all.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -24,7 +24,7 @@
template<int N>
struct unrolled_all
{
- template <typename It0, typename F>
+ template<typename It0, typename F>
static bool
call(It0 const& it0, BOOST_FUSION_RREF_ELSE_OBJ(F) f)
{
@@ -63,7 +63,7 @@
template<>
struct unrolled_all<3>
{
- template <typename It0, typename F>
+ template<typename It0, typename F>
static bool
call(It0 const& it0, BOOST_FUSION_RREF_ELSE_OBJ(F) f)
{
@@ -88,7 +88,7 @@
template<>
struct unrolled_all<2>
{
- template <typename It0, typename F>
+ template<typename It0, typename F>
static bool
call(It0 const& it0, BOOST_FUSION_RREF_ELSE_OBJ(F) f)
{
@@ -106,7 +106,7 @@
template<>
struct unrolled_all<1>
{
- template <typename It0, typename F>
+ template<typename It0, typename F>
static bool
call(It0 const& it0, BOOST_FUSION_RREF_ELSE_OBJ(F) f)
{
@@ -117,7 +117,7 @@
template<>
struct unrolled_all<0>
{
- template <typename It0, typename F>
+ template<typename It0, typename F>
static BOOST_FUSION_CONSTEXPR
bool
call(It0 const& it0, BOOST_FUSION_RREF_ELSE_OBJ(F) f)
Modified: sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/detail/count.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/detail/count.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/detail/count.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -15,14 +15,14 @@
namespace boost { namespace fusion { namespace detail
{
- template <bool is_convertible>
+ template<bool is_convertible>
struct compare_convertible;
// T1 is convertible to T2 or vice versa
- template <>
+ template<>
struct compare_convertible<true>
{
- template <typename T1, typename T2>
+ template<typename T1, typename T2>
static bool
call(BOOST_FUSION_R_ELSE_CLREF(T1) x, BOOST_FUSION_R_ELSE_CLREF(T2) y)
{
@@ -31,10 +31,10 @@
};
// T1 is NEITHER convertible to T2 NOR vice versa
- template <>
+ template<>
struct compare_convertible<false>
{
- template <typename T1, typename T2>
+ template<typename T1, typename T2>
static BOOST_FUSION_CONSTEXPR
bool
call(BOOST_FUSION_R_ELSE_CLREF(T1) x, BOOST_FUSION_R_ELSE_CLREF(T2) y)
@@ -43,14 +43,20 @@
}
};
- template <typename T1Ref>
+ template<typename T1Ref>
struct count_helper
{
+#ifdef BOOST_NO_RVALUE_REFERENCES
+ typedef T1Ref x_type;
+#else
+ typedef typename remove_reference<T1Ref>::type& x_type;
+#endif
+
count_helper(T1Ref x)
- : x(static_cast<T1Ref>(x))
+ : x(static_cast<x_type>(x))
{}
- template <typename T2>
+ template<typename T2>
bool
operator()(BOOST_FUSION_R_ELSE_CLREF(T2) y)const
{
@@ -69,7 +75,7 @@
>::call(static_cast<T1Ref>(x),BOOST_FUSION_FORWARD(T2,y));
}
- T1Ref x;
+ x_type x;
};
}}}
Modified: sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/detail/find_if.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/detail/find_if.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/detail/find_if.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -27,10 +27,10 @@
{
namespace detail
{
- template <typename Begin, typename End, typename Pred>
+ template<typename Begin, typename End, typename Pred>
struct main_find_if;
- template <typename Begin, typename End, typename Pred>
+ template<typename Begin, typename End, typename Pred>
struct next_find_if
: main_find_if<
typename result_of::next<Begin>::type
@@ -39,7 +39,7 @@
>
{};
- template <typename Begin, typename End, typename Pred>
+ template<typename Begin, typename End, typename Pred>
struct main_find_if
: mpl::eval_if<
mpl::or_<
@@ -64,7 +64,7 @@
template<typename It, typename Pred, int N>
struct unroll_again;
- template <typename It, typename Pred, int Offset>
+ template<typename It, typename Pred, int Offset>
struct apply_offset_filter
: mpl::apply1<
Pred
@@ -160,7 +160,7 @@
>
{};
- template <typename Begin, typename End, typename Pred>
+ template<typename Begin, typename End, typename Pred>
struct static_find_if
{
typedef typename
@@ -172,7 +172,7 @@
>::type
type;
- template <typename It>
+ template<typename It>
static type
call(It const& it)
{
@@ -183,11 +183,11 @@
}
};
- template <typename Begin, typename End, typename Pred>
+ template<typename Begin, typename End, typename Pred>
struct static_seq_find_if
: static_find_if<Begin, End, Pred>
{
- template <typename Seq>
+ template<typename Seq>
static typename static_find_if<Begin, End, Pred>::type
call(BOOST_FUSION_R_ELSE_LREF(Seq) seq)
{
Modified: sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/ext_/find_if_s.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/ext_/find_if_s.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/ext_/find_if_s.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -222,7 +222,7 @@
namespace result_of
{
- template <typename Seq, typename Pred>
+ template<typename Seq, typename Pred>
struct find_if_s
: detail::static_find_if_s<Seq, Pred>
{};
@@ -238,7 +238,7 @@
return detail::static_find_if_s<Sequence, Pred>::call(seq);
}
- template <typename Pred, typename Sequence>
+ template<typename Pred, typename Sequence>
typename result_of::find_if_s<Sequence const, Pred>::type
find_if_s(Sequence const& seq)
{
Modified: sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/find.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/find.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/find.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -25,7 +25,7 @@
{
namespace result_of
{
- template <typename Seq, typename T>
+ template<typename Seq, typename T>
struct find
: detail::static_seq_find_if<
typename begin<Seq>::type
@@ -38,7 +38,7 @@
};
}
- template <typename T, typename Seq>
+ template<typename T, typename Seq>
inline typename
result_of::find<BOOST_FUSION_R_ELSE_CLREF(Seq), T>::type const
find(BOOST_FUSION_R_ELSE_CLREF(Seq) seq)
@@ -47,7 +47,7 @@
}
#ifdef BOOST_NO_RVALUE_REFERENCES
- template <typename T, typename Seq>
+ template<typename T, typename Seq>
inline BOOST_FUSION_EXPLICIT_TEMPLATE_NON_CONST_ARG_OVERLOAD(
result_of::find<,Seq,&, T>) const
find(Seq& seq)
Modified: sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/find_if.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/find_if.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/find_if.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -27,7 +27,7 @@
{
namespace result_of
{
- template <typename Seq, typename Pred>
+ template<typename Seq, typename Pred>
struct find_if
: detail::static_find_if<
typename begin<Seq>::type
@@ -43,7 +43,7 @@
};
}
- template <typename Pred, typename Seq>
+ template<typename Pred, typename Seq>
inline typename
result_of::find_if<BOOST_FUSION_R_ELSE_CLREF(Seq), Pred>::type
find_if(BOOST_FUSION_R_ELSE_CLREF(Seq) seq)
@@ -55,7 +55,7 @@
}
#ifdef BOOST_NO_RVALUE_REFERENCES
- template <typename Pred, typename Seq>
+ template<typename Pred, typename Seq>
inline BOOST_FUSION_EXPLICIT_TEMPLATE_NON_CONST_ARG_OVERLOAD(
result_of::find_if<,Seq,&,Pred>)
find_if(Seq& seq)
Modified: sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/find_key.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/find_key.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/find_key.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -23,7 +23,7 @@
{
namespace result_of
{
- template <typename Seq, typename T>
+ template<typename Seq, typename T>
struct find_key
: detail::static_seq_find_if<
typename begin<Seq>::type
@@ -37,7 +37,7 @@
};
}
- template <typename T, typename Seq>
+ template<typename T, typename Seq>
inline typename
result_of::find_key<BOOST_FUSION_R_ELSE_CLREF(Seq), T>::type const
find_key(BOOST_FUSION_R_ELSE_CLREF(Seq) seq)
@@ -47,7 +47,7 @@
}
#ifdef BOOST_NO_RVALUE_REFERENCES
- template <typename T, typename Seq>
+ template<typename T, typename Seq>
inline BOOST_FUSION_EXPLICIT_TEMPLATE_NON_CONST_ARG_OVERLOAD(
result_of::find_key<,Seq,&, T>) const
find_key(Seq& seq)
Modified: sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/none.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/none.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/none.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -17,7 +17,7 @@
{
namespace result_of
{
- template <typename Seq, typename F>
+ template<typename Seq, typename F>
struct none
{
BOOST_FUSION_MPL_ASSERT((traits::is_sequence<Seq>));
@@ -27,7 +27,7 @@
};
}
- template <typename Seq, typename F>
+ template<typename Seq, typename F>
inline typename
result_of::none<
BOOST_FUSION_R_ELSE_CLREF(Seq)
@@ -41,7 +41,7 @@
}
#ifdef BOOST_NO_RVALUE_REFERENCES
- template <typename Seq, typename F>
+ template<typename Seq, typename F>
inline typename result_of::none<Seq&, F>::type
none(Seq& seq, F f)
{
Modified: sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/clear.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/clear.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/clear.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -25,7 +25,7 @@
namespace result_of
{
//TODO empty sequence!!!
- template <typename Seq>
+ template<typename Seq>
struct clear
#ifdef BOOST_NO_VARIADIC_TEMPLATES
: convert<typename traits::tag_of<Seq>::type, vector0<> >
@@ -38,7 +38,7 @@
};
}
- template <typename Seq>
+ template<typename Seq>
inline typename result_of::clear<BOOST_FUSION_R_ELSE_CLREF(Seq)>::type
clear(BOOST_FUSION_R_ELSE_CLREF(Seq) seq)
{
Modified: sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/detail/filter_key_view.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/detail/filter_key_view.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/detail/filter_key_view.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -27,7 +27,7 @@
namespace detail
{
- template <typename Seq, typename Pred>
+ template<typename Seq, typename Pred>
struct filter_key_view
: sequence_base<filter_key_view<Seq, Pred> >
{
Modified: sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/detail/filter_key_view/at_key_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/detail/filter_key_view/at_key_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/detail/filter_key_view/at_key_impl.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -12,18 +12,18 @@
namespace boost { namespace fusion { namespace extension
{
- template <typename>
+ template<typename>
struct at_key_impl;
- template <>
+ template<>
struct at_key_impl<detail::filter_key_view_tag>
{
- template <typename Seq,typename Key>
+ template<typename Seq,typename Key>
struct apply
{
typedef typename
result_of::at_key<
- typename detail::forward_as<
+ typename detail::forward_as_lref<
Seq
, typename detail::remove_reference<Seq>::type_seq_type
>::type
Modified: sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/detail/filter_key_view/has_key_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/detail/filter_key_view/has_key_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/detail/filter_key_view/has_key_impl.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -17,13 +17,13 @@
namespace boost { namespace fusion { namespace extension
{
- template <typename>
+ template<typename>
struct has_key_impl;
- template <>
+ template<>
struct has_key_impl<detail::filter_key_view_tag>
{
- template <typename Seq,typename Key>
+ template<typename Seq,typename Key>
struct apply
{
typedef typename detail::remove_reference<Seq>::type seq;
Modified: sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/detail/filter_key_view/value_at_key_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/detail/filter_key_view/value_at_key_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/detail/filter_key_view/value_at_key_impl.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -12,13 +12,13 @@
namespace boost { namespace fusion { namespace extension
{
- template <typename>
+ template<typename>
struct value_at_key;
- template <>
+ template<>
struct value_at_key<detail::filter_key_view_tag>
{
- template <typename Seq,typename Key>
+ template<typename Seq,typename Key>
struct apply
: result_of::value_at_key<
typename detail::remove_reference<Seq>::type_seq_type
Modified: sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/detail/replace_if.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/detail/replace_if.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/detail/replace_if.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -16,7 +16,7 @@
namespace boost { namespace fusion { namespace detail
{
- template <typename F, typename NewValue>
+ template<typename F, typename NewValue>
struct replace_if_helper
{
template<typename Sig>
@@ -29,6 +29,7 @@
typedef U type;
};
#else
+ //TODO!!!
: mpl::if_<
mpl::and_<
is_convertible<
@@ -67,14 +68,14 @@
return *this;
}
- template <typename U>
+ template<typename U>
U&
call_impl(U& x, mpl::false_ /*is_convertible*/) const
{
return x;
}
- template <typename U>
+ template<typename U>
U&
call_impl(U& x, mpl::true_ /*is_convertible*/) const
{
@@ -86,7 +87,7 @@
return x;
}
- template <typename U>
+ template<typename U>
typename result<replace_if_helper(U&)>::type
operator()(U& x) const
{
Modified: sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/erase.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/erase.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/erase.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -25,7 +25,7 @@
{
namespace detail
{
- template <typename Seq, typename BeginRef>
+ template<typename Seq, typename BeginRef>
struct compute_erase_last
{
typedef typename result_of::end<Seq>::type end_type;
@@ -61,7 +61,7 @@
namespace result_of
{
- template <
+ template<
typename Seq
, typename Begin
, typename End=typename detail::compute_erase_last<Seq, Begin>::type
@@ -101,7 +101,7 @@
};
}
- template <typename Seq, typename Begin, typename End>
+ template<typename Seq, typename Begin, typename End>
typename result_of::erase<
BOOST_FUSION_R_ELSE_CLREF(Seq)
, Begin const&
@@ -133,7 +133,7 @@
));
}
- template <typename Seq, typename Begin>
+ template<typename Seq, typename Begin>
typename result_of::erase<BOOST_FUSION_R_ELSE_CLREF(Seq), Begin const&>::type
erase(BOOST_FUSION_R_ELSE_CLREF(Seq) seq, Begin const& first)
{
@@ -147,7 +147,7 @@
}
#ifdef BOOST_NO_RVALUE_REFERENCES
- template <typename Seq, typename Begin, typename End>
+ template<typename Seq, typename Begin, typename End>
typename result_of::erase<Seq&, Begin const&, End const&>::type
erase(Seq& seq,Begin const& first,End const& last)
{
@@ -167,7 +167,7 @@
));
}
- template <typename Seq, typename Begin>
+ template<typename Seq, typename Begin>
typename result_of::erase<Seq&, Begin const&>::type
erase(Seq& seq, Begin const& first)
{
Modified: sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/erase_key.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/erase_key.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/erase_key.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -26,7 +26,7 @@
{
namespace result_of
{
- template <typename Seq, typename Key>
+ template<typename Seq, typename Key>
struct erase_key
{
BOOST_FUSION_MPL_ASSERT((traits::is_sequence<Seq>));
@@ -70,7 +70,7 @@
};
}
- template <typename Key, typename Seq>
+ template<typename Key, typename Seq>
inline typename
result_of::erase_key<BOOST_FUSION_R_ELSE_CLREF(Seq), Key>::type
erase_key(BOOST_FUSION_R_ELSE_CLREF(Seq) seq)
@@ -81,7 +81,7 @@
}
#ifdef BOOST_NO_RVALUE_REFERENCES
- template <typename Key, typename Seq>
+ template<typename Key, typename Seq>
inline BOOST_FUSION_EXPLICIT_TEMPLATE_NON_CONST_ARG_OVERLOAD(
result_of::erase_key<,Seq,&, Key>)
erase_key(Seq& seq)
Modified: sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/filter.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/filter.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/filter.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -21,7 +21,7 @@
{
namespace result_of
{
- template <typename Seq, typename T>
+ template<typename Seq, typename T>
struct filter
: filter_if<Seq, is_same<mpl::_1, T> >
{
@@ -30,7 +30,7 @@
};
}
- template <typename T, typename Seq>
+ template<typename T, typename Seq>
inline typename result_of::filter<BOOST_FUSION_R_ELSE_CLREF(Seq), T>::type
filter(BOOST_FUSION_R_ELSE_CLREF(Seq) seq)
{
@@ -38,7 +38,7 @@
}
#ifdef BOOST_NO_RVALUE_REFERENCES
- template <typename T, typename Seq>
+ template<typename T, typename Seq>
inline BOOST_FUSION_EXPLICIT_TEMPLATE_NON_CONST_ARG_OVERLOAD(
result_of::filter<,Seq,&, T>)
filter(Seq& seq)
Modified: sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/filter_if.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/filter_if.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/filter_if.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -17,7 +17,7 @@
{
namespace result_of
{
- template <typename Seq, typename Pred>
+ template<typename Seq, typename Pred>
struct filter_if
{
BOOST_FUSION_MPL_ASSERT((traits::is_sequence<Seq>));
@@ -27,7 +27,7 @@
};
}
- template <typename Pred, typename Seq>
+ template<typename Pred, typename Seq>
inline typename
result_of::filter_if<BOOST_FUSION_R_ELSE_CLREF(Seq), Pred>::type
filter_if(BOOST_FUSION_R_ELSE_CLREF(Seq) seq)
@@ -38,7 +38,7 @@
}
#ifdef BOOST_NO_RVALUE_REFERENCES
- template <typename Pred, typename Seq>
+ template<typename Pred, typename Seq>
inline BOOST_FUSION_EXPLICIT_TEMPLATE_NON_CONST_ARG_OVERLOAD(
result_of::filter_if<,Seq,&, Pred>)
filter_if(Seq& seq)
Modified: sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/insert.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/insert.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/insert.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -20,7 +20,7 @@
{
namespace result_of
{
- template <typename Seq, typename Pos, typename T>
+ template<typename Seq, typename Pos, typename T>
struct insert
: insert_range<
Seq
@@ -36,7 +36,7 @@
};
}
- template <typename Seq, typename Pos, typename T>
+ template<typename Seq, typename Pos, typename T>
inline typename
result_of::insert<
BOOST_FUSION_R_ELSE_CLREF(Seq)
@@ -54,7 +54,7 @@
}
#ifdef BOOST_NO_RVALUE_REFERENCES
- template <typename Seq, typename Pos, typename T>
+ template<typename Seq, typename Pos, typename T>
inline typename result_of::insert<Seq&, Pos const&, T const&>::type
insert(Seq& seq,Pos const& pos,T const& x)
{
Modified: sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/insert_range.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/insert_range.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/insert_range.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -23,7 +23,7 @@
{
namespace result_of
{
- template <typename Seq, typename Pos, typename Range>
+ template<typename Seq, typename Pos, typename Range>
struct insert_range
{
BOOST_FUSION_MPL_ASSERT((traits::is_sequence<Seq>));
@@ -54,7 +54,7 @@
}
#define BOOST_FUSION_INSERT_RANGE(SEQ_CV_REF_MODIFIER,RANGE_CV_REF_MODIFIER)\
- template <typename Seq, typename Pos, typename Range>\
+ template<typename Seq, typename Pos, typename Range>\
inline typename\
result_of::insert_range<\
Seq SEQ_CV_REF_MODIFIER\
Modified: sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/pop_back.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/pop_back.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/pop_back.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -20,7 +20,7 @@
{
namespace result_of
{
- template <typename Seq>
+ template<typename Seq>
struct pop_back
{
BOOST_FUSION_MPL_ASSERT((traits::is_sequence<Seq>));
@@ -36,7 +36,7 @@
};
}
- template <typename Seq>
+ template<typename Seq>
inline typename result_of::pop_back<BOOST_FUSION_R_ELSE_CLREF(Seq)>::type
pop_back(BOOST_FUSION_R_ELSE_CLREF(Seq) seq)
{
@@ -47,7 +47,7 @@
}
#ifdef BOOST_NO_RVALUE_REFERENCES
- template <typename Seq>
+ template<typename Seq>
inline typename result_of::pop_back<Seq&>::type
pop_back(Seq& seq)
{
Modified: sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/pop_front.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/pop_front.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/pop_front.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -20,7 +20,7 @@
{
namespace result_of
{
- template <typename Seq>
+ template<typename Seq>
struct pop_front
{
BOOST_FUSION_MPL_ASSERT((traits::is_sequence<Seq>));
@@ -36,7 +36,7 @@
};
}
- template <typename Seq>
+ template<typename Seq>
inline typename result_of::pop_front<BOOST_FUSION_R_ELSE_CLREF(Seq)>::type
pop_front(BOOST_FUSION_R_ELSE_CLREF(Seq) seq)
{
@@ -49,7 +49,7 @@
}
#ifdef BOOST_NO_RVALUE_REFERENCES
- template <typename Seq>
+ template<typename Seq>
inline typename result_of::pop_front<Seq&>::type
pop_front(Seq& seq)
{
Modified: sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/push_back.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/push_back.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/push_back.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -19,7 +19,7 @@
{
namespace result_of
{
- template <typename Seq, typename T>
+ template<typename Seq, typename T>
struct push_back
{
BOOST_FUSION_MPL_ASSERT((traits::is_sequence<Seq>));
@@ -34,7 +34,7 @@
};
}
- template <typename Seq, typename T>
+ template<typename Seq, typename T>
inline typename
result_of::push_back<
BOOST_FUSION_R_ELSE_CLREF(Seq)
@@ -51,7 +51,7 @@
}
#ifdef BOOST_NO_RVALUE_REFERENCES
- template <typename Seq, typename T>
+ template<typename Seq, typename T>
inline typename result_of::push_back<Seq&, T const&>::type
push_back(Seq& seq, T const& x)
{
Modified: sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/push_front.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/push_front.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/push_front.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -19,7 +19,7 @@
{
namespace result_of
{
- template <typename Seq, typename T>
+ template<typename Seq, typename T>
struct push_front
{
BOOST_FUSION_MPL_ASSERT((traits::is_sequence<Seq>));
@@ -34,7 +34,7 @@
};
}
- template <typename Seq, typename T>
+ template<typename Seq, typename T>
inline typename result_of::push_front<
BOOST_FUSION_R_ELSE_CLREF(Seq)
, BOOST_FUSION_R_ELSE_CLREF(T)
@@ -51,7 +51,7 @@
}
#ifdef BOOST_NO_RVALUE_REFERENCES
- template <typename Seq, typename T>
+ template<typename Seq, typename T>
inline typename result_of::push_front<Seq&, T const&>::type
push_front(Seq& seq, T const& x)
{
Modified: sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/remove.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/remove.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/remove.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -22,7 +22,7 @@
{
namespace result_of
{
- template <typename Seq, typename T>
+ template<typename Seq, typename T>
struct remove
: remove_if<Seq, is_same<mpl::_1, T> >
{
@@ -31,7 +31,7 @@
};
}
- template <typename T, typename Seq>
+ template<typename T, typename Seq>
inline typename result_of::remove<BOOST_FUSION_R_ELSE_CLREF(Seq), T>::type
remove(BOOST_FUSION_R_ELSE_CLREF(Seq) seq)
{
@@ -40,7 +40,7 @@
}
#ifdef BOOST_NO_RVALUE_REFERENCES
- template <typename T, typename Seq>
+ template<typename T, typename Seq>
inline BOOST_FUSION_EXPLICIT_TEMPLATE_NON_CONST_ARG_OVERLOAD(
result_of::remove<,Seq,&, T>)
remove_if(Seq& seq)
Modified: sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/remove_if.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/remove_if.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/remove_if.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -20,7 +20,7 @@
{
namespace result_of
{
- template <typename Seq, typename Pred>
+ template<typename Seq, typename Pred>
struct remove_if
{
BOOST_FUSION_MPL_ASSERT((traits::is_sequence<Seq>));
@@ -30,7 +30,7 @@
};
}
- template <typename Pred, typename Seq>
+ template<typename Pred, typename Seq>
inline typename result_of::remove_if<
BOOST_FUSION_R_ELSE_CLREF(Seq)
, Pred
@@ -44,7 +44,7 @@
}
#ifdef BOOST_NO_RVALUE_REFERENCES
- template <typename Pred, typename Seq>
+ template<typename Pred, typename Seq>
inline BOOST_FUSION_EXPLICIT_TEMPLATE_NON_CONST_ARG_OVERLOAD(
result_of::remove_if<,Seq,&, Pred>)
remove_if(Seq& seq)
Modified: sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/replace.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/replace.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/replace.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -22,10 +22,10 @@
{
namespace detail
{
- template <typename OldValue>
+ template<typename OldValue>
struct replace_helper
{
- template <typename OtherOldValue>
+ template<typename OtherOldValue>
replace_helper(
BOOST_FUSION_R_ELSE_CLREF(OtherOldValue) old_value
, int)
@@ -45,7 +45,7 @@
return *this;
}
- template <typename U>
+ template<typename U>
bool
operator()(BOOST_FUSION_R_ELSE_LREF(U) x) const
{
@@ -58,7 +58,7 @@
namespace result_of
{
- template <typename Seq, typename T>
+ template<typename Seq, typename T>
struct replace
{
BOOST_FUSION_MPL_ASSERT((traits::is_sequence<Seq>));
@@ -74,7 +74,7 @@
};
}
- template <typename Seq, typename OldValue, typename NewValue>
+ template<typename Seq, typename OldValue, typename NewValue>
inline typename
result_of::replace<
BOOST_FUSION_R_ELSE_CLREF(Seq)
@@ -108,7 +108,7 @@
}
#ifdef BOOST_NO_RVALUE_REFERENCES
- template <typename Seq, typename OldValue, typename NewValue>
+ template<typename Seq, typename OldValue, typename NewValue>
inline typename result_of::replace<Seq&, OldValue const&>::type
replace(Seq& seq, OldValue const& old_value, NewValue const& new_value)
{
Modified: sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/replace_if.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/replace_if.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/replace_if.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -20,7 +20,7 @@
{
namespace result_of
{
- template <typename Seq, typename F, typename NewValue>
+ template<typename Seq, typename F, typename NewValue>
struct replace_if
{
BOOST_FUSION_MPL_ASSERT((traits::is_sequence<Seq>));
@@ -37,7 +37,7 @@
};
}
- template <typename Seq, typename F, typename NewValue>
+ template<typename Seq, typename F, typename NewValue>
inline typename result_of::replace_if<
BOOST_FUSION_R_ELSE_CLREF(Seq)
, BOOST_FUSION_RREF_ELSE_OBJ(F)
@@ -63,7 +63,7 @@
}
#ifdef BOOST_NO_RVALUE_REFERENCES
- template <typename Seq, typename F, typename NewValue>
+ template<typename Seq, typename F, typename NewValue>
inline typename result_of::replace_if<Seq&, F, NewValue const&>::type
replace_if(Seq& seq,F pred,NewValue const& new_value)
{
Modified: sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/reverse.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/reverse.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/reverse.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -17,7 +17,7 @@
{
namespace result_of
{
- template <typename Seq>
+ template<typename Seq>
struct reverse
{
BOOST_FUSION_MPL_ASSERT((traits::is_sequence<Seq>));
@@ -27,7 +27,7 @@
};
}
- template <typename Seq>
+ template<typename Seq>
inline typename result_of::reverse<BOOST_FUSION_R_ELSE_CLREF(Seq)>::type
reverse(BOOST_FUSION_R_ELSE_CLREF(Seq) seq)
{
@@ -37,7 +37,7 @@
}
#ifdef BOOST_NO_RVALUE_REFERENCES
- template <typename Seq>
+ template<typename Seq>
inline typename result_of::reverse<Seq&>::type
reverse(Seq& seq)
{
Modified: sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/transform.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/transform.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/transform.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -1,6 +1,6 @@
/*=============================================================================
Copyright (c) 2001-2006 Joel de Guzman
- Copyright (c) 2009 Christopher Schmidt
+ Copyright (c) 2009-2010 Christopher Schmidt
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)
@@ -9,6 +9,7 @@
#ifndef BOOST_FUSION_ALGORITHM_TRANSFORMATION_TRANSFORM_HPP
#define BOOST_FUSION_ALGORITHM_TRANSFORMATION_TRANSFORM_HPP
+#include <boost/config.hpp>
#include <boost/fusion/view/transform_view/transform_view.hpp>
#include <boost/fusion/support/deduce.hpp>
#include <boost/fusion/support/internal/ref.hpp>
@@ -45,7 +46,7 @@
type;
};
- template <typename Seq, typename F>
+ template<typename Seq, typename F>
struct transform<Seq, F, mpl::false_, mpl::false_>
{
BOOST_FUSION_MPL_ASSERT((traits::is_sequence<Seq>));
@@ -60,7 +61,7 @@
type;
};
- template <typename Seq, typename F>
+ template<typename Seq, typename F>
struct transform<Seq, F, mpl::true_, mpl::false_>
{
BOOST_FUSION_MPL_ASSERT((traits::is_sequence<Seq>));
@@ -78,7 +79,7 @@
//TODO boost config macro for default arguments for function templates
- template <typename IsAssociative,typename Seq, typename F>
+ template<typename IsAssociative,typename Seq, typename F>
inline typename
result_of::transform<
BOOST_FUSION_R_ELSE_CLREF(Seq)
@@ -96,7 +97,7 @@
>::type(BOOST_FUSION_FORWARD(Seq,seq), BOOST_FUSION_FORWARD(F,f));
}
- template <typename Seq, typename F>
+ template<typename Seq, typename F>
inline typename
result_of::transform<
BOOST_FUSION_R_ELSE_CLREF(Seq)
@@ -113,7 +114,7 @@
}
#ifdef BOOST_NO_RVALUE_REFERENCES
- template <typename IsAssociative,typename Seq, typename F>
+ template<typename IsAssociative,typename Seq, typename F>
inline typename result_of::transform<Seq&, F>::type
transform(Seq& seq, F f)
{
@@ -128,7 +129,7 @@
#endif
}
- template <typename Seq, typename F>
+ template<typename Seq, typename F>
inline typename result_of::transform<Seq&, F>::type
transform(Seq& seq, F f)
{
@@ -137,7 +138,7 @@
#endif
#define BOOST_FUSION_TRANSFORM_BINARY(SEQ1_CV_REF_MODIFIER,SEQ2_CV_REF_MODIFIER)\
- template <typename IsAssociative,typename Seq1, typename Seq2, typename F>\
+ template<typename IsAssociative,typename Seq1, typename Seq2, typename F>\
inline typename\
result_of::transform<\
Seq1 SEQ1_CV_REF_MODIFIER\
@@ -160,7 +161,7 @@
, BOOST_FUSION_FORWARD(F,f));\
}\
\
- template <typename Seq1, typename Seq2, typename F>\
+ template<typename Seq1, typename Seq2, typename F>\
inline typename\
result_of::transform<\
Seq1 SEQ1_CV_REF_MODIFIER\
Modified: sandbox/SOC/2009/fusion/boost/fusion/container/detail/convert_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/detail/convert_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/detail/convert_impl.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -15,7 +15,7 @@
#include <boost/preprocessor/cat.hpp>
//cschmidt: mpl's maximum supported arity is set to 5 by default. We need more
-//for the variadic templates implementations though. Therefore use the pp
+//for the variadic templates implementations though. Therefore we use the pp
//implementation for now.
//TODO: native variadic template unrolled workaround!.
@@ -29,13 +29,13 @@
{
namespace extension
{
- template <typename T>
+ template<typename T>
struct convert_impl;
- template <>
+ template<>
struct convert_impl<BOOST_PP_CAT(BOOST_FUSION_SEQ_NAME,_tag)>
{
- template <typename Seq>
+ template<typename Seq>
struct apply
{
//#ifdef BOOST_NO_VARIADIC_TEMPLATES
@@ -68,7 +68,7 @@
namespace result_of
{
- template <typename Seq>
+ template<typename Seq>
struct BOOST_PP_CAT(as_,BOOST_FUSION_SEQ_NAME)
: extension::convert_impl<
BOOST_PP_CAT(BOOST_FUSION_SEQ_NAME,_tag)
@@ -79,7 +79,7 @@
};
}
- template <typename Seq>
+ template<typename Seq>
inline typename
result_of::BOOST_PP_CAT(as_,BOOST_FUSION_SEQ_NAME)<
BOOST_FUSION_R_ELSE_CLREF(Seq)
Modified: sandbox/SOC/2009/fusion/boost/fusion/container/detail/forward_interface.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/detail/forward_interface.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/detail/forward_interface.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -46,14 +46,16 @@
# include <boost/fusion/container/detail/variadic_templates/forward_interface.hpp>
# endif
- template<typename SeqAssign>
- BOOST_FUSION_SEQ_NAME(BOOST_FUSION_R_ELSE_CLREF(SeqAssign) seq_assign)
- : BOOST_FUSION_INIT_BASE(BOOST_FUSION_FORWARD(SeqAssign,seq_assign))
- {}
+#ifdef BOOST_NO_RVALUE_REFERENCES
+ template<typename Arg>
+ BOOST_FUSION_SEQ_NAME(BOOST_FUSION_R_ELSE_CLREF(Arg) arg)
+ : BOOST_FUSION_INIT_BASE(BOOST_FUSION_FORWARD(Arg, arg))
+ {}
+#endif
# undef BOOST_FUSION_INIT_BASE
- template <typename Seq>
+ template<typename Seq>
BOOST_FUSION_SEQ_NAME&
operator=(BOOST_FUSION_R_ELSE_CLREF(Seq) seq)
{
Modified: sandbox/SOC/2009/fusion/boost/fusion/container/detail/pp/as_seq.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/detail/pp/as_seq.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/detail/pp/as_seq.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -18,7 +18,7 @@
namespace boost { namespace fusion { namespace detail
{
- template <int Size>
+ template<int Size>
struct BOOST_PP_CAT(BOOST_PP_CAT(as_,BOOST_FUSION_SEQ_NAME),_impl);
#define BOOST_PP_FILENAME_1 <boost/fusion/container/detail/pp/as_seq_n.hpp>
Modified: sandbox/SOC/2009/fusion/boost/fusion/container/detail/pp/as_seq_n.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/detail/pp/as_seq_n.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/detail/pp/as_seq_n.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -7,12 +7,12 @@
#define BOOST_FUSION_N BOOST_PP_ITERATION()
- template <>
+ template<>
struct BOOST_PP_CAT(BOOST_PP_CAT(as_,BOOST_FUSION_SEQ_NAME),_impl)<
BOOST_FUSION_N
>
{
- template <typename It0>
+ template<typename It0>
struct apply
{
#if BOOST_FUSION_N
Modified: sandbox/SOC/2009/fusion/boost/fusion/container/detail/pp/forward_interface_n.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/detail/pp/forward_interface_n.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/detail/pp/forward_interface_n.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -10,13 +10,14 @@
#ifndef BOOST_NO_RVALUE_REFERENCES
VARIADIC_TEMPLATE_A(BOOST_FUSION_N)
#endif
-#if BOOST_FUSION_N == 1
- explicit
-#endif
#ifdef BOOST_NO_RVALUE_REFERENCES
+# if BOOST_FUSION_N == 1
+ explicit
+# endif
BOOST_FUSION_SEQ_NAME(EXPAND_TEMPLATE_ARGUMENTS_CALL_PARAMS(BOOST_FUSION_N))
#else
- BOOST_FUSION_SEQ_NAME(EXPAND_TEMPLATE_ARGUMENTS_A(BOOST_FUSION_N))
+ BOOST_FUSION_SEQ_NAME(\
+ EXPAND_TEMPLATE_ARGUMENTS_PARAMETERS_A_R_ELSE_CLREF(BOOST_FUSION_N))
#endif
: BOOST_FUSION_INIT_BASE(EXPAND_PARAMETERS_A(BOOST_FUSION_N))
{}
Modified: sandbox/SOC/2009/fusion/boost/fusion/container/detail/variadic_templates/forward_interface.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/detail/variadic_templates/forward_interface.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/detail/variadic_templates/forward_interface.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -21,8 +21,7 @@
: BOOST_FUSION_INIT_BASE(arguments)
{}
# else
- template <typename... OtherArguments>
- explicit
+ template<typename... OtherArguments>
BOOST_FUSION_SEQ_NAME(OtherArguments&&... arguments)
: BOOST_FUSION_INIT_BASE(std::forward<OtherArguments>(arguments)...)
{}
Modified: sandbox/SOC/2009/fusion/boost/fusion/container/generation/cons_tie.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/generation/cons_tie.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/generation/cons_tie.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -17,7 +17,7 @@
namespace result_of
{
- template <typename Car, typename Cdr = nil>
+ template<typename Car, typename Cdr = nil>
struct cons_tie
{
typedef
@@ -30,7 +30,7 @@
}
// $$$ do we really want a cons_tie? $$$
- template <typename Car>
+ template<typename Car>
inline typename result_of::cons_tie<BOOST_FUSION_R_ELSE_LREF(Car)>::type
cons_tie(BOOST_FUSION_R_ELSE_LREF(Car) car)
{
@@ -39,7 +39,7 @@
BOOST_FUSION_FORWARD(Car,car));
}
- template <typename Car, typename Cdr>
+ template<typename Car, typename Cdr>
inline typename
result_of::cons_tie<
BOOST_FUSION_R_ELSE_LREF(Car)
Modified: sandbox/SOC/2009/fusion/boost/fusion/container/generation/detail/pp/map_tie.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/generation/detail/pp/map_tie.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/generation/detail/pp/map_tie.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -10,6 +10,7 @@
#ifndef BOOST_FUSION_CONTAINER_GENERATION_DETAIL_PP_MAP_TIE_HPP
#define BOOST_FUSION_CONTAINER_GENERATION_DETAIL_PP_MAP_TIE_HPP
+#include <boost/config.hpp>
#include <boost/fusion/container/map/map.hpp>
#include <boost/fusion/support/deduce.hpp>
#include <boost/fusion/support/pair.hpp>
@@ -21,6 +22,9 @@
#include <boost/preprocessor/repetition/enum_params.hpp>
#include <boost/preprocessor/repetition/enum_binary_params.hpp>
#include <boost/preprocessor/repetition/enum_params_with_a_default.hpp>
+#ifndef BOOST_NO_RVALUE_REFERENCES
+# include <boost/preprocessor/repetition/enum.hpp>
+#endif
namespace boost { namespace fusion
{
Modified: sandbox/SOC/2009/fusion/boost/fusion/container/generation/detail/pp/map_tie_n.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/generation/detail/pp/map_tie_n.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/generation/detail/pp/map_tie_n.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -69,7 +69,23 @@
BOOST_PP_ENUM_PARAMS(BOOST_FUSION_N, K)
BOOST_FUSION_COMMA
EXPAND_TEMPLATE_ARGUMENTS_A_R_ELSE_LREF(BOOST_FUSION_N)
- >::type(EXPAND_PARAMETERS_A(BOOST_FUSION_N));
+ >::type(
+#ifdef BOOST_NO_RVALUE_REFERENCES
+ EXPAND_PARAMETERS_A(BOOST_FUSION_N)
+#else
+
+# define BOOST_FUSION_MAP_TIE_FORWARD_ARGS(Z,N,__)\
+ static_cast<\
+ typename detail::deduce_ref<BOOST_PP_CAT(A,N)&&>::type\
+ >(BOOST_PP_CAT(_,N))
+
+ BOOST_PP_ENUM(
+ BOOST_FUSION_N,BOOST_FUSION_MAP_TIE_FORWARD_ARGS,_)
+
+# undef BOOST_FUSION_MAP_TIE_FORWARD_ARGS
+
+#endif
+ );
}
#undef BOOST_FUSION_COMMA
Modified: sandbox/SOC/2009/fusion/boost/fusion/container/generation/detail/pp/seq_tie.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/generation/detail/pp/seq_tie.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/generation/detail/pp/seq_tie.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -5,11 +5,16 @@
file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
==============================================================================*/
+#include <boost/config.hpp>
#include <boost/fusion/support/deduce.hpp>
#include <boost/fusion/support/internal/template.hpp>
#include <boost/preprocessor/iterate.hpp>
#include <boost/preprocessor/cat.hpp>
+#ifndef BOOST_NO_RVALUE_REFERENCES
+# include <boost/preprocessor/cat.hpp>
+# include <boost/preprocessor/repetition/enum.hpp>
+#endif
namespace boost { namespace fusion
{
Modified: sandbox/SOC/2009/fusion/boost/fusion/container/generation/detail/pp/seq_tie_n.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/generation/detail/pp/seq_tie_n.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/generation/detail/pp/seq_tie_n.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -43,7 +43,23 @@
#endif
result_of::BOOST_FUSION_FUNCTION_NAME<
EXPAND_TEMPLATE_ARGUMENTS_A_R_ELSE_LREF(BOOST_FUSION_N)
- >::type(EXPAND_PARAMETERS_A(BOOST_FUSION_N));
+ >::type(
+#ifdef BOOST_NO_RVALUE_REFERENCES
+ EXPAND_PARAMETERS_A(BOOST_FUSION_N)
+#else
+
+# define BOOST_FUSION_SEQ_TIE_FORWARD_ARGS(Z,N,__)\
+ static_cast<\
+ typename detail::deduce_ref<BOOST_PP_CAT(A,N)&&>::type\
+ >(BOOST_PP_CAT(_,N))
+
+ BOOST_PP_ENUM(
+ BOOST_FUSION_N,BOOST_FUSION_SEQ_TIE_FORWARD_ARGS,_)
+
+# undef BOOST_FUSION_MAP_TIE_FORWARD_ARGS
+
+#endif
+ );
}
#undef BOOST_FUSION_N
Modified: sandbox/SOC/2009/fusion/boost/fusion/container/generation/detail/seq_tie.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/generation/detail/seq_tie.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/generation/detail/seq_tie.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -15,9 +15,11 @@
# ifdef BOOST_NO_VARIADIC_TEMPLATES
# include <boost/preprocessor/empty.hpp>
-# define BOOST_FUSION_FUNCTION_NAME BOOST_PP_CAT(BOOST_FUSION_SEQ_NAME(BOOST_PP_EMPTY()),_tie)
+# define BOOST_FUSION_FUNCTION_NAME\
+ BOOST_PP_CAT(BOOST_FUSION_SEQ_NAME(BOOST_PP_EMPTY()),_tie)
# else
-# define BOOST_FUSION_FUNCTION_NAME BOOST_PP_CAT(BOOST_FUSION_SEQ_NAME,_tie)
+# define BOOST_FUSION_FUNCTION_NAME\
+ BOOST_PP_CAT(BOOST_FUSION_SEQ_NAME,_tie)
# endif
#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 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -29,7 +29,7 @@
{
namespace result_of
{
- template <typename... KeysTypes>
+ template<typename... KeysTypes>
struct make_map
{
typedef typename
@@ -69,7 +69,7 @@
};
}
- template <typename... Keys, typename... Types>
+ template<typename... Keys, typename... Types>
inline typename
result_of::make_map<Keys...,BOOST_FUSION_R_ELSE_CLREF(Types)...>::type
make_map(BOOST_FUSION_R_ELSE_CLREF(Types)... types)
Modified: sandbox/SOC/2009/fusion/boost/fusion/container/generation/detail/variadic_templates/make_seq.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/generation/detail/variadic_templates/make_seq.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/generation/detail/variadic_templates/make_seq.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -13,7 +13,7 @@
{
namespace result_of
{
- template <typename... Types>
+ template<typename... Types>
struct BOOST_PP_CAT(make_,BOOST_FUSION_SEQ_NAME)
{
typedef
@@ -24,7 +24,7 @@
};
}
- template <typename... Types>
+ template<typename... Types>
inline typename
result_of::BOOST_PP_CAT(make_,BOOST_FUSION_SEQ_NAME)<
BOOST_FUSION_R_ELSE_CLREF(Types)...
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 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -29,7 +29,7 @@
{
namespace result_of
{
- template <typename... KeysTypes>
+ template<typename... KeysTypes>
struct map_tie
{
typedef typename
@@ -72,15 +72,21 @@
};
}
- template <typename... Keys, typename... Types>
+ template<typename... Keys, typename... Types>
inline typename
- result_of::map_tie<Keys...,BOOST_FUSION_R_ELSE_CLREF(Types)...>::type
- map_tie(BOOST_FUSION_R_ELSE_CLREF(Types)... types)
+ result_of::map_tie<Keys...,BOOST_FUSION_R_ELSE_LREF(Types)...>::type
+ map_tie(BOOST_FUSION_R_ELSE_LREF(Types)... types)
{
return typename result_of::map_tie<
Keys...
- , BOOST_FUSION_R_ELSE_CLREF(Types)...
- >::type(BOOST_FUSION_FORWARD(Types, types)...);
+ , BOOST_FUSION_R_ELSE_LREF(Types)...
+ >::type(
+#if BOOST_NO_RVALUE_REFERENCES
+ types
+#else
+ static_cast<typename detail::deduce_ref<Types&&>::type>(types)...
+#endif
+ );
}
}}
Modified: sandbox/SOC/2009/fusion/boost/fusion/container/generation/detail/variadic_templates/seq_tie.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/generation/detail/variadic_templates/seq_tie.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/generation/detail/variadic_templates/seq_tie.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -13,7 +13,7 @@
{
namespace result_of
{
- template <typename... Types>
+ template<typename... Types>
struct BOOST_FUSION_FUNCTION_NAME
{
typedef
@@ -24,15 +24,21 @@
};
}
- template <typename... Types>
+ template<typename... Types>
inline typename result_of::BOOST_FUSION_FUNCTION_NAME<
- BOOST_FUSION_R_ELSE_CLREF(Types)...
+ BOOST_FUSION_R_ELSE_LREF(Types)...
>::type
- BOOST_FUSION_FUNCTION_NAME(BOOST_FUSION_R_ELSE_CLREF(Types)... types)
+ BOOST_FUSION_FUNCTION_NAME(BOOST_FUSION_R_ELSE_LREF(Types)... types)
{
return typename result_of::BOOST_FUSION_FUNCTION_NAME<
- BOOST_FUSION_R_ELSE_CLREF(Types)...
- >::type(BOOST_FUSION_FORWARD(Types, types)...);
+ BOOST_FUSION_R_ELSE_LREF(Types)...
+ >::type(
+#if BOOST_NO_RVALUE_REFERENCES
+ types
+#else
+ static_cast<typename detail::deduce_ref<Types&&>::type>(types)...
+#endif
+ );
}
}}
Modified: sandbox/SOC/2009/fusion/boost/fusion/container/generation/make_cons.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/generation/make_cons.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/generation/make_cons.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -18,7 +18,7 @@
namespace result_of
{
- template <typename Car, typename Cdr = nil>
+ template<typename Car, typename Cdr = nil>
struct make_cons
{
typedef
@@ -30,7 +30,7 @@
};
}
- template <typename Car>
+ template<typename Car>
inline typename result_of::make_cons<BOOST_FUSION_R_ELSE_CLREF(Car)>::type
make_cons(BOOST_FUSION_R_ELSE_CLREF(Car) car)
{
@@ -41,7 +41,7 @@
return type(BOOST_FUSION_FORWARD(Car,car));
}
- template <typename Car, typename Cdr>
+ template<typename Car, typename Cdr>
inline typename
result_of::make_cons<
BOOST_FUSION_R_ELSE_CLREF(Car)
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 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -1,7 +1,7 @@
/*=============================================================================
Copyright (c) 2005 Joel de Guzman
Copyright (c) 2005 Eric Niebler
- Copyright (c) 2009 Christopher Schmidt
+ Copyright (c) 2009-2010 Christopher Schmidt
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)
@@ -10,6 +10,7 @@
#ifndef BOOST_FUSION_CONTAINER_LIST_CONS_HPP
#define BOOST_FUSION_CONTAINER_LIST_CONS_HPP
+#include <boost/config.hpp>
#include <boost/fusion/sequence/intrinsic/begin.hpp>
#include <boost/fusion/sequence/intrinsic/front.hpp>
#include <boost/fusion/iterator/next.hpp>
@@ -45,6 +46,12 @@
struct void_;
struct fusion_sequence_tag;
+#ifdef BOOST_MSVC
+# pragma warning(push)
+ //'class' : multiple copy constructors specified
+# pragma warning(disable:4521)
+#endif
+
struct nil
: sequence_base<nil>
{
@@ -95,7 +102,7 @@
{}
};
- template <typename Car, typename Cdr = nil>
+ template<typename Car, typename Cdr = nil>
struct cons
: sequence_base<cons<Car, Cdr> >
{
@@ -149,7 +156,13 @@
# else
template<typename OtherCar>
explicit
- cons(OtherCar&& car)
+ cons(OtherCar&& car,
+ typename enable_if<
+ detail::is_explicitly_convertible<
+ BOOST_FUSION_R_ELSE_CLREF(OtherCar)
+ , car_type
+ >
+ >::type* =0)
: car(std::forward<OtherCar>(car))
{}
@@ -242,6 +255,10 @@
car_type car;
cdr_type cdr;
};
+
+#ifdef BOOST_MSVC
+# pragma warning(pop)
+#endif
}}
#endif
Modified: sandbox/SOC/2009/fusion/boost/fusion/container/list/detail/at_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/list/detail/at_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/list/detail/at_impl.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -14,13 +14,13 @@
namespace boost { namespace fusion { namespace extension
{
- template <typename>
+ template<typename>
struct at_impl;
- template <>
+ template<>
struct at_impl<cons_tag>
{
- template <typename Seq, typename N>
+ template<typename Seq, typename N>
struct apply
{
typedef typename
@@ -32,14 +32,14 @@
>::type
type;
- template <typename Cons, int N2>
+ template<typename Cons, int N2>
static type
call(Cons& cons, mpl::int_<N2>)
{
return call(cons.cdr, mpl::int_<N2-1>());
}
- template <typename Cons>
+ template<typename Cons>
static type
call(Cons& cons, mpl::int_<0>)
{
@@ -54,7 +54,7 @@
};
};
- template <>
+ template<>
struct at_impl<list_tag>
: at_impl<cons_tag>
{};
Modified: sandbox/SOC/2009/fusion/boost/fusion/container/list/detail/begin_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/list/detail/begin_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/list/detail/begin_impl.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -11,13 +11,13 @@
namespace boost { namespace fusion { namespace extension
{
- template <typename>
+ template<typename>
struct begin_impl;
- template <>
+ template<>
struct begin_impl<cons_tag>
{
- template <typename Seq>
+ template<typename Seq>
struct apply
{
typedef cons_iterator<typename detail::add_lref<Seq>::type> type;
@@ -30,7 +30,7 @@
};
};
- template <>
+ template<>
struct begin_impl<list_tag>
: begin_impl<cons_tag>
{};
Modified: sandbox/SOC/2009/fusion/boost/fusion/container/list/detail/build_cons.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/list/detail/build_cons.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/list/detail/build_cons.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -15,14 +15,14 @@
namespace boost { namespace fusion { namespace detail
{
- template <
+ template<
typename Begin
, typename End
, bool is_empty = result_of::equal_to<Begin, End>::value
>
struct build_cons;
- template <typename Begin, typename End>
+ template<typename Begin, typename End>
struct build_cons<Begin, End, true>
{
typedef nil type;
@@ -34,7 +34,7 @@
}
};
- template <typename Begin, typename End>
+ template<typename Begin, typename End>
struct build_cons<Begin, End, false>
{
typedef
Modified: sandbox/SOC/2009/fusion/boost/fusion/container/list/detail/cons_fwd.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/list/detail/cons_fwd.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/list/detail/cons_fwd.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -14,7 +14,7 @@
struct cons_tag;
struct nil;
- template <typename Car, typename Cdr>
+ template<typename Car, typename Cdr>
struct cons;
}}
Modified: sandbox/SOC/2009/fusion/boost/fusion/container/list/detail/cons_iterator.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/list/detail/cons_iterator.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/list/detail/cons_iterator.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -61,7 +61,7 @@
};
#define BOOST_FUSION_NIL_ITERATOR(MODIFIER,_)\
- template <>\
+ template<>\
struct cons_iterator<nil MODIFIER>\
: nil_iterator\
{\
@@ -73,7 +73,7 @@
{}\
};\
\
- template <>\
+ template<>\
struct cons_iterator<list<> MODIFIER>\
: nil_iterator\
{\
Modified: sandbox/SOC/2009/fusion/boost/fusion/container/list/detail/convert_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/list/detail/convert_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/list/detail/convert_impl.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -15,13 +15,13 @@
namespace boost { namespace fusion { namespace extension
{
- template <typename T>
+ template<typename T>
struct convert_impl;
- template <>
+ template<>
struct convert_impl<cons_tag>
{
- template <typename Seq>
+ template<typename Seq>
struct apply
{
typedef
Modified: sandbox/SOC/2009/fusion/boost/fusion/container/list/detail/deref_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/list/detail/deref_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/list/detail/deref_impl.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -11,13 +11,13 @@
namespace boost { namespace fusion { namespace extension
{
- template <typename>
+ template<typename>
struct deref_impl;
- template <>
+ template<>
struct deref_impl<cons_iterator_tag>
{
- template <typename It>
+ template<typename It>
struct apply
{
typedef typename
Modified: sandbox/SOC/2009/fusion/boost/fusion/container/list/detail/end_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/list/detail/end_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/list/detail/end_impl.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -11,13 +11,13 @@
namespace boost { namespace fusion { namespace extension
{
- template <typename>
+ template<typename>
struct end_impl;
- template <>
+ template<>
struct end_impl<cons_tag>
{
- template <typename Seq>
+ template<typename Seq>
struct apply
{
typedef
@@ -32,7 +32,7 @@
};
};
- template <>
+ template<>
struct end_impl<list_tag>
: end_impl<cons_tag>
{};
Modified: sandbox/SOC/2009/fusion/boost/fusion/container/list/detail/equal_to_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/list/detail/equal_to_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/list/detail/equal_to_impl.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -13,13 +13,13 @@
namespace boost { namespace fusion { namespace extension
{
- template <typename>
+ template<typename>
struct equal_to_impl;
- template <>
+ template<>
struct equal_to_impl<cons_iterator_tag>
{
- template <typename It1, typename It2>
+ template<typename It1, typename It2>
struct apply
: is_same<
typename detail::identity<
Modified: sandbox/SOC/2009/fusion/boost/fusion/container/list/detail/next_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/list/detail/next_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/list/detail/next_impl.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -12,13 +12,13 @@
namespace boost { namespace fusion { namespace extension
{
- template <typename>
+ template<typename>
struct next_impl;
- template <>
+ template<>
struct next_impl<cons_iterator_tag>
{
- template <typename It>
+ template<typename It>
struct apply
{
typedef typename
Modified: sandbox/SOC/2009/fusion/boost/fusion/container/list/detail/pp/list_forward_ctor_n.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/list/detail/pp/list_forward_ctor_n.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/list/detail/pp/list_forward_ctor_n.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -24,14 +24,13 @@
# else
# ifdef BOOST_NO_RVALUE_REFERENCES
: base_type(vector<
- BOOST_PP_ENUM_BINARY_PARAMS(BOOST_FUSION_N,
- typename call_traits<T,
- >::param_type BOOST_PP_INTERCEPT)
- >(EXPAND_PARAMETERS_A(BOOST_FUSION_N)))
+ BOOST_PP_ENUM_BINARY_PARAMS(
+ BOOST_FUSION_N,
+ typename call_traits<T,
+ >::param_type BOOST_PP_INTERCEPT)
+ >(EXPAND_PARAMETERS_A(BOOST_FUSION_N)))
# else
- : base_type(vector<
- BOOST_PP_ENUM_BINARY_PARAMS(N, A,&& BOOST_PP_INTERCEPT)
- >(EXPAND_PARAMETERS_A(BOOST_FUSION_N)))
+ : base_type(fusion::vector_tie(EXPAND_PARAMETERS_A(BOOST_FUSION_N)))
# endif
# endif
#endif
Modified: sandbox/SOC/2009/fusion/boost/fusion/container/list/detail/value_at_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/list/detail/value_at_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/list/detail/value_at_impl.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -12,13 +12,13 @@
namespace boost { namespace fusion { namespace extension
{
- template <typename>
+ template<typename>
struct value_at_impl;
- template <>
+ template<>
struct value_at_impl<cons_tag>
{
- template <typename Seq, typename N>
+ template<typename Seq, typename N>
struct apply
{
typedef typename
@@ -35,7 +35,7 @@
};
};
- template <>
+ template<>
struct value_at_impl<list_tag>
: value_at_impl<cons_tag>
{};
Modified: sandbox/SOC/2009/fusion/boost/fusion/container/list/detail/value_of_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/list/detail/value_of_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/list/detail/value_of_impl.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -11,13 +11,13 @@
namespace boost { namespace fusion { namespace extension
{
- template <typename>
+ template<typename>
struct value_of_impl;
- template <>
+ template<>
struct value_of_impl<cons_iterator_tag>
{
- template <typename It>
+ template<typename It>
struct apply
{
typedef typename
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 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -1,6 +1,6 @@
/*=============================================================================
Copyright (c) 2005 Joel de Guzman
- Copyright (c) 2009 Christopher Schmidt
+ Copyright (c) 2009-2010 Christopher Schmidt
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)
@@ -9,6 +9,7 @@
#ifndef BOOST_FUSION_CONTAINER_LIST_LIST_HPP
#define BOOST_FUSION_CONTAINER_LIST_LIST_HPP
+#include <boost/config.hpp>
#include <boost/fusion/container/list/list_fwd.hpp>
#include <boost/fusion/container/list/cons.hpp>
#include <boost/fusion/container/generation/vector_tie.hpp>
@@ -17,6 +18,12 @@
namespace boost { namespace fusion
{
+#ifdef BOOST_MSVC
+# pragma warning(push)
+ //'class' : multiple copy constructors specified
+# pragma warning(disable:4521)
+#endif
+
VARIADIC_TEMPLATE(FUSION_MAX_LIST_SIZE)
struct list
: detail::cons_gen<EXPAND_TEMPLATE_ARGUMENTS(FUSION_MAX_LIST_SIZE)>::type
@@ -42,12 +49,12 @@
# include <boost/fusion/container/list/detail/pp/list_forward_ctor.hpp>
- template<typename SeqAssign>
- list(SeqAssign const& seq_assign)
- : base_type(seq_assign)
+ template<typename Seq>
+ list(Seq const& seq)
+ : base_type(seq)
{}
- template <typename Seq>
+ template<typename Seq>
list&
operator=(BOOST_FUSION_R_ELSE_CLREF(Seq) seq)
{
@@ -64,6 +71,10 @@
# undef BOOST_FUSION_USE_BASE_TYPE
#endif
};
+
+#ifdef BOOST_MSVC
+# pragma warning(pop)
+#endif
}}
#endif
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 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -13,13 +13,13 @@
namespace boost { namespace fusion { namespace extension
{
- template <typename>
+ template<typename>
struct begin_impl;
- template <>
+ template<>
struct begin_impl<map_tag>
{
- template <typename Seq>
+ template<typename Seq>
struct apply
{
typedef
Modified: sandbox/SOC/2009/fusion/boost/fusion/container/map/detail/deref_data_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/map/detail/deref_data_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/map/detail/deref_data_impl.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -13,13 +13,13 @@
namespace boost { namespace fusion { namespace extension
{
- template <typename>
+ template<typename>
struct deref_data_impl;
- template <>
+ template<>
struct deref_data_impl<map_iterator_tag>
{
- template <typename It>
+ template<typename It>
struct apply
{
typedef typename detail::remove_reference<It>::type it;
Modified: sandbox/SOC/2009/fusion/boost/fusion/container/map/detail/deref_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/map/detail/deref_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/map/detail/deref_impl.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -12,13 +12,13 @@
namespace boost { namespace fusion { namespace extension
{
- template <typename>
+ template<typename>
struct deref_impl;
- template <>
+ template<>
struct deref_impl<map_iterator_tag>
{
- template <typename It>
+ template<typename It>
struct apply
{
typedef typename detail::remove_reference<It>::type it;
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 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -13,13 +13,13 @@
namespace boost { namespace fusion { namespace extension
{
- template <typename>
+ template<typename>
struct end_impl;
- template <>
+ template<>
struct end_impl<map_tag>
{
- template <typename Seq>
+ template<typename Seq>
struct apply
{
typedef
Modified: sandbox/SOC/2009/fusion/boost/fusion/container/map/detail/key_of_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/map/detail/key_of_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/map/detail/key_of_impl.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -12,13 +12,13 @@
namespace boost { namespace fusion { namespace extension
{
- template <typename>
+ template<typename>
struct key_of_impl;
- template <>
+ template<>
struct key_of_impl<map_iterator_tag>
{
- template <typename It>
+ template<typename It>
struct apply
{
typedef typename
Modified: sandbox/SOC/2009/fusion/boost/fusion/container/map/detail/value_of_data_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/map/detail/value_of_data_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/map/detail/value_of_data_impl.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -12,13 +12,13 @@
namespace boost { namespace fusion { namespace extension
{
- template <typename>
+ template<typename>
struct value_of_data_impl;
- template <>
+ template<>
struct value_of_data_impl<map_iterator_tag>
{
- template <typename It>
+ template<typename It>
struct apply
{
typedef typename
Modified: sandbox/SOC/2009/fusion/boost/fusion/container/map/detail/value_of_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/map/detail/value_of_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/map/detail/value_of_impl.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -12,13 +12,13 @@
namespace boost { namespace fusion { namespace extension
{
- template <typename>
+ template<typename>
struct value_of_impl;
- template <>
+ template<>
struct value_of_impl<map_iterator_tag>
{
- template <typename It>
+ template<typename It>
struct apply
{
typedef typename detail::remove_reference<It>::type it;
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 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -1,6 +1,6 @@
/*=============================================================================
Copyright (c) 2005 Joel de Guzman
- Copyright (c) 2009 Christopher Schmidt
+ Copyright (c) 2009-2010 Christopher Schmidt
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)
@@ -9,12 +9,12 @@
#ifndef BOOST_FUSION_CONTAINER_MAP_MAP_HPP
#define BOOST_FUSION_CONTAINER_MAP_MAP_HPP
+#include <boost/config.hpp>
#include <boost/fusion/container/map/map_fwd.hpp>
#include <boost/fusion/container/vector/vector.hpp>
#include <boost/fusion/support/pair.hpp>
#include <boost/fusion/support/sequence_base.hpp>
#include <boost/fusion/support/internal/ref.hpp>
-
#include <boost/mpl/bool.hpp>
#include <boost/fusion/container/map/detail/begin_impl.hpp>
@@ -24,13 +24,18 @@
#include <boost/fusion/container/map/detail/value_of_data_impl.hpp>
#include <boost/fusion/container/map/detail/deref_data_impl.hpp>
#include <boost/fusion/container/map/detail/key_of_impl.hpp>
-
#include <boost/fusion/container/detail/forward_interface.hpp>
namespace boost { namespace fusion
{
struct fusion_sequence_tag;
+#ifdef BOOST_MSVC
+# pragma warning(push)
+ //'class' : multiple copy constructors specified
+# pragma warning(disable:4521)
+#endif
+
VARIADIC_TEMPLATE(FUSION_MAX_MAP_SIZE)
struct map
: sequence_base<map<EXPAND_TEMPLATE_ARGUMENTS(FUSION_MAX_MAP_SIZE)> >
@@ -57,6 +62,10 @@
private:
storage_type data;
};
+
+#ifdef BOOST_MSVC
+# pragma warning(pop)
+#endif
}}
#endif
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 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -13,13 +13,13 @@
namespace boost { namespace fusion { namespace extension
{
- template <typename>
+ template<typename>
struct begin_impl;
- template <>
+ template<>
struct begin_impl<set_tag>
{
- template <typename Seq>
+ template<typename Seq>
struct apply
{
typedef
Modified: sandbox/SOC/2009/fusion/boost/fusion/container/set/detail/deref_data_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/set/detail/deref_data_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/set/detail/deref_data_impl.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -12,10 +12,10 @@
namespace boost { namespace fusion { namespace extension
{
- template <typename>
+ template<typename>
struct deref_data_impl;
- template <>
+ template<>
struct deref_data_impl<set_iterator_tag>
: deref_impl<set_iterator_tag>
{};
Modified: sandbox/SOC/2009/fusion/boost/fusion/container/set/detail/deref_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/set/detail/deref_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/set/detail/deref_impl.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -12,13 +12,13 @@
namespace boost { namespace fusion { namespace extension
{
- template <typename>
+ template<typename>
struct deref_impl;
- template <>
+ template<>
struct deref_impl<set_iterator_tag>
{
- template <typename It>
+ template<typename It>
struct apply
{
typedef typename detail::remove_reference<It>::type it;
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 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -13,13 +13,13 @@
namespace boost { namespace fusion { namespace extension
{
- template <typename>
+ template<typename>
struct end_impl;
- template <>
+ template<>
struct end_impl<set_tag>
{
- template <typename Seq>
+ template<typename Seq>
struct apply
{
typedef
Modified: sandbox/SOC/2009/fusion/boost/fusion/container/set/detail/key_of_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/set/detail/key_of_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/set/detail/key_of_impl.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -12,10 +12,10 @@
namespace boost { namespace fusion { namespace extension
{
- template <typename>
+ template<typename>
struct key_of_impl;
- template <>
+ template<>
struct key_of_impl<set_iterator_tag>
: value_of_impl<set_iterator_tag>
{};
Modified: sandbox/SOC/2009/fusion/boost/fusion/container/set/detail/value_of_data_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/set/detail/value_of_data_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/set/detail/value_of_data_impl.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -12,10 +12,10 @@
namespace boost { namespace fusion { namespace extension
{
- template <typename>
+ template<typename>
struct value_of_data_impl;
- template <>
+ template<>
struct value_of_data_impl<set_iterator_tag>
: value_of_impl<set_iterator_tag>
{};
Modified: sandbox/SOC/2009/fusion/boost/fusion/container/set/detail/value_of_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/set/detail/value_of_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/set/detail/value_of_impl.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -12,13 +12,13 @@
namespace boost { namespace fusion { namespace extension
{
- template <typename>
+ template<typename>
struct value_of_impl;
- template <>
+ template<>
struct value_of_impl<set_iterator_tag>
{
- template <typename It>
+ template<typename It>
struct apply
{
typedef typename detail::remove_reference<It>::type it;
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 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -1,6 +1,6 @@
/*=============================================================================
Copyright (c) 2005 Joel de Guzman
- Copyright (c) 2009 Christopher Schmidt
+ Copyright (c) 2009-2010 Christopher Schmidt
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)
@@ -9,6 +9,7 @@
#ifndef BOOST_FUSION_CONTAINER_SET_SET_HPP
#define BOOST_FUSION_CONTAINER_SET_SET_HPP
+#include <boost/config.hpp>
#include <boost/fusion/container/set/set_fwd.hpp>
#include <boost/fusion/container/vector/vector.hpp>
#include <boost/fusion/support/sequence_base.hpp>
@@ -30,6 +31,12 @@
{
struct fusion_sequence_tag;
+#ifdef BOOST_MSVC
+# pragma warning(push)
+ //'class' : multiple copy constructors specified
+# pragma warning(disable:4521)
+#endif
+
VARIADIC_TEMPLATE(FUSION_MAX_SET_SIZE)
struct set
: sequence_base<set<EXPAND_TEMPLATE_ARGUMENTS(FUSION_MAX_SET_SIZE)> >
@@ -56,6 +63,10 @@
private:
storage_type data;
};
+
+#ifdef BOOST_MSVC
+# pragma warning(pop)
+#endif
}}
#endif
Modified: sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/at_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/at_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/at_impl.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -16,13 +16,13 @@
namespace boost { namespace fusion { namespace extension
{
- template <typename>
+ template<typename>
struct at_impl;
- template <>
+ template<>
struct at_impl<vector_tag>
{
- template <typename Seq, typename N>
+ template<typename Seq, typename N>
struct apply
{
typedef typename
Modified: sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/begin_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/begin_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/begin_impl.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -13,13 +13,13 @@
namespace boost { namespace fusion { namespace extension
{
- template <typename>
+ template<typename>
struct begin_impl;
- template <>
+ template<>
struct begin_impl<vector_tag>
{
- template <typename Seq>
+ template<typename Seq>
struct apply
{
typedef
Modified: sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/deref_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/deref_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/deref_impl.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -15,13 +15,13 @@
namespace boost { namespace fusion { namespace extension
{
- template <typename>
+ template<typename>
struct deref_impl;
- template <>
+ template<>
struct deref_impl<vector_iterator_tag>
{
- template <typename It>
+ template<typename It>
struct apply
{
typedef typename detail::remove_reference<It>::type it;
Modified: sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/end_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/end_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/end_impl.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -13,13 +13,13 @@
namespace boost { namespace fusion { namespace extension
{
- template <typename>
+ template<typename>
struct end_impl;
- template <>
+ template<>
struct end_impl<vector_tag>
{
- template <typename Seq>
+ template<typename Seq>
struct apply
{
typedef
Modified: sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/pp/vector.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/pp/vector.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/pp/vector.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -1,6 +1,6 @@
/*=============================================================================
Copyright (c) 2001-2006 Joel de Guzman
- Copyright (c) 2009 Christopher Schmidt
+ Copyright (c) 2009-2010 Christopher Schmidt
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)
@@ -9,19 +9,24 @@
#ifndef BOOST_FUSION_CONTAINER_VECTOR_DETAIL_PP_VECTOR_HPP
#define BOOST_FUSION_CONTAINER_VECTOR_DETAIL_PP_VECTOR_HPP
+#include <boost/config.hpp>
#include <boost/fusion/sequence/intrinsic/begin.hpp>
#include <boost/fusion/container/vector/detail/pp/vector_n_chooser.hpp>
-
#include <boost/mpl/at.hpp>
#include <boost/mpl/bool.hpp>
#include <boost/type_traits/add_const.hpp>
-
#include <boost/fusion/container/detail/forward_interface.hpp>
namespace boost { namespace fusion
{
struct fusion_sequence_tag;
+#ifdef BOOST_MSVC
+# pragma warning(push)
+ //'class' : multiple copy constructors specified
+# pragma warning(disable:4521)
+#endif
+
VARIADIC_TEMPLATE(FUSION_MAX_VECTOR_SIZE)
struct vector
: detail::vector_n_chooser<
@@ -44,6 +49,10 @@
#undef BOOST_FUSION_SEQ_NAME
#undef BOOST_FUSION_USE_BASE_TYPE
};
+
+#ifdef BOOST_MSVC
+# pragma warning(pop)
+#endif
}}
#endif
Modified: sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/pp/vector_n.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/pp/vector_n.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/pp/vector_n.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -1,12 +1,13 @@
/*=============================================================================
Copyright (c) 2001-2006 Joel de Guzman
- Copyright (c) 2009 Christopher Schmidt
+ Copyright (c) 2009-2010 Christopher Schmidt
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_PP_IS_ITERATING
+# include <boost/config.hpp>
# include <boost/fusion/container/vector/vector_fwd.hpp>
# ifdef BOOST_FUSION_TAGGED_VECTOR
# include <boost/fusion/container/vector/detail/variadic_templates/tagged_impl.hpp>
@@ -49,9 +50,19 @@
{
struct fusion_sequence_tag;
+#ifdef BOOST_MSVC
+# pragma warning(push)
+ //'class' : multiple copy constructors specified
+# pragma warning(disable:4521)
+#endif
+
# define BOOST_PP_FILENAME_1 <boost/fusion/container/vector/detail/pp/vector_n.hpp>
# define BOOST_PP_ITERATION_LIMITS (BOOST_FUSION_FROM, BOOST_FUSION_TO)
# include BOOST_PP_ITERATE()
+
+#ifdef BOOST_MSVC
+# pragma warning(pop)
+#endif
}}
#else
@@ -83,15 +94,15 @@
>
# endif
{
-#ifdef BOOST_FUSION_PREFER_MPL
+# ifdef BOOST_FUSION_PREFER_MPL
typedef
mpl::BOOST_PP_CAT(vector, BOOST_FUSION_N)<
EXPAND_TEMPLATE_ARGUMENTS(BOOST_FUSION_N)
>
types;
-#endif
+# endif
typedef vector_tag fusion_tag;
- typedef fusion_sequence_tag tag;
+ typedef fusion_sequence_tag tag;
typedef mpl::false_ is_view;
typedef random_access_traversal_tag category;
typedef mpl::int_<BOOST_FUSION_N> size;
@@ -107,19 +118,21 @@
# undef BOOST_FUSION_DEFAULT_MEMBER_INIT
# if BOOST_FUSION_N
-# define BOOST_FUSION_MEMBER_INIT(Z, N, MODIFIER)\
- BOOST_PP_CAT(m,N)(\
- BOOST_FUSION_FORWARD(\
- BOOST_PP_CAT(vector, N)<\
- EXPAND_TEMPLATE_ARGUMENTS(N)\
- > MODIFIER,vec).\
- BOOST_PP_CAT(m,N))
+# ifdef BOOST_NO_RVALUE_REFERENCES
+# define BOOST_FUSION_MEMBER_INIT(Z, N, MODIFIER)\
+ BOOST_PP_CAT(m,N)(vec.BOOST_PP_CAT(m,N))
+# else
+# define BOOST_FUSION_MEMBER_INIT(Z, N, MODIFIER)\
+ BOOST_PP_CAT(m,N)(static_cast<\
+ typename detail::forward_as<\
+ int MODIFIER\
+ , BOOST_PP_CAT(T,N)\
+ >::type>(vec.BOOST_PP_CAT(m,N)))
+# endif
# define BOOST_FUSION_VECTOR_CTOR(MODIFIER,_)\
BOOST_PP_CAT(vector, BOOST_FUSION_N)(\
- BOOST_PP_CAT(vector, BOOST_FUSION_N)<\
- EXPAND_TEMPLATE_ARGUMENTS(BOOST_FUSION_N)\
- > MODIFIER vec)\
+ BOOST_PP_CAT(vector, BOOST_FUSION_N) MODIFIER vec)\
: BOOST_PP_ENUM(BOOST_FUSION_N, BOOST_FUSION_MEMBER_INIT, MODIFIER)\
{}
@@ -129,31 +142,14 @@
# else
# define BOOST_FUSION_VECTOR_CTOR(MODIFIER,_)\
BOOST_PP_CAT(vector, BOOST_FUSION_N)(\
- BOOST_PP_CAT(vector, BOOST_FUSION_N)<void_> MODIFIER vec)\
+ BOOST_PP_CAT(vector, BOOST_FUSION_N) MODIFIER vec)\
{}
BOOST_FUSION_ALL_CTOR_COMBINATIONS(BOOST_FUSION_VECTOR_CTOR,_)
-
# endif
# undef BOOST_FUSION_VECTOR_CTOR
# if BOOST_FUSION_N
-# if BOOST_FUSION_N==1
- template<class Seq>
- explicit
- vector1(BOOST_FUSION_R_ELSE_LREF(Seq) seq,
- typename disable_if<
- detail::is_explicitly_convertible<
- BOOST_FUSION_R_ELSE_LREF(Seq)
- , T0
- >
- >::type* =0)
- : m0(fusion::front(seq))
- {
- BOOST_FUSION_STATIC_ASSERT((result_of::size<Seq>::value==1));
- }
-# endif
-
# define BOOST_FUSION_MEMBER_INIT(Z, N, _)\
BOOST_PP_CAT(m,N)(\
BOOST_FUSION_FORWARD(BOOST_PP_CAT(A,N), BOOST_PP_CAT(_,N)))
@@ -161,40 +157,59 @@
# ifndef BOOST_NO_RVALUE_REFERENCES
VARIADIC_TEMPLATE_A(BOOST_FUSION_N)
# endif
+# if BOOST_FUSION_N==1
+ explicit
+# endif
BOOST_PP_CAT(vector, BOOST_FUSION_N)(
# ifdef BOOST_NO_RVALUE_REFERENCES
EXPAND_TEMPLATE_ARGUMENTS_CALL_PARAMS(BOOST_FUSION_N)
# else
EXPAND_TEMPLATE_ARGUMENTS_PARAMETERS_A_R_ELSE_CLREF(BOOST_FUSION_N)
+# if BOOST_FUSION_N==1
+ , typename enable_if<
+ detail::is_explicitly_convertible<A0&&, T0>
+ >::type* =0
+# endif
# endif
)
: BOOST_PP_ENUM(BOOST_FUSION_N, BOOST_FUSION_MEMBER_INIT, _)
{}
# undef BOOST_FUSION_MEMBER_INIT
-# endif
-
-# if BOOST_FUSION_N
-# define BOOST_FUSION_MEMBER_INIT(Z, N, SEQ)\
- BOOST_PP_CAT(m,N)(fusion::deref(\
- fusion::advance_c<N>(fusion::begin(SEQ))))
# if BOOST_FUSION_N==1
-# define BOOST_FUSION_VECTOR_SEQ_ASSIGN_CTOR(MODIFIER)
+# define BOOST_FUSION_MEMBER_INIT(Z, N, SEQ)\
+ m0(fusion::front(SEQ))
# else
-# define BOOST_FUSION_VECTOR_SEQ_ASSIGN_CTOR(MODIFIER)\
- template<typename Seq>\
- BOOST_PP_CAT(vector,BOOST_FUSION_N)(Seq MODIFIER seq)\
- : BOOST_PP_ENUM(BOOST_FUSION_N,\
- BOOST_FUSION_MEMBER_INIT,\
- static_cast<Seq MODIFIER>(seq))\
- {\
- BOOST_FUSION_MPL_ASSERT((\
- mpl::equal_to<size,result_of::size<Seq> >));\
+# define BOOST_FUSION_MEMBER_INIT(Z, N, SEQ)\
+ BOOST_PP_CAT(m,N)(fusion::deref(\
+ fusion::advance_c<N>(fusion::begin(SEQ))))
+# endif
+
+ template<class Seq>
+ BOOST_PP_CAT(vector,BOOST_FUSION_N)(
+ BOOST_FUSION_R_ELSE_CLREF(Seq) seq
+# if BOOST_FUSION_N==1
+ , typename disable_if<
+ detail::is_explicitly_convertible<
+ BOOST_FUSION_R_ELSE_CLREF(Seq)
+ , T0
+ >
+ >::type* =0
+# endif
+ )
+ : BOOST_PP_ENUM(BOOST_FUSION_N,
+ BOOST_FUSION_MEMBER_INIT,
+ BOOST_FUSION_FORWARD(Seq,seq))
+ {
+ BOOST_FUSION_MPL_ASSERT((
+ mpl::equal_to<
+ size
+ , result_of::size<BOOST_FUSION_R_ELSE_CLREF(Seq)>
+ >));
}
- #endif
-# define BOOST_FUSION_VECTOR_ASSIGN_CTOR(MODIFIER,_)\
+# define BOOST_FUSION_VECTOR_SEQ_ASSIGN_CTOR(MODIFIER,_)\
template<typename SeqRef>\
BOOST_PP_CAT(vector,BOOST_FUSION_N)(\
detail::sequence_assign_type<SeqRef> MODIFIER seq_assign)\
@@ -203,14 +218,12 @@
seq_assign.get())\
{\
BOOST_FUSION_MPL_ASSERT((\
- mpl::equal_to<size,result_of::size<SeqRef> >));\
- }\
- \
- BOOST_FUSION_VECTOR_SEQ_ASSIGN_CTOR(MODIFIER)
+ mpl::equal_to<size,result_of::size<SeqRef> >));\
+ }
- BOOST_FUSION_ALL_CTOR_COMBINATIONS(BOOST_FUSION_VECTOR_ASSIGN_CTOR,_);
+ BOOST_FUSION_ALL_CTOR_COMBINATIONS(
+ BOOST_FUSION_VECTOR_SEQ_ASSIGN_CTOR,_);
-# undef BOOST_FUSION_VECTOR_ASSIGN_CTOR
# undef BOOST_FUSION_VECTOR_SEQ_ASSIGN_CTOR
# undef BOOST_FUSION_MEMBER_INIT
# else
@@ -220,23 +233,21 @@
detail::sequence_assign_type<SeqRef> MODIFIER seq_assign)\
{\
BOOST_FUSION_MPL_ASSERT((result_of::empty<SeqRef>));\
- }\
- \
- template<typename Seq>\
- BOOST_PP_CAT(vector,BOOST_FUSION_N)(Seq MODIFIER seq)\
- {\
- BOOST_FUSION_MPL_ASSERT((result_of::empty<Seq>));\
}
BOOST_FUSION_ALL_CTOR_COMBINATIONS(BOOST_FUSION_VECTOR_ASSIGN_CTOR,_);
+ template<typename Seq>
+ BOOST_PP_CAT(vector,BOOST_FUSION_N)(Seq const& seq)
+ {
+ BOOST_FUSION_MPL_ASSERT((result_of::empty<Seq const&>));
+ }
+
# undef BOOST_FUSION_VECTOR_ASSIGN_CTOR
# endif
- template <typename Seq>
- BOOST_PP_CAT(vector, BOOST_FUSION_N)<
- EXPAND_TEMPLATE_ARGUMENTS(BOOST_FUSION_N)
- >&
+ template<typename Seq>
+ BOOST_PP_CAT(vector, BOOST_FUSION_N)&
operator=(BOOST_FUSION_R_ELSE_CLREF(Seq) seq)
{
BOOST_FUSION_MPL_ASSERT((
@@ -271,26 +282,14 @@
return *this;
}
- BOOST_PP_CAT(vector, BOOST_FUSION_N)<
- EXPAND_TEMPLATE_ARGUMENTS(BOOST_FUSION_N)
- >&
- operator=(
- BOOST_PP_CAT(vector, BOOST_FUSION_N)<
- EXPAND_TEMPLATE_ARGUMENTS(BOOST_FUSION_N)
- >const& seq)
+ BOOST_PP_CAT(vector, BOOST_FUSION_N)&
+ operator=(BOOST_PP_CAT(vector, BOOST_FUSION_N)const& seq)
{
#ifdef BOOST_NO_RVALUE_REFERENCES
- return this->operator=<
- BOOST_PP_CAT(vector, BOOST_FUSION_N)<
- EXPAND_TEMPLATE_ARGUMENTS(BOOST_FUSION_N)
- >
- >(seq);
+ return this->operator=<BOOST_PP_CAT(vector, BOOST_FUSION_N)>(seq);
#else
- return this->operator=<
- BOOST_PP_CAT(vector, BOOST_FUSION_N)<
- EXPAND_TEMPLATE_ARGUMENTS(BOOST_FUSION_N)
- > const&
- >(seq);
+ return this->operator=<BOOST_PP_CAT(vector, BOOST_FUSION_N) const&>(
+ seq);
#endif
}
@@ -307,7 +306,9 @@
typename detail::add_lref<BOOST_PP_CAT(T,N)>::type\
at_impl(mpl::int_<N>)\
{\
- return BOOST_PP_CAT(m,N);\
+ return static_cast<\
+ typename detail::add_lref<BOOST_PP_CAT(T,N)>::type\
+ >(BOOST_PP_CAT(m,N));\
}\
\
typename detail::add_lref<\
@@ -315,7 +316,11 @@
>::type\
at_impl(mpl::int_<N>) const\
{\
- return BOOST_PP_CAT(m,N);\
+ return static_cast<\
+ typename detail::add_lref<\
+ typename add_const<BOOST_PP_CAT(T,N)>::type\
+ >::type\
+ >(BOOST_PP_CAT(m,N));\
}\
\
BOOST_PP_CAT(T,N) BOOST_PP_CAT(m,N);
Modified: sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/value_at_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/value_at_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/value_at_impl.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -15,13 +15,13 @@
namespace boost { namespace fusion { namespace extension
{
- template <typename>
+ template<typename>
struct value_at_impl;
- template <>
+ template<>
struct value_at_impl<vector_tag>
{
- template <typename Seq, typename N>
+ template<typename Seq, typename N>
struct apply
#ifdef BOOST_FUSION_TAGGED_VECTOR
{
Modified: sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/value_of_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/value_of_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/value_of_impl.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -15,13 +15,13 @@
namespace boost { namespace fusion { namespace extension
{
- template <typename>
+ template<typename>
struct value_of_impl;
- template <>
+ template<>
struct value_of_impl<vector_iterator_tag>
{
- template <typename It>
+ template<typename It>
struct apply
{
typedef typename detail::remove_reference<It>::type it;
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 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -28,13 +28,13 @@
# if !BOOST_FUSION_N
struct void_;
- template <typename T0=void_>
+ template<typename T0=void_>
struct vector0;
template<>
struct vector0<void_>
# else
- template <BOOST_PP_ENUM_PARAMS(BOOST_FUSION_N, typename T)>
+ template<BOOST_PP_ENUM_PARAMS(BOOST_FUSION_N, typename T)>
struct BOOST_PP_CAT(vector, BOOST_FUSION_N)
# endif
: vector<BOOST_PP_ENUM_PARAMS(BOOST_FUSION_N, T)>
@@ -70,7 +70,7 @@
# define BOOST_FUSION_FORWARD_ARGUMENT(Z, N, __)\
std::forward<BOOST_PP_CAT(A,N)>(BOOST_PP_CAT(_,N))
- template <BOOST_PP_ENUM_PARAMS(BOOST_FUSION_N, typename A)>
+ template<BOOST_PP_ENUM_PARAMS(BOOST_FUSION_N, typename A)>
BOOST_PP_CAT(vector, BOOST_FUSION_N)(
BOOST_PP_ENUM_BINARY_PARAMS(BOOST_FUSION_N, A,&& _))
: base_type(
Modified: sandbox/SOC/2009/fusion/boost/fusion/functional/adapter/detail/fused_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/functional/adapter/detail/fused_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/functional/adapter/detail/fused_impl.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -9,6 +9,7 @@
#include <boost/fusion/support/internal/ref.hpp>
#include <boost/fusion/support/internal/result_of.hpp>
#include <boost/fusion/support/internal/assert.hpp>
+#include <boost/fusion/support/internal/template.hpp>
#include <boost/preprocessor/empty.hpp>
#include <boost/preprocessor/cat.hpp>
#include <boost/type_traits/add_const.hpp>
@@ -18,6 +19,14 @@
namespace boost { namespace fusion
{
+#ifdef BOOST_MSVC
+# pragma warning(push)
+ //'class' : multiple copy constructors specified
+# pragma warning(disable:4521)
+ //'class' : multiple assignment operators specified
+# pragma warning(disable:4522)
+#endif
+
template<typename F>
struct BOOST_PP_CAT(fused,BOOST_FUSION_ADAPTER_POSTFIX)
{
@@ -27,7 +36,7 @@
template<class Self, class Seq>
struct result<Self(Seq)>
: result_of::BOOST_PP_CAT(invoke,BOOST_FUSION_ADAPTER_POSTFIX)<
- typename detail::forward_as<Self,F>::type
+ typename detail::forward_as_lref<Self,F>::type
, Seq
>
{};
@@ -121,5 +130,9 @@
F f;
};
+
+#ifdef BOOST_MSVC
+# pragma warning(pop)
+#endif
}}
Modified: sandbox/SOC/2009/fusion/boost/fusion/functional/adapter/detail/pp/unfused_invocation_n.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/functional/adapter/detail/pp/unfused_invocation_n.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/functional/adapter/detail/pp/unfused_invocation_n.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -16,7 +16,7 @@
struct result<Self(EXPAND_TEMPLATE_ARGUMENTS(BOOST_FUSION_N))>
: boost::result_of<
typename detail::get_func_base<
- typename detail::forward_as<Self,F>::type
+ typename detail::forward_as_lref<Self,F>::type
>::type(BOOST_FUSION_R_ELSE_LREF(
BOOST_PP_IF(BOOST_FUSION_N, typename, BOOST_PP_EMPTY())
result_of::vector_tie<
Modified: sandbox/SOC/2009/fusion/boost/fusion/functional/adapter/detail/pp/unfused_typed_impl_n.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/functional/adapter/detail/pp/unfused_typed_impl_n.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/functional/adapter/detail/pp/unfused_typed_impl_n.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -27,7 +27,7 @@
struct result<Self(EXPAND_TEMPLATE_ARGUMENTS(BOOST_FUSION_N))>
: boost::result_of<
typename detail::get_func_base<
- typename detail::forward_as<Self,F>::type
+ typename detail::forward_as_lref<Self,F>::type
>::type(transformed_args_arg)
>
{};
@@ -51,11 +51,13 @@
}
#else
# define BOOST_FUSION_CALL_OPERATOR(F_,MODIFIER)\
- BOOST_FUSION_VARIADIC_TEMPLATES_A(BOOST_FUSION_N)\
+ VARIADIC_TEMPLATE_A(BOOST_FUSION_N)\
typename boost::result_of<\
typename detail::get_func_base<F_>::type(transformed_args_arg)\
>::type\
- operator()(EXPAND_TEMPLATE_ARGUMENTS_A_R_ELSE_LREF(BOOST_FUSION_N))\
+ operator()(\
+ EXPAND_TEMPLATE_ARGUMENTS_PARAMETERS_A_R_ELSE_LREF(\
+ BOOST_FUSION_N))\
MODIFIER\
{\
return static_cast<unfused_typed<F,TransformSeq> MODIFIER&>(*this).\
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 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -23,6 +23,14 @@
namespace boost { namespace fusion
{
+#ifdef BOOST_MSVC
+# pragma warning(push)
+ //'class' : multiple copy constructors specified
+# pragma warning(disable:4521)
+ //'class' : multiple assignment operators specified
+# pragma warning(disable:4522)
+#endif
+
template<
typename F
//TODO remove?
@@ -38,7 +46,7 @@
struct result<Self(Args...)>
: boost::result_of<
typename detail::get_func_base<
- typename detail::forward_as<Self,F>::type
+ typename detail::forward_as_lref<Self,F>::type
>::type(BOOST_FUSION_R_ELSE_LREF(
typename result_of::vector_tie<Args...>::type))
>
@@ -122,6 +130,10 @@
F f;
};
+
+#ifdef BOOST_MSVC
+# pragma warning(pop)
+#endif
}}
#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 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -49,6 +49,14 @@
}
#endif
+#ifdef BOOST_MSVC
+# pragma warning(push)
+ //'class' : multiple copy constructors specified
+# pragma warning(disable:4521)
+ //'class' : multiple assignment operators specified
+# pragma warning(disable:4522)
+#endif
+
template<typename F, typename TransformSeq>
struct unfused_typed
#if defined(BOOST_NO_VARIADIC_TEMPLATES) || defined(BOOST_NO_RVALUE_REFERENCES)
@@ -71,7 +79,7 @@
struct result<Self(Args...)>
: boost::result_of<
typename detail::get_func_base<
- typename detail::forward_as<Self,F>::type
+ typename detail::forward_as_lref<Self,F>::type
>::type(transformed_args&&)
>
{};
@@ -148,6 +156,10 @@
F f;
};
+
+#ifdef BOOST_MSVC
+# pragma warning(pop)
+#endif
}}
#undef BOOST_FUSION_ADAPTER_NAME
Modified: sandbox/SOC/2009/fusion/boost/fusion/functional/generation/detail/gen_make_adapter.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/functional/generation/detail/gen_make_adapter.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/functional/generation/detail/gen_make_adapter.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -17,7 +17,7 @@
{
namespace result_of
{
- template <typename F>
+ template<typename F>
struct BOOST_FUSION_FUNC_NAME
{
typedef
Modified: sandbox/SOC/2009/fusion/boost/fusion/functional/invocation/detail/invoke.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/functional/invocation/detail/invoke.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/functional/invocation/detail/invoke.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -35,22 +35,28 @@
};
}
-#ifdef BOOST_NO_RVALUE_REFERENCES
- template <typename F, typename Seq>
+#if defined(BOOST_NO_RVALUE_REFERENCES) ||\
+ defined(BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS)
+ template<typename F, typename Seq>
inline typename result_of::BOOST_FUSION_INVOKE_NAME<F, Seq const&>::type
- BOOST_FUSION_INVOKE_NAME(F f, Seq const& seq)
+ BOOST_FUSION_INVOKE_NAME(F f, BOOST_FUSION_R_ELSE_CLREF(Seq) seq)
{
- return result_of::BOOST_FUSION_INVOKE_NAME<F, Seq const&>::call(f,seq);
+ return result_of::BOOST_FUSION_INVOKE_NAME<
+ F
+ , BOOST_FUSION_R_ELSE_CLREF(Seq)
+ >::call(f,BOOST_FUSION_FORWARD(Seq,seq));
}
- template <typename F, typename Seq>
+# ifdef BOOST_NO_RVALUE_REFERENCES
+ template<typename F, typename Seq>
inline typename result_of::BOOST_FUSION_INVOKE_NAME<F,Seq&>::type
BOOST_FUSION_INVOKE_NAME(F f,Seq& seq)
{
return result_of::BOOST_FUSION_INVOKE_NAME<F,Seq&>::call(f,seq);
}
+# endif
#else
- template <typename FQualified=void,typename F=void, typename Seq=void>
+ template<typename FQualified=void,typename F=void, typename Seq=void>
inline typename result_of::BOOST_FUSION_INVOKE_NAME<
typename mpl::if_<
is_same<FQualified, void>
Modified: sandbox/SOC/2009/fusion/boost/fusion/functional/invocation/detail/pp/invoke_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/functional/invocation/detail/pp/invoke_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/functional/invocation/detail/pp/invoke_impl.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -171,7 +171,7 @@
, SeqRef
, type
>
- >::type::call(f_, seq);
+ >::type::call(f_, static_cast<SeqRef>(seq));
}
};
}}}
Modified: sandbox/SOC/2009/fusion/boost/fusion/functional/invocation/detail/pp/invoke_impl_n.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/functional/invocation/detail/pp/invoke_impl_n.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/functional/invocation/detail/pp/invoke_impl_n.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -68,8 +68,9 @@
return
# endif
(that_ptr<typename preevaluate<F>::gen::class_type>::get(
- fusion::front(seq))->*f)(BOOST_PP_ENUM_SHIFTED_1(
- BOOST_FUSION_N,BOOST_FUSION_SEQ_AT_N,_));
+ fusion::front(static_cast<SeqRef>(seq)))->*f)(
+ BOOST_PP_ENUM_SHIFTED_1(
+ BOOST_FUSION_N,BOOST_FUSION_SEQ_AT_N,_));
}
};
@@ -93,7 +94,7 @@
Instance
, typename remove_reference<F>::type
>::cv_class_type&
- >::get(fusion::front(seq))->*f);
+ >::get(fusion::front(static_cast<SeqRef>(seq)))->*f);
}
};
# endif
@@ -151,7 +152,7 @@
# define BOOST_FUSION_DEFINE_ITS()\
typedef typename result_of::begin<SeqRef>::type It0;\
- It0 it0=fusion::begin(seq);\
+ It0 it0=fusion::begin(static_cast<SeqRef>(seq));\
\
BOOST_PP_REPEAT_FROM_TO(1, BOOST_FUSION_N, BOOST_FUSION_IT_N, _)
@@ -222,11 +223,11 @@
typedef typename result_of::front<SeqRef>::type Instance;
return (that_ptr<
- typename get_object_pointer_result_type<
- Instance
- , typename remove_reference<F>::type
- >::cv_class_type&
- >::get(fusion::front(seq))->*f);
+ typename get_object_pointer_result_type<
+ Instance
+ , typename remove_reference<F>::type
+ >::cv_class_type&
+ >::get(fusion::front(static_cast<SeqRef>(seq)))->*f);
}
};
# endif
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 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -13,10 +13,13 @@
#include <boost/fusion/support/internal/small_big_type.hpp>
#include <boost/fusion/support/internal/ref.hpp>
+#include <boost/mpl/or.hpp>
#include <boost/mpl/bool.hpp>
+#include <boost/type_traits/is_convertible.hpp>
#include <boost/type_traits/config.hpp>
#include <boost/type_traits/add_volatile.hpp>
#include <boost/get_pointer.hpp>
+#include <boost/utility/enable_if.hpp>
#include <boost/utility/addressof.hpp>
namespace boost { namespace fusion { namespace detail
@@ -54,9 +57,16 @@
return ptr;
}
- template <typename T>
+ template<typename T>
static inline wanted
- get(BOOST_FUSION_R_ELSE_LREF(T) t)
+ get(BOOST_FUSION_R_ELSE_LREF(T) t,
+ //TODO
+ typename disable_if<
+ mpl::or_<
+ is_convertible<BOOST_FUSION_R_ELSE_LREF(T),wanted>
+ , is_convertible<BOOST_FUSION_R_ELSE_LREF(T),WantedRef>
+ >
+ >::type* =NULL)
{
return do_get_pointer(
BOOST_FUSION_FORWARD(T,t),
@@ -75,7 +85,7 @@
template<typename T>
big_type const_tester(T const*);
- template <typename Ptr>
+ template<typename Ptr>
struct const_pointee_impl
{
static Ptr* what;
@@ -94,7 +104,7 @@
template<typename T>
big_type volatile_tester(T volatile*);
- template <typename Ptr>
+ template<typename Ptr>
struct volatile_pointee_impl
{
static Ptr* what;
@@ -108,14 +118,14 @@
};
}
- template <typename PtrOrSmartPtr>
+ template<typename PtrOrSmartPtr>
struct const_pointee
: adl_barrier::const_pointee_impl<
typename identity<PtrOrSmartPtr>::type
>::type
{};
- template <typename PtrOrSmartPtr>
+ template<typename PtrOrSmartPtr>
struct volatile_pointee
: adl_barrier::volatile_pointee_impl<
typename identity<PtrOrSmartPtr>::type
Modified: sandbox/SOC/2009/fusion/boost/fusion/iterator/advance.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/iterator/advance.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/iterator/advance.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -1,5 +1,6 @@
/*=============================================================================
Copyright (c) 2001-2006 Joel de Guzman
+ Copyright (c) 2009-2010 Christopher Schmidt
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)
@@ -15,14 +16,13 @@
namespace boost { namespace fusion
{
struct random_access_traversal_tag;
- struct iterator_facade_tag;
namespace extension
{
- template <typename>
+ template<typename>
struct advance_impl
{
- template <typename It, typename N>
+ template<typename It, typename N>
struct apply
: mpl::if_c<
(N::value > 0)
@@ -31,20 +31,11 @@
>::type
{};
};
-
- template <>
- struct advance_impl<iterator_facade_tag>
- {
- template <typename It, typename N>
- struct apply
- : detail::remove_reference<It>::type::template advance<It, N>
- {};
- };
}
namespace result_of
{
- template <typename It, int N>
+ template<typename It, int N>
struct advance_c
: extension::advance_impl<typename traits::tag_of<It>::type>::
template apply<It, mpl::int_<N> >
@@ -56,7 +47,7 @@
};
- template <typename It, typename N>
+ template<typename It, typename N>
struct advance
: extension::advance_impl<typename traits::tag_of<It>::type>::
template apply<It, N>
@@ -68,7 +59,7 @@
};
}
- template <int N, typename It>
+ template<int N, typename It>
inline typename result_of::advance_c<It const&, N>::type const
advance_c(It const& it)
{
Modified: sandbox/SOC/2009/fusion/boost/fusion/iterator/basic_iterator.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/iterator/basic_iterator.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/iterator/basic_iterator.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -1,5 +1,5 @@
/*=============================================================================
- Copyright (c) 2009 Christopher Schmidt
+ Copyright (c) 2009-2010 Christopher Schmidt
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)
@@ -10,7 +10,7 @@
#include <boost/fusion/iterator/iterator_facade.hpp>
#include <boost/fusion/support/internal/ref.hpp>
-
+#include <boost/fusion/support/internal/assert.hpp>
#include <boost/mpl/and.hpp>
#include <boost/mpl/equal_to.hpp>
#include <boost/mpl/minus.hpp>
@@ -21,19 +21,19 @@
{
namespace extension
{
- template <typename>
+ template<typename>
struct value_of_impl;
- template <typename>
+ template<typename>
struct deref_impl;
- template <typename>
+ template<typename>
struct value_of_data_impl;
- template <typename>
+ template<typename>
struct key_of_impl;
- template <typename>
+ template<typename>
struct deref_data_impl;
}
@@ -47,32 +47,32 @@
typedef SeqRef seq_type;
typedef typename detail::remove_reference<SeqRef>::type* seq_ptr_type;
- template <typename It>
+ template<typename It>
struct value_of
: extension::value_of_impl<Tag>::template apply<It>
{};
- template <typename It>
+ template<typename It>
struct deref
: extension::deref_impl<Tag>::template apply<It>
{};
- template <typename It>
+ template<typename It>
struct value_of_data
: extension::value_of_data_impl<Tag>::template apply<It>
{};
- template <typename It>
+ template<typename It>
struct key_of
: extension::key_of_impl<Tag>::template apply<It>
{};
- template <typename It>
+ template<typename It>
struct deref_data
: extension::deref_data_impl<Tag>::template apply<It>
{};
- template <typename It, typename N>
+ template<typename It, typename N>
struct advance
{
typedef
@@ -86,17 +86,17 @@
}
};
- template <typename It>
+ template<typename It>
struct next
: advance<It, mpl::int_<1> >
{};
- template <typename It>
+ template<typename It>
struct prior
: advance<It, mpl::int_<-1> >
{};
- template <typename It1, typename It2>
+ template<typename It1, typename It2>
struct distance
: mpl::minus<
typename detail::remove_reference<It2>::type::index
@@ -104,7 +104,7 @@
>
{};
- template <typename It1, typename It2>
+ template<typename It1, typename It2>
struct equal_to
{
typedef typename detail::remove_reference<It2>::type it2;
Modified: sandbox/SOC/2009/fusion/boost/fusion/iterator/deref.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/iterator/deref.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/iterator/deref.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -1,5 +1,6 @@
/*=============================================================================
Copyright (c) 2001-2006 Joel de Guzman
+ Copyright (c) 2009-2010 Christopher Schmidt
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)
@@ -15,26 +16,15 @@
namespace boost { namespace fusion
{
- struct iterator_facade_tag;
-
namespace extension
{
- template <typename>
+ template<typename>
struct deref_impl;
-
- template <>
- struct deref_impl<iterator_facade_tag>
- {
- template <typename It>
- struct apply
- : detail::remove_reference<It>::type::template deref<It>
- {};
- };
}
namespace result_of
{
- template <typename It>
+ template<typename It>
struct deref
: extension::deref_impl<typename traits::tag_of<It>::type>::
template apply<It>
@@ -43,14 +33,14 @@
};
}
- template <typename It>
+ template<typename It>
typename result_of::deref<It const&>::type
deref(It const& it)
{
return result_of::deref<It const&>::call(it);
}
- template <typename It>
+ template<typename It>
typename result_of::deref<It const&>::type
operator*(iterator_base<It> const& it)
{
Modified: sandbox/SOC/2009/fusion/boost/fusion/iterator/deref_data.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/iterator/deref_data.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/iterator/deref_data.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -1,5 +1,5 @@
/*=============================================================================
- Copyright (c) 2009 Christopher Schmidt
+ Copyright (c) 2009-2010 Christopher Schmidt
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)
@@ -14,26 +14,15 @@
namespace boost { namespace fusion
{
- struct iterator_facade_tag;
-
namespace extension
{
- template <typename>
+ template<typename>
struct deref_data_impl;
-
- template <>
- struct deref_data_impl<iterator_facade_tag>
- {
- template <typename It>
- struct apply
- : detail::remove_reference<It>::type::template deref_data<It>
- {};
- };
}
namespace result_of
{
- template <typename It>
+ template<typename It>
struct deref_data
: extension::deref_data_impl<typename traits::tag_of<It>::type>::
template apply<It>
@@ -43,7 +32,7 @@
};
}
- template <typename It>
+ template<typename It>
typename result_of::deref_data<It const&>::type
deref_data(It const& it)
{
Modified: sandbox/SOC/2009/fusion/boost/fusion/iterator/detail/advance.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/iterator/detail/advance.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/iterator/detail/advance.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -20,10 +20,10 @@
// Default advance implementation, perform next(it)
// or prior(it) N times.
- template <typename It, int N>
+ template<typename It, int N>
struct forward;
- template <typename It, int N>
+ template<typename It, int N>
struct next_forward
: forward<
typename result_of::next<It>::type
@@ -31,7 +31,7 @@
>
{};
- template <typename It, int N>
+ template<typename It, int N>
struct forward
{
typedef typename
@@ -48,7 +48,7 @@
return it;
}
- template <typename OtherIt>
+ template<typename OtherIt>
static type
call(OtherIt const& it)
{
@@ -56,10 +56,10 @@
}
};
- template <typename It, int N>
+ template<typename It, int N>
struct backward;
- template <typename It, int N>
+ template<typename It, int N>
struct next_backward
: backward<
typename result_of::prior<It>::type
@@ -67,7 +67,7 @@
>
{};
- template <typename It, int N>
+ template<typename It, int N>
struct backward
{
typedef typename
@@ -84,7 +84,7 @@
return it;
}
- template <typename OtherIt>
+ template<typename OtherIt>
static type
call(OtherIt const& it)
{
Modified: sandbox/SOC/2009/fusion/boost/fusion/iterator/detail/distance.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/iterator/detail/distance.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/iterator/detail/distance.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -22,10 +22,10 @@
// Default distance implementation, linear
// search for the End iterator.
- template <typename Begin, typename End>
+ template<typename Begin, typename End>
struct linear_distance;
- template <typename Begin, typename End>
+ template<typename Begin, typename End>
struct next_distance
: mpl::next<
typename linear_distance<
@@ -35,7 +35,7 @@
>
{};
- template <typename Begin, typename End>
+ template<typename Begin, typename End>
struct linear_distance
: mpl::eval_if<
result_of::equal_to<Begin, End>
Modified: sandbox/SOC/2009/fusion/boost/fusion/iterator/distance.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/iterator/distance.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/iterator/distance.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -1,5 +1,6 @@
/*=============================================================================
Copyright (c) 2001-2006 Joel de Guzman
+ Copyright (c) 2009-2010 Christopher Schmidt
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)
@@ -15,33 +16,22 @@
namespace boost { namespace fusion
{
struct random_access_traversal_tag;
- struct iterator_facade_tag;
namespace extension
{
- template <typename>
+ template<typename>
struct distance_impl
{
- template <typename BeginRef, typename EndRef>
+ template<typename BeginRef, typename EndRef>
struct apply
: distance_detail::linear_distance<BeginRef, EndRef>
{};
};
-
- template <>
- struct distance_impl<iterator_facade_tag>
- {
- template <typename BeginRef, typename EndRef>
- struct apply
- : detail::remove_reference<BeginRef>::type::
- template distance<BeginRef, EndRef>
- {};
- };
}
namespace result_of
{
- template <typename Begin, typename End>
+ template<typename Begin, typename End>
struct distance
: extension::distance_impl<typename traits::tag_of<Begin>::type>::
template apply<Begin, End>::type
@@ -51,7 +41,7 @@
};
}
- template <typename Begin, typename End>
+ template<typename Begin, typename End>
inline typename result_of::distance<Begin const&, End const&>::type
distance(Begin const& a, End const& b)
{
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 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -1,6 +1,6 @@
/*=============================================================================
Copyright (c) 2001-2006 Joel de Guzman
- Copyright (c) 2009 Christopher Schmidt
+ Copyright (c) 2009-2010 Christopher Schmidt
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)
@@ -18,26 +18,15 @@
namespace boost { namespace fusion
{
- struct iterator_facade_tag;
-
namespace extension
{
- template <typename>
+ template<typename>
struct equal_to_impl;
-
- template <>
- struct equal_to_impl<iterator_facade_tag>
- {
- template <typename It1, typename It2>
- struct apply
- : detail::remove_reference<It1>::type::template equal_to<It1, It2>
- {};
- };
}
namespace result_of
{
- template <typename It1, typename It2>
+ template<typename It1, typename It2>
struct equal_to
: extension::equal_to_impl<typename traits::tag_of<It1>::type>::
template apply<It1, It2>::type
@@ -49,7 +38,7 @@
namespace iterator_operators
{
- template <typename It1, typename It2>
+ template<typename It1, typename It2>
inline BOOST_FUSION_CONSTEXPR
typename enable_if<
mpl::and_<traits::is_iterator<It1>, traits::is_iterator<It2> >
@@ -60,7 +49,7 @@
return result_of::equal_to<It1 const&, It1 const&>::value;
}
- template <typename It1, typename It2>
+ template<typename It1, typename It2>
inline BOOST_FUSION_CONSTEXPR
typename enable_if<
mpl::and_<
Modified: sandbox/SOC/2009/fusion/boost/fusion/iterator/iterator_facade.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/iterator/iterator_facade.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/iterator/iterator_facade.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -1,5 +1,5 @@
/*=============================================================================
- Copyright (c) 2009 Christopher Schmidt
+ Copyright (c) 2009-2010 Christopher Schmidt
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)
@@ -9,23 +9,26 @@
#define BOOST_FUSION_ITERATOR_ITERATOR_FACADE_HPP
#include <boost/fusion/support/iterator_base.hpp>
-#include <boost/fusion/support/internal/assert.hpp>
+#include <boost/fusion/support/internal/facade_generation.hpp>
-#include <boost/mpl/always.hpp>
-#include <boost/mpl/apply.hpp>
+#define BOOST_FUSION_ITERATOR_INTRINSIC_FUNCS \
+ ((advance, 1, 1)) \
+ ((deref_data, 0, 0)) \
+ ((deref, 0, 0)) \
+ ((distance, 1, 0)) \
+ ((equal_to, 1, 0)) \
+ ((key_of, 0, 0)) \
+ ((next, 0, 0)) \
+ ((prior, 0, 0)) \
+ ((value_of_data, 0, 0)) \
+ ((value_of, 0, 0))
+
+BOOST_FUSION_FACADE_DEFINE_INTRINSIC_FUNCS_WRAPPER(
+ iterator_facade_tag, BOOST_FUSION_ITERATOR_INTRINSIC_FUNCS)
namespace boost { namespace fusion
{
- struct void_;
- struct iterator_facade_tag;
-
- namespace extension
- {
- template<typename>
- struct advance_impl;
- }
-
- template <typename Derived, typename Category>
+ template<typename Derived, typename Category>
struct iterator_facade
: iterator_base<Derived>
{
@@ -35,13 +38,11 @@
//TODO doc
- template <typename It, typename N>
- struct advance
- : extension::advance_impl<
- typename mpl::apply1<mpl::always<void_>,It>::type
- >::template apply<It,N>
- {};
+ BOOST_FUSION_FACADE_DEFINE_INTRINSIC_FUNCS_FORWARDER(
+ BOOST_FUSION_ITERATOR_INTRINSIC_FUNCS)
};
}}
+#undef BOOST_FUSION_ITERATOR_INTRINSIC_FUNCS
+
#endif
Modified: sandbox/SOC/2009/fusion/boost/fusion/iterator/key_of.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/iterator/key_of.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/iterator/key_of.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -1,5 +1,5 @@
/*=============================================================================
- Copyright (c) 2009 Christopher Schmidt
+ Copyright (c) 2009-2010 Christopher Schmidt
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)
@@ -13,27 +13,15 @@
namespace boost { namespace fusion
{
- struct iterator_facade_tag;
-
namespace extension
{
- template <typename>
+ template<typename>
struct key_of_impl;
-
- template <>
- struct key_of_impl<iterator_facade_tag>
- {
- template <typename It>
- struct apply
- : detail::remove_reference<It>::type::
- template key_of<It>
- {};
- };
}
namespace result_of
{
- template <typename It>
+ template<typename It>
struct key_of
: extension::key_of_impl<typename traits::tag_of<It>::type>::
template apply<It>
Modified: sandbox/SOC/2009/fusion/boost/fusion/iterator/next.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/iterator/next.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/iterator/next.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -1,5 +1,6 @@
/*=============================================================================
Copyright (c) 2001-2006 Joel de Guzman
+ Copyright (c) 2009-2010 Christopher Schmidt
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)
@@ -13,26 +14,15 @@
namespace boost { namespace fusion
{
- struct iterator_facade_tag;
-
namespace extension
{
- template <typename>
+ template<typename>
struct next_impl;
-
- template <>
- struct next_impl<iterator_facade_tag>
- {
- template <typename It>
- struct apply
- : detail::remove_reference<It>::type::template next<It>
- {};
- };
}
namespace result_of
{
- template <typename It>
+ template<typename It>
struct next
: extension::next_impl<typename traits::tag_of<It>::type>::
template apply<It>
@@ -41,7 +31,7 @@
};
}
- template <typename It>
+ template<typename It>
typename result_of::next<It const&>::type const
next(It const& it)
{
Modified: sandbox/SOC/2009/fusion/boost/fusion/iterator/prior.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/iterator/prior.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/iterator/prior.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -1,5 +1,6 @@
/*=============================================================================
Copyright (c) 2001-2006 Joel de Guzman
+ Copyright (c) 2009-2010 Christopher Schmidt
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)
@@ -13,26 +14,15 @@
namespace boost { namespace fusion
{
- struct iterator_facade_tag;
-
namespace extension
{
- template <typename>
+ template<typename>
struct prior_impl;
-
- template <>
- struct prior_impl<iterator_facade_tag>
- {
- template <typename It>
- struct apply
- : detail::remove_reference<It>::type::template prior<It>
- {};
- };
}
namespace result_of
{
- template <typename It>
+ template<typename It>
struct prior
: extension::prior_impl<typename traits::tag_of<It>::type>::
template apply<It>
@@ -41,7 +31,7 @@
};
}
- template <typename It>
+ template<typename It>
typename result_of::prior<It const&>::type const
prior(It const& it)
{
Modified: sandbox/SOC/2009/fusion/boost/fusion/iterator/value_of.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/iterator/value_of.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/iterator/value_of.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -1,5 +1,6 @@
/*=============================================================================
Copyright (c) 2001-2006 Joel de Guzman
+ Copyright (c) 2009-2010 Christopher Schmidt
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)
@@ -13,26 +14,15 @@
namespace boost { namespace fusion
{
- struct iterator_facade_tag;
-
namespace extension
{
- template <typename>
+ template<typename>
struct value_of_impl;
-
- template <>
- struct value_of_impl<iterator_facade_tag>
- {
- template <typename It>
- struct apply
- : detail::remove_reference<It>::type::template value_of<It>
- {};
- };
}
namespace result_of
{
- template <typename It>
+ template<typename It>
struct value_of
: extension::value_of_impl<typename traits::tag_of<It>::type>::
template apply<It>
Modified: sandbox/SOC/2009/fusion/boost/fusion/iterator/value_of_data.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/iterator/value_of_data.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/iterator/value_of_data.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -1,5 +1,5 @@
/*=============================================================================
- Copyright (c) 2009 Christopher Schmidt
+ Copyright (c) 2009-2010 Christopher Schmidt
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)
@@ -13,27 +13,15 @@
namespace boost { namespace fusion
{
- struct iterator_facade_tag;
-
namespace extension
{
- template <typename>
+ template<typename>
struct value_of_data_impl;
-
- template <>
- struct value_of_data_impl<iterator_facade_tag>
- {
- template <typename It>
- struct apply
- : detail::remove_reference<It>::type::
- template value_of_data<It>
- {};
- };
}
namespace result_of
{
- template <typename It>
+ template<typename It>
struct value_of_data
: extension::value_of_data_impl<typename traits::tag_of<It>::type>::
template apply<It>
Modified: sandbox/SOC/2009/fusion/boost/fusion/mpl/at.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/mpl/at.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/mpl/at.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -19,13 +19,13 @@
namespace mpl
{
- template <typename>
+ template<typename>
struct at_impl;
- template <>
+ template<>
struct at_impl<fusion::fusion_sequence_tag>
{
- template <typename Seq, typename N>
+ template<typename Seq, typename N>
struct apply
: fusion::result_of::value_at<Seq, N>
{};
Modified: sandbox/SOC/2009/fusion/boost/fusion/mpl/back.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/mpl/back.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/mpl/back.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -14,13 +14,13 @@
namespace boost { namespace mpl
{
- template <typename>
+ template<typename>
struct back_impl;
- template <>
+ template<>
struct back_impl<fusion::fusion_sequence_tag>
{
- template <typename Seq>
+ template<typename Seq>
struct apply
: fusion::result_of::value_of<
typename fusion::result_of::prior<
Modified: sandbox/SOC/2009/fusion/boost/fusion/mpl/begin.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/mpl/begin.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/mpl/begin.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -14,13 +14,13 @@
namespace boost { namespace mpl
{
- template <typename>
+ template<typename>
struct begin_impl;
- template <>
+ template<>
struct begin_impl<fusion::fusion_sequence_tag>
{
- template <typename Seq>
+ template<typename Seq>
struct apply
{
typedef
Modified: sandbox/SOC/2009/fusion/boost/fusion/mpl/clear.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/mpl/clear.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/mpl/clear.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -14,13 +14,13 @@
namespace boost { namespace mpl
{
- template <typename>
+ template<typename>
struct clear_impl;
- template <>
+ template<>
struct clear_impl<fusion::fusion_sequence_tag>
{
- template <typename Seq>
+ template<typename Seq>
struct apply
: fusion::result_of::clear<Seq>
{};
Modified: sandbox/SOC/2009/fusion/boost/fusion/mpl/empty.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/mpl/empty.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/mpl/empty.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -12,13 +12,13 @@
namespace boost { namespace mpl
{
- template <typename>
+ template<typename>
struct empty_impl;
- template <>
+ template<>
struct empty_impl<fusion::fusion_sequence_tag>
{
- template <typename Seq>
+ template<typename Seq>
struct apply
: fusion::result_of::empty<Seq>
{};
Modified: sandbox/SOC/2009/fusion/boost/fusion/mpl/end.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/mpl/end.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/mpl/end.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -14,13 +14,13 @@
namespace boost { namespace mpl
{
- template <typename>
+ template<typename>
struct end_impl;
- template <>
+ template<>
struct end_impl<fusion::fusion_sequence_tag>
{
- template <typename Seq>
+ template<typename Seq>
struct apply
{
typedef
Modified: sandbox/SOC/2009/fusion/boost/fusion/mpl/erase.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/mpl/erase.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/mpl/erase.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -13,13 +13,13 @@
namespace boost { namespace mpl
{
- template <typename>
+ template<typename>
struct erase_impl;
- template <>
+ template<>
struct erase_impl<fusion::fusion_sequence_tag>
{
- template <typename Seq, typename Begin, typename End>
+ template<typename Seq, typename Begin, typename End>
struct apply
: fusion::result_of::erase<Seq, Begin, End>
{};
Modified: sandbox/SOC/2009/fusion/boost/fusion/mpl/erase_key.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/mpl/erase_key.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/mpl/erase_key.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -13,13 +13,13 @@
namespace boost { namespace mpl
{
- template <typename>
+ template<typename>
struct erase_key_impl;
- template <>
+ template<>
struct erase_key_impl<fusion::fusion_sequence_tag>
{
- template <typename Seq, typename Key>
+ template<typename Seq, typename Key>
struct apply
: fusion::result_of::erase_key<Seq, Key>
{};
Modified: sandbox/SOC/2009/fusion/boost/fusion/mpl/front.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/mpl/front.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/mpl/front.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -13,13 +13,13 @@
namespace boost { namespace mpl
{
- template <typename>
+ template<typename>
struct front_impl;
- template <>
+ template<>
struct front_impl<fusion::fusion_sequence_tag>
{
- template <typename Seq>
+ template<typename Seq>
struct apply
: fusion::result_of::value_of<
typename fusion::result_of::begin<Seq>::type
Modified: sandbox/SOC/2009/fusion/boost/fusion/mpl/fusion_iterator.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/mpl/fusion_iterator.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/mpl/fusion_iterator.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -21,7 +21,7 @@
namespace boost { namespace mpl
{
- template <typename It>
+ template<typename It>
struct fusion_iterator
: fusion::result_of::value_of<It>
{
@@ -29,7 +29,7 @@
typedef It iterator;
};
- template <typename It>
+ template<typename It>
struct next<fusion_iterator<It> >
{
typedef
@@ -37,7 +37,7 @@
type;
};
- template <typename It>
+ template<typename It>
struct prior<fusion_iterator<It> >
{
typedef
@@ -45,7 +45,7 @@
type;
};
- template <typename It, typename N>
+ template<typename It, typename N>
struct advance<fusion_iterator<It>, N>
{
typedef
@@ -55,7 +55,7 @@
type;
};
- template <typename Begin, typename End>
+ template<typename Begin, typename End>
struct distance<fusion_iterator<Begin>, fusion_iterator<End> >
: fusion::result_of::distance<Begin, End>
{};
Modified: sandbox/SOC/2009/fusion/boost/fusion/mpl/has_key.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/mpl/has_key.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/mpl/has_key.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -12,13 +12,13 @@
namespace boost { namespace mpl
{
- template <typename>
+ template<typename>
struct has_key_impl;
- template <>
+ template<>
struct has_key_impl<fusion::fusion_sequence_tag>
{
- template <typename Seq, typename Key>
+ template<typename Seq, typename Key>
struct apply
: fusion::result_of::has_key<Seq, Key>
{};
Modified: sandbox/SOC/2009/fusion/boost/fusion/mpl/insert.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/mpl/insert.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/mpl/insert.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -13,13 +13,13 @@
namespace boost { namespace mpl
{
- template <typename>
+ template<typename>
struct insert_impl;
- template <>
+ template<>
struct insert_impl<fusion::fusion_sequence_tag>
{
- template <typename Seq, typename Pos, typename T>
+ template<typename Seq, typename Pos, typename T>
struct apply
: fusion::result_of::insert<Seq, Pos, T>
{};
Modified: sandbox/SOC/2009/fusion/boost/fusion/mpl/insert_range.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/mpl/insert_range.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/mpl/insert_range.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -13,13 +13,13 @@
namespace boost { namespace mpl
{
- template <typename>
+ template<typename>
struct insert_range_impl;
- template <>
+ template<>
struct insert_range_impl<fusion::fusion_sequence_tag>
{
- template <typename Seq, typename Pos, typename Range>
+ template<typename Seq, typename Pos, typename Range>
struct apply
: fusion::result_of::insert_range<Seq, Pos, Range>
{};
Modified: sandbox/SOC/2009/fusion/boost/fusion/mpl/pop_back.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/mpl/pop_back.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/mpl/pop_back.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -13,13 +13,13 @@
namespace boost { namespace mpl
{
- template <typename>
+ template<typename>
struct pop_back_impl;
- template <>
+ template<>
struct pop_back_impl<fusion::fusion_sequence_tag>
{
- template <typename Seq>
+ template<typename Seq>
struct apply
: fusion::result_of::pop_back<Seq>
{};
Modified: sandbox/SOC/2009/fusion/boost/fusion/mpl/pop_front.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/mpl/pop_front.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/mpl/pop_front.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -13,13 +13,13 @@
namespace boost { namespace mpl
{
- template <typename>
+ template<typename>
struct pop_front_impl;
- template <>
+ template<>
struct pop_front_impl<fusion::fusion_sequence_tag>
{
- template <typename Seq>
+ template<typename Seq>
struct apply
: fusion::result_of::pop_front<Seq>
{};
Modified: sandbox/SOC/2009/fusion/boost/fusion/mpl/push_back.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/mpl/push_back.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/mpl/push_back.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -13,13 +13,13 @@
namespace boost { namespace mpl
{
- template <typename>
+ template<typename>
struct push_back_impl;
- template <>
+ template<>
struct push_back_impl<fusion::fusion_sequence_tag>
{
- template <typename Seq, typename T>
+ template<typename Seq, typename T>
struct apply
: fusion::result_of::push_back<Seq, T>
{};
Modified: sandbox/SOC/2009/fusion/boost/fusion/mpl/push_front.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/mpl/push_front.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/mpl/push_front.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -13,13 +13,13 @@
namespace boost { namespace mpl
{
- template <typename>
+ template<typename>
struct push_front_impl;
- template <>
+ template<>
struct push_front_impl<fusion::fusion_sequence_tag>
{
- template <typename Seq, typename T>
+ template<typename Seq, typename T>
struct apply
: fusion::result_of::push_front<Seq, T>
{};
Modified: sandbox/SOC/2009/fusion/boost/fusion/mpl/size.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/mpl/size.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/mpl/size.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -12,13 +12,13 @@
namespace boost { namespace mpl
{
- template <typename>
+ template<typename>
struct size_impl;
- template <>
+ template<>
struct size_impl<fusion::fusion_sequence_tag>
{
- template <typename Seq>
+ template<typename Seq>
struct apply
: fusion::result_of::size<Seq>
{};
Modified: sandbox/SOC/2009/fusion/boost/fusion/sequence/comparison/detail/enable_comparison.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/sequence/comparison/detail/enable_comparison.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/sequence/comparison/detail/enable_comparison.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -18,7 +18,7 @@
namespace boost { namespace fusion { namespace detail
{
- template <typename Seq1Ref, typename Seq2Ref>
+ template<typename Seq1Ref, typename Seq2Ref>
struct enable_equality
: mpl::or_<
traits::is_sequence<Seq1Ref>
@@ -26,7 +26,7 @@
>
{};
- template <typename Seq1Ref, typename Seq2Ref>
+ template<typename Seq1Ref, typename Seq2Ref>
struct enable_comparison
: mpl::and_<
mpl::or_<
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 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -18,13 +18,13 @@
namespace boost { namespace fusion { namespace detail
{
- template <typename Seq1Ref, typename Seq2Ref, bool same_size>
+ template<typename Seq1Ref, typename Seq2Ref, bool same_size>
struct sequence_equal_to
{
typedef typename result_of::end<Seq1Ref>::type end1_type;
typedef typename result_of::end<Seq2Ref>::type end2_type;
- template <typename It1, typename It2>
+ template<typename It1, typename It2>
static BOOST_FUSION_CONSTEXPR
bool
call(It1 const&, It2 const&, mpl::true_)
@@ -32,7 +32,7 @@
return true;
}
- template <typename It1, typename It2>
+ template<typename It1, typename It2>
static bool
call(It1 const& it1, It2 const& it2, mpl::false_)
{
@@ -40,7 +40,7 @@
call(fusion::next(it1), fusion::next(it2));
}
- template <typename It1, typename It2>
+ template<typename It1, typename It2>
static bool
call(It1 const& it1, It2 const& it2)
{
@@ -50,10 +50,10 @@
}
};
- template <typename Seq1Ref, typename Seq2Ref>
+ template<typename Seq1Ref, typename Seq2Ref>
struct sequence_equal_to<Seq1Ref, Seq2Ref, false>
{
- template <typename It1, typename It2>
+ template<typename It1, typename It2>
static BOOST_FUSION_CONSTEXPR
bool
call(It1 const&, It2 const&)
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 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -17,13 +17,13 @@
namespace boost { namespace fusion { namespace detail
{
- template <typename Seq1, typename Seq2>
+ template<typename Seq1, typename Seq2>
struct sequence_greater
{
typedef typename result_of::end<Seq1>::type end1_type;
typedef typename result_of::end<Seq2>::type end2_type;
- template <typename It1, typename I2>
+ template<typename It1, typename I2>
static BOOST_FUSION_CONSTEXPR
bool
call(It1 const&, I2 const&, mpl::true_)
@@ -31,7 +31,7 @@
return false;
}
- template <typename It1, typename I2>
+ template<typename It1, typename I2>
static bool
call(It1 const& it1, It2 const& it2, mpl::false_)
{
@@ -40,7 +40,7 @@
call(fusion::next(it1), fusion::next(it2)));
}
- template <typename It1, typename It2>
+ template<typename It1, typename It2>
static bool
call(It1 const& it1, It2 const& it2)
{
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 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -17,13 +17,13 @@
namespace boost { namespace fusion { namespace detail
{
- template <typename Seq1Ref, typename Seq2Ref>
+ template<typename Seq1Ref, typename Seq2Ref>
struct sequence_greater_equal
{
typedef typename result_of::end<Seq1Ref>::type end1_type;
typedef typename result_of::end<Seq2Ref>::type end2_type;
- template <typename It1, typename It2>
+ template<typename It1, typename It2>
static BOOST_FUSION_CONSTEXPR
bool
call(It1 const&, It2 const&, mpl::true_)
@@ -31,7 +31,7 @@
return true;
}
- template <typename It1, typename It2>
+ template<typename It1, typename It2>
static bool
call(It1 const& it1, It2 const& it1, mpl::false_)
{
@@ -40,7 +40,7 @@
call(fusion::next(a), fusion::next(b)));
}
- template <typename It1, typename It2>
+ template<typename It1, typename It2>
static bool
call(It1 const& it1, It2 const& it2)
{
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 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -17,13 +17,13 @@
namespace boost { namespace fusion { namespace detail
{
- template <typename Seq1, typename Seq2>
+ template<typename Seq1, typename Seq2>
struct sequence_less
{
typedef typename result_of::end<Seq1>::type end1_type;
typedef typename result_of::end<Seq2>::type end2_type;
- template <typename It1, typename It2>
+ template<typename It1, typename It2>
static BOOST_FUSION_CONSTEXPR
bool
call(It1 const&, It2 const&, mpl::true_)
@@ -31,7 +31,7 @@
return false;
}
- template <typename It1, typename I2>
+ template<typename It1, typename I2>
static bool
call(It1 const& it1, I2 const& it2, mpl::false_)
{
@@ -40,7 +40,7 @@
call(fusion::next(it1), fusion::next(it2)));
}
- template <typename It1, typename It2>
+ template<typename It1, typename It2>
static bool
call(It1 const& it1, It2 const& it2)
{
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 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -17,13 +17,13 @@
namespace boost { namespace fusion { namespace detail
{
- template <typename Seq1, typename Seq2>
+ template<typename Seq1, typename Seq2>
struct sequence_less_equal
{
typedef typename result_of::end<Seq1>::type end1_type;
typedef typename result_of::end<Seq2>::type end2_type;
- template <typename It1, typename It2>
+ template<typename It1, typename It2>
static BOOST_FUSION_CONSTEXPR
bool
call(It1 const&, It2 const&, mpl::true_)
@@ -31,7 +31,7 @@
return true;
}
- template <typename It1, typename It2>
+ template<typename It1, typename It2>
static bool
call(It1 const& it1, It2 const& it2, mpl::false_)
{
@@ -40,7 +40,7 @@
call(fusion::next(it1), fusion::next(it2)));
}
- template <typename It1, typename It2>
+ template<typename It1, typename It2>
static bool
call(It1 const& it1, It2 const& it2)
{
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 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -17,13 +17,13 @@
namespace boost { namespace fusion { namespace detail
{
- template <typename Seq1Ref, typename Seq2Ref, bool same_size>
+ template<typename Seq1Ref, typename Seq2Ref, bool same_size>
struct sequence_not_equal_to
{
typedef typename result_of::end<Seq1Ref>::type end1_type;
typedef typename result_of::end<Seq2Ref>::type end2_type;
- template <typename It1, typename It2>
+ template<typename It1, typename It2>
static BOOST_FUSION_CONSTEXPR
bool
call(It1 const&, It2 const&, mpl::true_)
@@ -31,7 +31,7 @@
return false;
}
- template <typename It1, typename It2>
+ template<typename It1, typename It2>
static bool
call(It1 const& it1, It2 const& it2, mpl::false_)
{
@@ -39,7 +39,7 @@
call(fusion::next(it1), fusion::next(it2));
}
- template <typename It1, typename It2>
+ template<typename It1, typename It2>
static bool
call(It1 const& it1, It2 const& it2)
{
@@ -50,10 +50,10 @@
}
};
- template <typename Seq1Ref, typename Seq2Ref>
+ template<typename Seq1Ref, typename Seq2Ref>
struct sequence_not_equal_to<Seq1Ref, Seq2Ref, false>
{
- template <typename It1, typename It2>
+ template<typename It1, typename It2>
static bool
call(It1 const&, It2 const&)
{
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 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -19,7 +19,7 @@
namespace boost { namespace fusion
{
- template <typename Seq1, typename Seq2>
+ template<typename Seq1, typename Seq2>
inline bool
equal_to(Seq1 const& seq1, Seq2 const& seq2)
{
@@ -39,7 +39,7 @@
namespace operators
{
- template <typename Seq1, typename Seq2>
+ template<typename Seq1, typename Seq2>
inline typename
enable_if<
detail::enable_equality<Seq1 const&, Seq2 const&>
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 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -22,7 +22,7 @@
namespace boost { namespace fusion
{
- template <typename Seq1, typename Seq2>
+ template<typename Seq1, typename Seq2>
inline bool
greater(Seq1 const& seq1, Seq2 const& seq2)
{
@@ -44,7 +44,7 @@
namespace operators
{
- template <typename Seq1, typename Seq2>
+ template<typename Seq1, typename Seq2>
inline typename
enable_if<
detail::enable_comparison<Seq1 const&, Seq2 const&>
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 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -22,7 +22,7 @@
namespace boost { namespace fusion
{
- template <typename Seq1, typename Seq2>
+ template<typename Seq1, typename Seq2>
inline bool
greater_equal(Seq1 const& seq1, Seq2 const& seq2)
{
@@ -44,7 +44,7 @@
namespace operators
{
- template <typename Seq1, typename Seq2>
+ template<typename Seq1, typename Seq2>
inline typename
enable_if<
detail::enable_comparison<Seq1 const&, Seq2 const&>
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 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -18,7 +18,7 @@
namespace boost { namespace fusion
{
- template <typename Seq1, typename Seq2>
+ template<typename Seq1, typename Seq2>
inline bool
less(Seq1 const& seq1, Seq2 const& seq2)
{
@@ -36,7 +36,7 @@
namespace operators
{
- template <typename Seq1, typename Seq2>
+ template<typename Seq1, typename Seq2>
inline typename
enable_if<
detail::enable_equality<Seq1 const&, Seq2 const&>
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 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -22,7 +22,7 @@
namespace boost { namespace fusion
{
- template <typename Seq1, typename Seq2>
+ template<typename Seq1, typename Seq2>
inline bool
less_equal(Seq1 const& seq1, Seq2 const& seq2)
{
@@ -48,21 +48,21 @@
{
#if defined(BOOST_MSVC) && (BOOST_MSVC <= 1400)
// Workaround for VC8.0 and VC7.1
- template <typename Seq1, typename Seq2>
+ template<typename Seq1, typename Seq2>
inline bool
operator<=(sequence_base<Seq1> const& seq1, sequence_base<Seq2 const&> const& seq2)
{
return less_equal(seq1.derived(), seq2.derived());
}
- template <typename Seq1, typename Seq2>
+ template<typename Seq1, typename Seq2>
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(seq1.derived(), seq2);
}
- template <typename Seq1, typename Seq2>
+ template<typename Seq1, typename Seq2>
inline typename disable_if<detail::is_native_fusion_sequence<Seq1 const&>, bool>::type
operator<=(Seq1 const& seq1, sequence_base<Seq2> const& b)
{
@@ -72,7 +72,7 @@
#else
// Somehow VC8.0 and VC7.1 does not like this code
// but barfs somewhere else.
- template <typename Seq1, typename Seq2>
+ template<typename Seq1, typename Seq2>
inline typename
enable_if<
detail::enable_comparison<Seq1 const&, Seq2 const&>
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 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -22,7 +22,7 @@
namespace boost { namespace fusion
{
- template <typename Seq1, typename Seq2>
+ template<typename Seq1, typename Seq2>
inline bool
not_equal_to(Seq1 const& seq1, Seq2 const& seq2)
{
@@ -46,7 +46,7 @@
namespace operators
{
- template <typename Seq1, typename Seq2>
+ template<typename Seq1, typename Seq2>
inline typename
enable_if<
detail::enable_equality<Seq1 const&, Seq2 const&>
Modified: sandbox/SOC/2009/fusion/boost/fusion/sequence/convert.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/sequence/convert.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/sequence/convert.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -18,7 +18,7 @@
{
namespace extension
{
- template <typename>
+ template<typename>
struct convert_impl
{
template<typename Seq>
@@ -37,7 +37,7 @@
namespace result_of
{
- template <typename Tag, typename Seq>
+ template<typename Tag, typename Seq>
struct convert
: extension::convert_impl<Tag>::template apply<Seq>
{
@@ -46,7 +46,7 @@
};
}
- template <typename Tag, typename Seq>
+ template<typename Tag, typename Seq>
inline typename
result_of::convert<Tag, BOOST_FUSION_R_ELSE_CLREF(Seq)>::type
convert(BOOST_FUSION_R_ELSE_CLREF(Seq) seq)
Modified: sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/at.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/at.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/at.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -1,5 +1,6 @@
/*=============================================================================
Copyright (c) 2001-2006 Joel de Guzman
+ Copyright (c) 2009-2010 Christopher Schmidt
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)
@@ -16,7 +17,6 @@
namespace boost { namespace fusion
{
- struct sequence_facade_tag;
#ifdef BOOST_FUSION_ENABLE_STATIC_ASSERTS
struct list_tag;
struct cons_tag;
@@ -24,22 +24,13 @@
namespace extension
{
- template <typename>
+ template<typename>
struct at_impl;
-
- template <>
- struct at_impl<sequence_facade_tag>
- {
- template <typename Seq, typename N>
- struct apply
- : detail::remove_reference<Seq>::type::template at<Seq, N>
- {};
- };
}
namespace result_of
{
- template <typename Seq, typename N>
+ template<typename Seq, typename N>
struct at
: extension::at_impl<typename traits::tag_of<Seq>::type>::
template apply<Seq, N>
@@ -61,7 +52,7 @@
BOOST_FUSION_INDEX_CHECK(N::value,size<Seq>::value);
};
- template <typename Seq, int N>
+ template<typename Seq, int N>
struct at_c
: at<Seq, mpl::int_<N> >
{
@@ -82,7 +73,7 @@
};
}
- template <typename N, typename Seq>
+ template<typename N, typename Seq>
inline typename result_of::at<BOOST_FUSION_R_ELSE_CLREF(Seq), N>::type
at(BOOST_FUSION_R_ELSE_CLREF(Seq) seq)
{
@@ -91,7 +82,7 @@
}
#ifdef BOOST_NO_RVALUE_REFERENCES
- template <typename N, typename Seq>
+ template<typename N, typename Seq>
inline BOOST_FUSION_EXPLICIT_TEMPLATE_NON_CONST_ARG_OVERLOAD(
result_of::at<,Seq,&,N>)
at(Seq& seq)
@@ -100,7 +91,7 @@
}
#endif
- template <int N, typename Seq>
+ template<int N, typename Seq>
inline typename
result_of::at_c<BOOST_FUSION_R_ELSE_CLREF(Seq), N>::type
at_c(BOOST_FUSION_R_ELSE_CLREF(Seq) seq)
@@ -109,7 +100,7 @@
}
#ifdef BOOST_NO_RVALUE_REFERENCES
- template <int N, typename Seq>
+ template<int N, typename Seq>
inline BOOST_FUSION_EXPLICIT_TEMPLATE_NON_CONST_ARG_OVERLOAD(
result_of::at_c<,Seq,&, N>)
at_c(Seq& seq)
Modified: sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/at_key.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/at_key.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/at_key.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -1,7 +1,7 @@
/*=============================================================================
Copyright (c) 2001-2006 Joel de Guzman
Copyright (c) 2006 Dan Marsden
- Copyright (c) 2009 Christopher Schmidt
+ Copyright (c) 2009-2010 Christopher Schmidt
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)
@@ -18,14 +18,12 @@
namespace boost { namespace fusion
{
- struct sequence_facade_tag;
-
namespace extension
{
- template <typename>
+ template<typename>
struct at_key_impl
{
- template <typename Seq, typename Key>
+ template<typename Seq, typename Key>
struct apply
{
typedef typename
@@ -42,21 +40,11 @@
}
};
};
-
- template <>
- struct at_key_impl<sequence_facade_tag>
- {
- template <typename Seq, typename Key>
- struct apply
- : detail::remove_reference<Seq>::type::
- template at_key<Seq, Key>
- {};
- };
}
namespace result_of
{
- template <typename Seq, typename Key>
+ template<typename Seq, typename Key>
struct at_key
: extension::at_key_impl<typename traits::tag_of<Seq>::type>::
template apply<Seq, Key>
@@ -67,7 +55,7 @@
};
}
- template <typename Key, typename Seq>
+ template<typename Key, typename Seq>
inline typename
result_of::at_key<
BOOST_FUSION_R_ELSE_CLREF(Seq)
@@ -80,7 +68,7 @@
}
#ifdef BOOST_NO_RVALUE_REFERENCES
- template <typename Key, typename Seq>
+ template<typename Key, typename Seq>
inline typename result_of::at_key<Seq&, Key>::type
at_key(Seq& seq)
{
Modified: sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/back.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/back.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/back.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -1,5 +1,6 @@
/*=============================================================================
Copyright (c) 2001-2006 Joel de Guzman
+ Copyright (c) 2009-2010 Christopher Schmidt
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)
@@ -13,16 +14,13 @@
#include <boost/fusion/iterator/deref.hpp>
#include <boost/fusion/support/internal/assert.hpp>
#include <boost/fusion/support/internal/ref.hpp>
-
#include <boost/mpl/bool.hpp>
namespace boost { namespace fusion
{
- struct sequence_facade_tag;
-
namespace result_of
{
- template <typename Seq>
+ template<typename Seq>
struct back
: deref<typename prior<typename end<Seq>::type>::type>
{
@@ -32,7 +30,7 @@
};
}
- template <typename Seq>
+ template<typename Seq>
inline typename result_of::back<BOOST_FUSION_R_ELSE_CLREF(Seq)>::type
back(BOOST_FUSION_R_ELSE_CLREF(Seq) seq)
{
@@ -41,7 +39,7 @@
}
#ifdef BOOST_NO_RVALUE_REFERENCES
- template <typename Seq>
+ template<typename Seq>
inline typename result_of::back<Seq&>::type
back(Seq& seq)
{
Modified: sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/begin.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/begin.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/begin.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -1,5 +1,6 @@
/*=============================================================================
Copyright (c) 2001-2006 Joel de Guzman
+ Copyright (c) 2009-2010 Christopher Schmidt
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)
@@ -14,26 +15,15 @@
namespace boost { namespace fusion
{
- struct sequence_facade_tag;
-
namespace extension
{
- template <typename>
+ template<typename>
struct begin_impl;
-
- template <>
- struct begin_impl<sequence_facade_tag>
- {
- template <typename Seq>
- struct apply
- : detail::remove_reference<Seq>::type::template begin<Seq>
- {};
- };
}
namespace result_of
{
- template <typename Seq>
+ template<typename Seq>
struct begin
: extension::begin_impl<typename traits::tag_of<Seq>::type>::
template apply<Seq>
@@ -43,7 +33,7 @@
};
}
- template <typename Seq>
+ template<typename Seq>
inline typename
result_of::begin<BOOST_FUSION_R_ELSE_CLREF(Seq)>::type
begin(BOOST_FUSION_R_ELSE_CLREF(Seq) seq)
@@ -53,7 +43,7 @@
}
#ifdef BOOST_NO_RVALUE_REFERENCES
- template <typename Seq>
+ template<typename Seq>
inline typename result_of::begin<Seq&>::type
begin(Seq& seq)
{
Modified: sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/empty.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/empty.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/empty.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -1,5 +1,6 @@
/*=============================================================================
Copyright (c) 2001-2006 Joel de Guzman
+ Copyright (c) 2009-2010 Christopher Schmidt
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)
@@ -17,32 +18,21 @@
namespace boost { namespace fusion
{
- struct sequence_facade_tag;
-
namespace extension
{
- template <typename>
+ template<typename>
struct empty_impl
{
- template <typename Seq>
+ template<typename Seq>
struct apply
: mpl::bool_<!result_of::size<Seq>::value>
{};
};
-
- template <>
- struct empty_impl<sequence_facade_tag>
- {
- template <typename Seq>
- struct apply
- : detail::remove_reference<Seq>::type::template empty<Seq>
- {};
- };
}
namespace result_of
{
- template <typename Seq>
+ template<typename Seq>
struct empty
: extension::empty_impl<typename traits::tag_of<Seq>::type>::
template apply<Seq>::type
@@ -52,7 +42,7 @@
};
}
- template <typename Seq>
+ template<typename Seq>
inline typename result_of::empty<Seq const&>::type
empty(Seq const&)
{
Modified: sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/end.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/end.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/end.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -14,26 +14,15 @@
namespace boost { namespace fusion
{
- struct sequence_facade_tag;
-
namespace extension
{
- template <typename>
+ template<typename>
struct end_impl;
-
- template <>
- struct end_impl<sequence_facade_tag>
- {
- template <typename Seq>
- struct apply
- : detail::remove_reference<Seq>::type::template end<Seq>
- {};
- };
}
namespace result_of
{
- template <typename Seq>
+ template<typename Seq>
struct end
: extension::end_impl<typename traits::tag_of<Seq>::type>::
template apply<Seq>
@@ -42,7 +31,7 @@
};
}
- template <typename Seq>
+ template<typename Seq>
inline typename
result_of::end<BOOST_FUSION_R_ELSE_CLREF(Seq)>::type const
end(BOOST_FUSION_R_ELSE_CLREF(Seq) seq)
@@ -52,7 +41,7 @@
}
#ifdef BOOST_NO_RVALUE_REFERENCES
- template <typename Seq>
+ template<typename Seq>
inline typename result_of::end<Seq&>::type
end(Seq& seq)
{
Modified: sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/ext_/segments.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/ext_/segments.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/ext_/segments.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -16,7 +16,7 @@
{
namespace extension
{
- template <typename>
+ template<typename>
struct segments_impl;
}
Modified: sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/front.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/front.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/front.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -21,7 +21,7 @@
namespace result_of
{
- template <typename Seq>
+ template<typename Seq>
struct front
: deref<typename begin<Seq>::type>
{
@@ -31,7 +31,7 @@
};
}
- template <typename Seq>
+ template<typename Seq>
inline typename result_of::front<BOOST_FUSION_R_ELSE_CLREF(Seq)>::type
front(BOOST_FUSION_R_ELSE_CLREF(Seq) seq)
{
@@ -39,7 +39,7 @@
}
#ifdef BOOST_NO_RVALUE_REFERENCES
- template <typename Seq>
+ template<typename Seq>
inline typename result_of::front<Seq&>::type
front(Seq& seq)
{
Modified: sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/has_key.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/has_key.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/has_key.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -20,14 +20,12 @@
namespace boost { namespace fusion
{
- struct sequence_facade_tag;
-
namespace extension
{
- template <typename>
+ template<typename>
struct has_key_impl
{
- template <typename Seq, typename Key>
+ template<typename Seq, typename Key>
struct apply
: mpl::not_<
typename result_of::equal_to<
@@ -37,20 +35,11 @@
>::type
{};
};
-
- template <>
- struct has_key_impl<sequence_facade_tag>
- {
- template <typename Seq, typename Key>
- struct apply
- : detail::remove_reference<Seq>::type::template has_key<Seq, Key>
- {};
- };
}
namespace result_of
{
- template <typename Seq, typename Key>
+ template<typename Seq, typename Key>
struct has_key
: extension::has_key_impl<typename traits::tag_of<Seq>::type>::
template apply<Seq, Key>
@@ -60,7 +49,7 @@
};
}
- template <typename Key, typename Seq>
+ template<typename Key, typename Seq>
inline typename result_of::has_key<Seq const&, Key>::type
has_key(Seq const& seq)
{
Modified: sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/size.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/size.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/size.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -16,32 +16,21 @@
namespace boost { namespace fusion
{
- struct sequence_facade_tag;
-
namespace extension
{
- template <typename>
+ template<typename>
struct size_impl
{
- template <typename Seq>
+ template<typename Seq>
struct apply
: detail::remove_reference<Seq>::type::size
{};
};
-
- template <>
- struct size_impl<sequence_facade_tag>
- {
- template <typename Seq>
- struct apply
- : detail::remove_reference<Seq>::type::template size<Seq>::type
- {};
- };
}
namespace result_of
{
- template <typename Seq>
+ template<typename Seq>
struct size
: extension::size_impl<typename traits::tag_of<Seq>::type>::
template apply<Seq>::type
@@ -51,7 +40,7 @@
};
}
- template <typename Seq>
+ template<typename Seq>
inline typename result_of::size<Seq const&>::type
size(Seq const&)
{
Modified: sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/value_at.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/value_at.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/value_at.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -15,7 +15,6 @@
namespace boost { namespace fusion
{
- struct sequence_facade_tag;
#ifdef BOOST_FUSION_ENABLE_STATIC_ASSERTS
struct list_tag;
struct cons_tag;
@@ -23,23 +22,13 @@
namespace extension
{
- template <typename>
+ template<typename>
struct value_at_impl;
-
- template <>
- struct value_at_impl<sequence_facade_tag>
- {
- template <typename Seq, typename N>
- struct apply
- : detail::remove_reference<Seq>::type::
- template value_at<Seq, N>
- {};
- };
}
namespace result_of
{
- template <typename Seq, typename N>
+ template<typename Seq, typename N>
struct value_at
: extension::value_at_impl<typename traits::tag_of<Seq>::type>::
template apply<Seq, N>
@@ -61,9 +50,9 @@
BOOST_FUSION_INDEX_CHECK(N::value,size<Seq>::value);
};
- template <typename Seq, int N>
+ template<typename Seq, int N>
struct value_at_c
- : result_of::value_at<Seq,mpl::int_<N> >
+ : value_at<Seq,mpl::int_<N> >
{
BOOST_FUSION_MPL_ASSERT((traits::is_sequence<Seq>));
BOOST_FUSION_MPL_ASSERT((
Modified: sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/value_at_key.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/value_at_key.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/value_at_key.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -19,35 +19,23 @@
namespace boost { namespace fusion
{
- struct sequence_facade_tag;
-
namespace extension
{
- template <typename>
+ template<typename>
struct value_at_key_impl
{
- template <typename Seq, typename Key>
+ template<typename Seq, typename Key>
struct apply
: result_of::value_of_data<
typename result_of::find_key<Seq, Key>::type
>
{};
};
-
- template <>
- struct value_at_key_impl<sequence_facade_tag>
- {
- template <typename Seq, typename Key>
- struct apply
- : detail::remove_reference<Seq>::type::
- template value_at_key<Seq, Key>
- {};
- };
}
namespace result_of
{
- template <typename Seq, typename Key>
+ template<typename Seq, typename Key>
struct value_at_key
: extension::value_at_key_impl<typename traits::tag_of<Seq>::type>::
template apply<Seq, Key>
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 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -23,11 +23,11 @@
namespace boost { namespace fusion { namespace detail
{
- template <typename Tag>
+ template<typename Tag>
struct delimiter_in
{
// read a delimiter
- template <typename IS>
+ template<typename IS>
static void
read(IS& is, char const* delim, mpl::false_ = mpl::false_())
{
@@ -35,7 +35,7 @@
manip.read(delim);
}
- template <typename IS>
+ template<typename IS>
static void
read(IS& is, char const* delim, mpl::true_)
{
@@ -44,13 +44,13 @@
struct read_sequence_loop
{
- template <typename IS, typename Begin, typename End>
+ template<typename IS, typename Begin, typename End>
static void
call(IS& is, Begin const&, End const&, mpl::true_)
{
}
- template <typename IS, typename Begin, typename End>
+ template<typename IS, typename Begin, typename End>
static void
call(IS& is, Begin const& first, End const& last, mpl::false_)
{
@@ -66,7 +66,7 @@
call(is, fusion::next(first), last, is_last());
}
- template <typename IS, typename Begin, typename End>
+ template<typename IS, typename Begin, typename End>
static void
call(IS& is, Begin const& first, End const& last)
{
@@ -80,7 +80,7 @@
}
};
- template <typename IS, typename Seq>
+ template<typename IS, typename Seq>
inline void
read_sequence(IS& is, Seq& seq)
{
Modified: sandbox/SOC/2009/fusion/boost/fusion/sequence/io/detail/manip.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/sequence/io/detail/manip.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/sequence/io/detail/manip.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -36,7 +36,7 @@
{
namespace detail
{
- template <typename Tag>
+ template<typename Tag>
int get_xalloc_index(Tag* = 0)
{
// each Tag will have a unique index
@@ -44,7 +44,7 @@
return index;
}
- template <typename Stream, typename Tag, typename T>
+ template<typename Stream, typename Tag, typename T>
struct stream_data
{
struct arena
@@ -76,7 +76,7 @@
}
};
- template <typename Tag, typename Stream>
+ template<typename Tag, typename Stream>
class string_ios_manip
{
public:
@@ -128,7 +128,7 @@
private:
- template <typename Char>
+ template<typename Char>
void
check_delim(Char c) const
{
@@ -161,14 +161,14 @@
name##_type(const string_type& d): data(d) {} \
}; \
\
- template <typename Stream> \
+ template<typename Stream> \
Stream& operator>>(Stream& s, const name##_type& m) \
{ \
string_ios_manip<name##_tag, Stream>(s).set(m.data); \
return s; \
} \
\
- template <typename Stream> \
+ template<typename Stream> \
Stream& operator<<(Stream& s, const name##_type& m) \
{ \
string_ios_manip<name##_tag, Stream>(s).set(m.data); \
@@ -200,7 +200,7 @@
#if defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING)
#define STD_TUPLE_DEFINE_MANIPULATOR_FUNCTIONS(name) \
- template <typename Char, typename Traits> \
+ template<typename Char, typename Traits> \
inline detail::name##_type<Char, Traits> \
name(const std::basic_string<Char, Traits>& s) \
{ \
@@ -234,28 +234,28 @@
#else // defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING)
#define STD_TUPLE_DEFINE_MANIPULATOR_FUNCTIONS(name) \
- template <typename Char, typename Traits> \
+ template<typename Char, typename Traits> \
inline detail::name##_type<Char, Traits> \
name(const std::basic_string<Char, Traits>& s) \
{ \
return detail::name##_type<Char, Traits>(s); \
} \
\
- template <typename Char> \
+ template<typename Char> \
inline detail::name##_type<Char> \
name(Char s[]) \
{ \
return detail::name##_type<Char>(std::basic_string<Char>(s)); \
} \
\
- template <typename Char> \
+ template<typename Char> \
inline detail::name##_type<Char> \
name(Char const s[]) \
{ \
return detail::name##_type<Char>(std::basic_string<Char>(s)); \
} \
\
- template <typename Char> \
+ template<typename Char> \
inline detail::name##_type<Char> \
name(Char c) \
{ \
@@ -269,7 +269,7 @@
{ \
struct name##_tag; \
\
- template <typename Char, typename Traits = std::char_traits<Char> > \
+ template<typename Char, typename Traits = std::char_traits<Char> > \
struct name##_type \
{ \
typedef std::basic_string<Char, Traits> string_type; \
@@ -277,14 +277,14 @@
name##_type(const string_type& d): data(d) {} \
}; \
\
- template <typename Stream, typename Char, typename Traits> \
+ template<typename Stream, typename Char, typename Traits> \
Stream& operator>>(Stream& s, const name##_type<Char,Traits>& m) \
{ \
string_ios_manip<name##_tag, Stream>(s).set(m.data); \
return s; \
} \
\
- template <typename Stream, typename Char, typename Traits> \
+ template<typename Stream, typename Char, typename Traits> \
Stream& operator<<(Stream& s, const name##_type<Char,Traits>& m) \
{ \
string_ios_manip<name##_tag, Stream>(s).set(m.data); \
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 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -22,11 +22,11 @@
namespace boost { namespace fusion { namespace detail
{
- template <typename Tag>
+ template<typename Tag>
struct delimiter_out
{
// print a delimiter
- template <typename OS>
+ template<typename OS>
static void
print(OS& os, char const* delim, mpl::false_ = mpl::false_())
{
@@ -34,7 +34,7 @@
manip.print(delim);
}
- template <typename OS>
+ template<typename OS>
static void
print(OS& os, char const* delim, mpl::true_)
{
@@ -43,13 +43,13 @@
struct print_sequence_loop
{
- template <typename OS, typename Begin, typename End>
+ template<typename OS, typename Begin, typename End>
static void
call(OS& os, Begin const&, End const&, mpl::true_)
{
}
- template <typename OS, typename Begin, typename End>
+ template<typename OS, typename Begin, typename End>
static void
call(OS& os, Begin const& first, End const& last, mpl::false_)
{
@@ -65,7 +65,7 @@
call(os, fusion::next(first), last, is_last());
}
- template <typename OS, typename Begin, typename End>
+ template<typename OS, typename Begin, typename End>
static void
call(OS& os, Begin const& first, End const& last)
{
@@ -79,7 +79,7 @@
}
};
- template <typename OS, typename Seq>
+ template<typename OS, typename Seq>
inline void
print_sequence(OS& os, Seq const& seq)
{
Modified: sandbox/SOC/2009/fusion/boost/fusion/sequence/io/in.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/sequence/io/in.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/sequence/io/in.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -19,7 +19,7 @@
namespace boost { namespace fusion
{
- template <typename Seq>
+ template<typename Seq>
inline std::istream&
in(std::istream& is, Seq& seq)
{
@@ -32,7 +32,7 @@
namespace operators
{
- template <typename Seq>
+ template<typename Seq>
inline typename
enable_if<
fusion::traits::is_sequence<Seq>
Modified: sandbox/SOC/2009/fusion/boost/fusion/sequence/io/out.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/sequence/io/out.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/sequence/io/out.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -22,7 +22,7 @@
namespace boost { namespace fusion
{
- template <typename Seq>
+ template<typename Seq>
inline std::ostream&
out(std::ostream& os, Seq& seq)
{
@@ -35,7 +35,7 @@
namespace operators
{
- template <typename Seq>
+ template<typename Seq>
inline typename
enable_if<
fusion::traits::is_sequence<Seq>
Modified: sandbox/SOC/2009/fusion/boost/fusion/sequence/sequence_facade.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/sequence/sequence_facade.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/sequence/sequence_facade.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -1,5 +1,5 @@
/*=============================================================================
- Copyright (c) 2009 Christopher Schmidt
+ Copyright (c) 2009-2010 Christopher Schmidt
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)
@@ -9,34 +9,26 @@
#define BOOST_FUSION_SEQUENCE_SEQUENCE_FACADE_HPP
#include <boost/fusion/support/sequence_base.hpp>
-
-#include <boost/mpl/apply.hpp>
-#include <boost/mpl/always.hpp>
+#include <boost/fusion/support/internal/facade_generation.hpp>
#include <boost/mpl/bool.hpp>
-namespace boost { namespace fusion
-{
- struct void_;
- struct sequence_facade_tag;
-
- namespace extension
- {
- template<typename>
- struct at_key_impl;
-
- template<typename>
- struct empty_impl;
+#define BOOST_FUSION_SEQUENCE_INTRINSIC_FUNCS \
+ ((at_key, 1, 1)) \
+ ((at, 1, 0)) \
+ ((back, 0, 0)) \
+ ((begin, 0, 0)) \
+ ((empty, 0, 1)) \
+ ((end, 0, 0)) \
+ ((has_key, 1, 1)) \
+ ((size, 0, 1)) \
+ ((value_at_key, 1, 1)) \
+ ((value_at, 1, 0))
- template<typename>
- struct size_impl;
-
- template<typename>
- struct has_key_impl;
-
- template<typename>
- struct value_at_key_impl;
- }
+BOOST_FUSION_FACADE_DEFINE_INTRINSIC_FUNCS_WRAPPER(
+ sequence_facade_tag, BOOST_FUSION_SEQUENCE_INTRINSIC_FUNCS)
+namespace boost { namespace fusion
+{
template<
typename Derived
, typename Category
@@ -51,42 +43,11 @@
typedef Category category;
typedef IsView is_view;
- template<typename Seq,typename Key>
- struct at_key
- : extension::at_key_impl<
- typename mpl::apply1<mpl::always<void_>,Seq>::type
- >::template apply<Seq,Key>
- {};
-
- template<typename Seq>
- struct empty
- : extension::empty_impl<
- typename mpl::apply1<mpl::always<void_>,Seq>::type
- >::template apply<Seq>
- {};
-
- template<typename Seq>
- struct size
- : extension::size_impl<
- typename mpl::apply1<mpl::always<void_>,Seq>::type
- >::template apply<Seq>
- {};
-
- template<typename Seq,typename Key>
- struct has_key
- : extension::has_key_impl<
- typename mpl::apply1<mpl::always<void_>,Seq>::type
- >::template apply<Seq,Key>
- {};
-
- template<typename Seq,typename Key>
- struct value_at_key
- : extension::value_at_key_impl<
- typename mpl::apply1<mpl::always<void_>,Seq>::type
- >::template apply<Seq,Key>
- {};
-
+ BOOST_FUSION_FACADE_DEFINE_INTRINSIC_FUNCS_FORWARDER(
+ BOOST_FUSION_SEQUENCE_INTRINSIC_FUNCS)
};
}}
+ #undef BOOST_FUSION_SEQUENCE_INTRINSIC_FUNCS
+
#endif
Modified: sandbox/SOC/2009/fusion/boost/fusion/support/category_of.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/support/category_of.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/support/category_of.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -101,7 +101,7 @@
namespace traits
{
- template <typename T>
+ template<typename T>
struct category_of
: extension::category_of_impl<
typename fusion::traits::tag_of<T>::type
@@ -111,7 +111,7 @@
mpl::or_<traits::is_sequence<T>, traits::is_iterator<T> >));
};
- template <typename T>
+ template<typename T>
struct is_associative
: is_base_of<
associative_tag
@@ -122,7 +122,7 @@
mpl::or_<traits::is_sequence<T>, traits::is_iterator<T> >));
};
- template <typename T>
+ template<typename T>
struct is_incrementable
: is_base_of<
incrementable_traversal_tag
@@ -133,7 +133,7 @@
mpl::or_<traits::is_sequence<T>, traits::is_iterator<T> >));
};
- template <typename T>
+ template<typename T>
struct is_single_pass
: is_base_of<
single_pass_traversal_tag
@@ -144,7 +144,7 @@
mpl::or_<traits::is_sequence<T>, traits::is_iterator<T> >));
};
- template <typename T>
+ template<typename T>
struct is_forward
: is_base_of<
forward_traversal_tag
@@ -155,7 +155,7 @@
mpl::or_<traits::is_sequence<T>, traits::is_iterator<T> >));
};
- template <typename T>
+ template<typename T>
struct is_bidirectional
: is_base_of<
bidirectional_traversal_tag
@@ -166,7 +166,7 @@
mpl::or_<traits::is_sequence<T>, traits::is_iterator<T> >));
};
- template <typename T>
+ template<typename T>
struct is_random_access
: is_base_of<
random_access_traversal_tag
Modified: sandbox/SOC/2009/fusion/boost/fusion/support/deduce.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/support/deduce.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/support/deduce.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -9,13 +9,17 @@
#ifndef BOOST_FUSION_SUPPORT_DEDUCE_HPP
#define BOOST_FUSION_SUPPORT_DEDUCE_HPP
+#include <boost/config.hpp>
#include <boost/fusion/support/internal/result_of.hpp>
#include <boost/fusion/support/internal/ref.hpp>
-
+#include <boost/detail/workaround.hpp>
#include <boost/mpl/eval_if.hpp>
#include <boost/mpl/identity.hpp>
#include <boost/mpl/if.hpp>
#include <boost/mpl/and.hpp>
+#ifndef BOOST_NO_RVALUE_REFERENCES
+# include <boost/mpl/not.hpp>
+#endif
#include <boost/type_traits/is_same.hpp>
#include <boost/ref.hpp>
@@ -24,21 +28,34 @@
{
namespace traits
{
- template <typename T>
+#if BOOST_WORKAROUND(BOOST_MSVC,==1600)
+ template<typename T>
+ struct deduce_stage2
+ {
+ typedef T type;
+ };
+
+ template<typename T>
+ struct deduce
+ : deduce_stage2<T>
+ {};
+#else
+ template<typename T>
struct deduce
{
typedef T type;
};
+#endif
- template <typename T>
+ template<typename T>
struct deduce<reference_wrapper<T> >
{
typedef T& type;
};
-#define BOOST_FUSION_DEDUCE_CV_REF_SPECIALIZATION(MODIFIER,_)\
- template <typename T>\
- struct deduce<T MODIFIER>\
+#define BOOST_FUSION_DEDUCE_CV_REF_SPECIALIZATION(MODIFIER,DEDUCE)\
+ template<typename T>\
+ struct DEDUCE<T MODIFIER>\
{\
typedef detail::is_po_callable<T MODIFIER> is_po_callable;\
\
@@ -55,24 +72,37 @@
type;\
};\
\
- template <typename T>\
+ template<typename T>\
struct deduce<reference_wrapper<T> MODIFIER>\
{\
typedef T& type;\
};
- BOOST_FUSION_DEDUCE_CV_REF_SPECIALIZATION(volatile&,_)
- BOOST_FUSION_DEDUCE_CV_REF_SPECIALIZATION(const volatile&,_)
-#ifndef BOOST_NO_RVALUE_REFERENCES
- BOOST_FUSION_DEDUCE_CV_REF_SPECIALIZATION(volatile&&,_)
- BOOST_FUSION_DEDUCE_CV_REF_SPECIALIZATION(const volatile&&,_)
+ BOOST_FUSION_DEDUCE_CV_REF_SPECIALIZATION(volatile&,deduce)
+ BOOST_FUSION_DEDUCE_CV_REF_SPECIALIZATION(const volatile&,deduce)
+
+#if BOOST_WORKAROUND(BOOST_MSVC,==1600)
+ BOOST_FUSION_DEDUCE_CV_REF_SPECIALIZATION(volatile&&,deduce_stage2)
+ BOOST_FUSION_DEDUCE_CV_REF_SPECIALIZATION(
+ const volatile&&,deduce_stage2)
+
+ BOOST_FUSION_DEDUCE_CV_REF_SPECIALIZATION(&,deduce)
+ BOOST_FUSION_DEDUCE_CV_REF_SPECIALIZATION(const&,deduce)
+ BOOST_FUSION_DEDUCE_CV_REF_SPECIALIZATION(&&,deduce_stage2)
+ BOOST_FUSION_DEDUCE_CV_REF_SPECIALIZATION(const&&,deduce_stage2)
+#else
+# ifndef BOOST_NO_RVALUE_REFERENCES
+ BOOST_FUSION_DEDUCE_CV_REF_SPECIALIZATION(volatile&&,deduce)
+ BOOST_FUSION_DEDUCE_CV_REF_SPECIALIZATION(const volatile&&,deduce)
+# endif
+ BOOST_FUSION_ALL_CV_REF_COMBINATIONS(
+ BOOST_FUSION_DEDUCE_CV_REF_SPECIALIZATION,deduce)
#endif
- BOOST_FUSION_ALL_CV_REF_COMBINATIONS(BOOST_FUSION_DEDUCE_CV_REF_SPECIALIZATION,_)
#undef BOOST_FUSION_DEDUCE_CV_REF_SPECIALIZATION
#define BOOST_FUSION_DEDUCE_ARRAY_SPECIALIZATION(MODIFIER1,MODIFIER2,MODIFIER3)\
- template <typename T, int N>\
+ template<typename T, int N>\
struct deduce<T MODIFIER1[N]>\
{\
typedef T MODIFIER2(MODIFIER3 type)[N];\
@@ -101,21 +131,43 @@
namespace detail
{
- template <typename T>
+ template<typename T>
struct deduce_ref
{
typedef typename traits::deduce<T>::type deduced;
+ typedef
+ mpl::and_<
+ is_lrref<T>
+ , is_same<typename identity<T>::type,deduced>
+ >
+ is_regular_reference;
+#ifdef BOOST_NO_RVALUE_REFERENCES
typedef typename
mpl::if_<
- mpl::and_<
- detail::is_lrref<T>
- , is_same<typename identity<T>::type,deduced>
- >
+ is_regular_reference
, T
, typename add_lref<deduced>::type
>::type
type;
+#else
+ //8.5.3p5...
+ typedef typename
+ mpl::eval_if<
+ is_regular_reference
+ , mpl::if_<
+ mpl::or_<
+ mpl::not_<is_rref<T> >
+ , is_class<deduced>
+ , is_array<deduced>
+ >
+ , T
+ , deduced&
+ >
+ , add_lref<deduced>
+ >::type
+ type;
+#endif
};
}
}}
Modified: sandbox/SOC/2009/fusion/boost/fusion/support/deduce_sequence.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/support/deduce_sequence.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/support/deduce_sequence.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -24,7 +24,7 @@
{
namespace traits
{
- template <typename Seq>
+ template<typename Seq>
struct deduce_sequence
: result_of::as_vector<
mpl::transform_view<
Added: sandbox/SOC/2009/fusion/boost/fusion/support/internal/facade_generation.hpp
==============================================================================
--- (empty file)
+++ sandbox/SOC/2009/fusion/boost/fusion/support/internal/facade_generation.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -0,0 +1,83 @@
+/*=============================================================================
+ Copyright (c) 2010 Christopher Schmidt
+
+ 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_SUPPORT_INTERNAL_FACADE_GENERATION_HPP
+#define BOOST_FUSION_SUPPORT_INTERNAL_FACADE_GENERATION_HPP
+
+#include <boost/preprocessor/cat.hpp>
+#include <boost/preprocessor/if.hpp>
+#include <boost/preprocessor/punctuation/comma_if.hpp>
+#include <boost/preprocessor/seq/for_each.hpp>
+#include <boost/preprocessor/tuple/elem.hpp>
+#include <boost/preprocessor/tuple/eat.hpp>
+#include <boost/preprocessor/repetition/enum_params.hpp>
+#include <boost/mpl/apply.hpp>
+#include <boost/mpl/always.hpp>
+
+#define BOOST_FUSION_DEFINE_SEQUENCE_FACADE_INTRINSIC_FUNC_WRAPPER(R, TAG, FUNC)\
+ template<typename> \
+ struct BOOST_PP_CAT(BOOST_PP_TUPLE_ELEM(3, 0, FUNC),_impl); \
+ \
+ template<> \
+ struct BOOST_PP_CAT(BOOST_PP_TUPLE_ELEM(3, 0, FUNC),_impl)<TAG> \
+ { \
+ template< \
+ typename T \
+ BOOST_PP_COMMA_IF(BOOST_PP_TUPLE_ELEM(3, 1, FUNC)) \
+ BOOST_PP_ENUM_PARAMS( \
+ BOOST_PP_TUPLE_ELEM(3, 1, FUNC), typename T) \
+ > \
+ struct apply \
+ : detail::remove_reference<T>::type:: \
+ template BOOST_PP_TUPLE_ELEM(3, 0, FUNC)< \
+ T \
+ BOOST_PP_COMMA_IF(BOOST_PP_TUPLE_ELEM(3, 1, FUNC)) \
+ BOOST_PP_ENUM_PARAMS(BOOST_PP_TUPLE_ELEM(3, 1, FUNC), T) \
+ > \
+ {}; \
+ };
+
+#define BOOST_FUSION_FACADE_DEFINE_INTRINSIC_FUNCS_WRAPPER(TAG, FUNCS) \
+namespace boost { namespace fusion \
+{ \
+ struct TAG; \
+ struct void_; \
+ \
+ namespace extension \
+ { \
+ BOOST_PP_SEQ_FOR_EACH( \
+ BOOST_FUSION_DEFINE_SEQUENCE_FACADE_INTRINSIC_FUNC_WRAPPER, \
+ TAG, \
+ FUNCS) \
+ } \
+}}
+
+
+#define BOOST_FUSION_DEFINE_SEQUENCE_FACADE_INTRINSIC_FUNC_FORDER(R, _, FUNC) \
+ template< \
+ typename T \
+ BOOST_PP_COMMA_IF(BOOST_PP_TUPLE_ELEM(3, 1, FUNC)) \
+ BOOST_PP_ENUM_PARAMS( \
+ BOOST_PP_TUPLE_ELEM(3, 1, FUNC), typename T) \
+ > \
+ struct BOOST_PP_TUPLE_ELEM(3, 0, FUNC) \
+ : extension::BOOST_PP_CAT(BOOST_PP_TUPLE_ELEM(3, 0, FUNC),_impl)< \
+ typename mpl::apply1<mpl::always<void_>,T>::type \
+ >::template apply< \
+ T \
+ BOOST_PP_COMMA_IF(BOOST_PP_TUPLE_ELEM(3, 1, FUNC)) \
+ BOOST_PP_ENUM_PARAMS(BOOST_PP_TUPLE_ELEM(3, 1, FUNC), T) \
+ > \
+ {};
+
+#define BOOST_FUSION_FACADE_DEFINE_INTRINSIC_FUNCS_FORWARDER(FUNCS) \
+ BOOST_PP_SEQ_FOR_EACH( \
+ BOOST_FUSION_DEFINE_SEQUENCE_FACADE_INTRINSIC_FUNC_FORDER, \
+ _, \
+ FUNCS)
+
+#endif
Modified: sandbox/SOC/2009/fusion/boost/fusion/support/internal/is_explicitly_convertible.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/support/internal/is_explicitly_convertible.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/support/internal/is_explicitly_convertible.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -8,7 +8,7 @@
#ifndef BOOST_FUSION_SUPPORT_INTERNAL_IS_EXPLICITLY_CONVERTIBLE_HPP
#define BOOST_FUSION_SUPPORT_INTERNAL_IS_EXPLICITLY_CONVERTIBLE_HPP
-#include <boost/config.hpp>
+#include <boost/detail/workaround.hpp>
#if BOOST_WORKAROUND(__GNUC__,<4)
# include <boost/type_traits/is_convertible.hpp>
#else
Modified: sandbox/SOC/2009/fusion/boost/fusion/support/internal/ref.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/support/internal/ref.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/support/internal/ref.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -1,5 +1,5 @@
/*=============================================================================
- Copyright (c) 2009 Christopher Schmidt
+ Copyright (c) 2009-2010 Christopher Schmidt
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)
@@ -8,8 +8,14 @@
#ifndef BOOST_FUSION_SUPPORT_INTERNAL_REF_HPP
#define BOOST_FUSION_SUPPORT_INTERNAL_REF_HPP
-#include <boost/config.hpp>
+#include <boost/detail/workaround.hpp>
+#if !defined(BOOST_NO_RVALUE_REFERENCES) && \
+ BOOST_WORKAROUND(__GNUC__,==4)&& \
+ BOOST_WORKAROUND(__GNUC_MINOR__,<5)
+# error The c++0x extension of your compiler is not supported!
+#endif
+#include <boost/config.hpp>
#include <boost/preprocessor/empty.hpp>
#include <boost/mpl/if.hpp>
#ifndef BOOST_NO_RVALUE_REFERENCES
@@ -23,7 +29,10 @@
#include <boost/type_traits/is_array.hpp>
#include <boost/type_traits/is_const.hpp>
#include <boost/type_traits/add_const.hpp>
-#ifndef BOOST_FUSION_NO_PROPAGATE_VOLATILE
+#if BOOST_WORKAROUND(BOOST_MSVC,==1600)
+# include <boost/type_traits/is_function.hpp>
+#endif
+#ifdef BOOST_FUSION_PROPAGATE_VOLATILE
# include <boost/type_traits/is_volatile.hpp>
# include <boost/type_traits/add_volatile.hpp>
# include <boost/type_traits/remove_cv.hpp>
@@ -73,23 +82,42 @@
namespace boost { namespace fusion { namespace detail
{
//cschmidt: workaround until boost::is_reference supports rvalues
+#if BOOST_WORKAROUND(BOOST_MSVC, == 1600)
template<typename T>
- struct is_lrref
+ struct is_lrref_stage2
: mpl::false_
{};
template<typename T>
- struct is_lrref<T&>
+ struct is_lrref_stage2<T&&>
: mpl::true_
{};
-#ifndef BOOST_NO_RVALUE_REFERENCES
+ template<typename T>
+ struct is_lrref
+ : is_lrref_stage2<T>
+ {};
+#else
+ template<typename T>
+ struct is_lrref
+ : mpl::false_
+ {};
+
+# ifndef BOOST_NO_RVALUE_REFERENCES
template<typename T>
struct is_lrref<T&&>
: mpl::true_
{};
+# endif
+#endif
template<typename T>
+ struct is_lrref<T&>
+ : mpl::true_
+ {};
+
+#ifndef BOOST_NO_RVALUE_REFERENCES
+ template<typename T>
struct is_rref
: mpl::false_
{};
@@ -100,51 +128,88 @@
{};
#endif
- //cschmidt: workaround until boost::is_reference supports rvalues
+#if BOOST_WORKAROUND(BOOST_MSVC, == 1600)
template<typename T>
- struct remove_reference
+ struct remove_reference_stage2
{
typedef T type;
};
template<typename T>
- struct remove_reference<T&>
+ struct remove_reference_stage2<T&&>
{
typedef T type;
};
-#ifndef BOOST_NO_RVALUE_REFERENCES
+ template<typename T>
+ struct remove_reference
+ : remove_reference_stage2<T>
+ {};
+#else
+ template<typename T>
+ struct remove_reference
+ {
+ typedef T type;
+ };
+
+# ifndef BOOST_NO_RVALUE_REFERENCES
template<typename T>
struct remove_reference<T&&>
{
typedef T type;
};
+# endif
#endif
- template <typename T>
- struct add_lref
+ template<typename T>
+ struct remove_reference<T&>
+ {
+ typedef T type;
+ };
+
+#if BOOST_WORKAROUND(BOOST_MSVC, == 1600)
+ template<typename T>
+ struct add_lref_stage2
{
typedef T& type;
};
- template <typename T>
- struct add_lref<T&>
+ template<typename T>
+ struct add_lref_stage2<T&&>
+ {
+ typedef T&& type;
+ };
+
+ template<typename T>
+ struct add_lref
+ : add_lref_stage2<T>
+ {};
+#else
+ template<typename T>
+ struct add_lref
{
typedef T& type;
};
-#ifndef BOOST_NO_RVALUE_REFERENCES
- template <typename T>
+# ifndef BOOST_NO_RVALUE_REFERENCES
+ template<typename T>
struct add_lref<T&&>
{
typedef T&& type;
};
+# endif
#endif
- template <typename T>
+ template<typename T>
+ struct add_lref<T&>
+ {
+ typedef T& type;
+ };
+
+ template<typename T>
struct identity
:
- #ifdef BOOST_FUSION_NO_PROPAGATE_VOLATILE
+#ifndef BOOST_FUSION_PROPAGATE_VOLATILE
remove_const<
#else
remove_cv<
@@ -153,7 +218,7 @@
>
{};
- template <typename TestType,typename Type>
+ template<typename TestType,typename Type>
struct forward_as
{
typedef typename remove_reference<TestType>::type test_type;
@@ -164,7 +229,7 @@
, typename add_const<Type>::type
, Type
>::type
-#ifndef BOOST_FUSION_NO_PROPAGATE_VOLATILE
+#ifdef BOOST_FUSION_PROPAGATE_VOLATILE
const_type;
typedef typename
@@ -194,24 +259,45 @@
#endif
};
+#if !defined(BOOST_MSVC) || BOOST_MSVC!=1600
+ template<typename TestType,typename Type>
+ struct forward_as<TestType,Type&>
+ {
+ typedef Type& type;
+ };
+#endif
+
#ifndef BOOST_NO_RVALUE_REFERENCES
//8.5.3p5...
- template <typename TestType,typename Type>
+ template<typename TestType,typename Type>
struct forward_as<TestType,Type&&>
: mpl::if_<
mpl::or_<is_class<Type>, is_array<Type> >
, Type&&
+#if BOOST_WORKAROUND(BOOST_MSVC,==1600)
+ , typename mpl::if_<
+ is_function<Type>
+ , Type&
+ , Type
+ >::type
+#else
, Type
+#endif
>
{};
#endif
- //Optimization
- template <typename TestType,typename Type>
- struct forward_as<TestType,Type&>
- {
- typedef Type& type;
- };
+ template<typename TestType, typename Type>
+ struct forward_as_lref
+ : forward_as<TestType, Type>
+ {};
+
+#ifndef BOOST_NO_RVALUE_REFERENCES
+ template<typename TestType,typename Type>
+ struct forward_as_lref<TestType,Type&&>
+ : forward_as<TestType, Type&>
+ {};
+#endif
}}}
#endif
Modified: sandbox/SOC/2009/fusion/boost/fusion/support/internal/workaround.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/support/internal/workaround.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/support/internal/workaround.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -9,6 +9,8 @@
#define BOOST_FUSION_SUPPORT_INTERNAL_WORKAROUND_HPP
#include <boost/config.hpp>
+#include <boost/detail/workaround.hpp>
+
#ifdef BOOST_NO_RVALUE_REFERENCES
//cschmidt: see https://svn.boost.org/trac/boost/ticket/3305
# if defined(BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS) || BOOST_WORKAROUND(__GNUC__,<4)
Modified: sandbox/SOC/2009/fusion/boost/fusion/support/is_iterator.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/support/is_iterator.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/support/is_iterator.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -24,7 +24,7 @@
template<typename>
struct is_iterator_impl
{
- template <typename T>
+ template<typename T>
struct apply
: is_base_of<iterator_root, typename detail::identity<T>::type>
{};
@@ -33,7 +33,7 @@
namespace traits
{
- template <typename T>
+ template<typename T>
struct is_iterator
: extension::is_iterator_impl<
typename fusion::traits::tag_of<T>::type
Modified: sandbox/SOC/2009/fusion/boost/fusion/support/is_sequence.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/support/is_sequence.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/support/is_sequence.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -19,10 +19,10 @@
{
namespace extension
{
- template <typename>
+ template<typename>
struct is_sequence_impl
{
- template <typename Seq>
+ template<typename Seq>
struct apply
: is_base_of<
sequence_root
@@ -34,7 +34,7 @@
namespace traits
{
- template <typename T>
+ template<typename T>
struct is_sequence
: extension::is_sequence_impl<typename traits::tag_of<T>::type>::
template apply<T>
Modified: sandbox/SOC/2009/fusion/boost/fusion/support/is_view.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/support/is_view.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/support/is_view.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -20,7 +20,7 @@
template<typename>
struct is_view_impl
{
- template <typename Seq>
+ template<typename Seq>
struct apply
: detail::remove_reference<Seq>::type::is_view
{};
@@ -29,7 +29,7 @@
namespace traits
{
- template <typename Seq>
+ template<typename Seq>
struct is_view
: extension::is_view_impl<typename fusion::traits::tag_of<Seq>::type>::
template apply<Seq>::type
Modified: sandbox/SOC/2009/fusion/boost/fusion/support/iterator_base.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/support/iterator_base.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/support/iterator_base.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -13,7 +13,7 @@
struct iterator_root
{};
- template <typename It>
+ template<typename It>
struct iterator_base
: iterator_root
{
Modified: sandbox/SOC/2009/fusion/boost/fusion/support/pair.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/support/pair.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/support/pair.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -27,7 +27,7 @@
namespace boost { namespace fusion
{
// A half runtime pair where the first type does not have data
- template <typename First, typename Second>
+ template<typename First, typename Second>
struct pair
{
typedef First first_type;
@@ -59,7 +59,7 @@
pair(Arg&& arg,
typename enable_if<
detail::is_explicitly_convertible<Arg&&,second_type>
- >::type* =0);
+ >::type* =0)
: second(std::forward<Arg>(arg))
{}
# endif
@@ -82,7 +82,7 @@
{}
#endif
- template <typename Second2>
+ template<typename Second2>
pair& operator=(pair<First, Second2>
BOOST_FUSION_R_ELSE_CLREF(BOOST_PP_EMPTY()) rhs)
{
@@ -119,7 +119,7 @@
};
}
- template <typename First, typename Second>
+ template<typename First, typename Second>
inline typename
result_of::make_pair<First,BOOST_FUSION_R_ELSE_CLREF(Second)>::type
make_pair(BOOST_FUSION_R_ELSE_CLREF(Second) second)
@@ -131,7 +131,7 @@
>::type(BOOST_FUSION_FORWARD(Second,second));
}
- template <typename OStream, typename First, typename Second>
+ template<typename OStream, typename First, typename Second>
inline BOOST_FUSION_R_ELSE_LREF(OStream)
operator<<(
BOOST_FUSION_R_ELSE_LREF(OStream) os,
@@ -141,7 +141,7 @@
return os;
}
- template <typename IStream, typename First, typename Second>
+ template<typename IStream, typename First, typename Second>
inline BOOST_FUSION_R_ELSE_LREF(IStream)
operator>>(
BOOST_FUSION_R_ELSE_LREF(IStream) is
@@ -153,7 +153,7 @@
return is;
}
- template <typename First, typename SecondLhs, typename SecondRhs>
+ template<typename First, typename SecondLhs, typename SecondRhs>
inline bool
operator==(pair<First, SecondLhs> const& lhs,
pair<First, SecondRhs> const& rhs)
@@ -161,7 +161,7 @@
return lhs.second == rhs.second;
}
- template <typename First, typename SecondLhs, typename SecondRhs>
+ template<typename First, typename SecondLhs, typename SecondRhs>
inline bool
operator!=(pair<First, SecondLhs> const& lhs,
pair<First, SecondRhs> const& rhs)
Modified: sandbox/SOC/2009/fusion/boost/fusion/support/sequence_base.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/support/sequence_base.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/support/sequence_base.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -18,7 +18,7 @@
struct sequence_root
{};
- template <typename Seq>
+ template<typename Seq>
struct sequence_base
: sequence_root
{
Modified: sandbox/SOC/2009/fusion/boost/fusion/support/tag_of.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/support/tag_of.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/support/tag_of.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -30,7 +30,7 @@
typedef typename IdentityT::fusion_tag type;
};
- template <typename T, typename Enable=void>
+ template<typename T, typename Enable=void>
struct tag_of_fallback
{
typedef non_fusion_tag type;
@@ -39,7 +39,7 @@
namespace traits
{
- template <typename T, typename Enable>
+ template<typename T, typename Enable>
struct tag_of
{
typedef typename detail::identity<T>::type identity_t;
Modified: sandbox/SOC/2009/fusion/boost/fusion/support/unused.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/support/unused.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/support/unused.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -15,24 +15,25 @@
# pragma warning(disable: 4522)
#endif
-namespace boost { namespace fusion {
+namespace boost { namespace fusion
+{
struct unused_type
{
unused_type()
{}
- template <typename T>
+ template<typename T>
unused_type(T const&)
{}
- template <typename T>
+ template<typename T>
unused_type const&
operator=(T const&) const
{
return *this;
}
- template <typename T>
+ template<typename T>
unused_type&
operator=(T const&)
{
Modified: sandbox/SOC/2009/fusion/boost/fusion/tuple/tuple.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/tuple/tuple.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/tuple/tuple.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -9,6 +9,7 @@
#ifndef BOOST_FUSION_TUPLE_TUPLE_HPP
#define BOOST_FUSION_TUPLE_TUPLE_HPP
+#include <boost/config.hpp>
#include <boost/fusion/tuple/tuple_fwd.hpp>
#include <boost/fusion/container/vector/vector.hpp>
#include <boost/fusion/sequence/intrinsic/size.hpp>
@@ -24,6 +25,12 @@
namespace boost { namespace fusion
{
+#ifdef BOOST_MSVC
+# pragma warning(push)
+ //'class' : multiple copy constructors specified
+# pragma warning(disable:4521)
+#endif
+
VARIADIC_TEMPLATE(FUSION_MAX_VECTOR_SIZE)
struct tuple
: vector<EXPAND_TEMPLATE_ARGUMENTS(FUSION_MAX_VECTOR_SIZE)>
@@ -33,7 +40,7 @@
base_type;
#define TUPLE_CTOR(MODIFIER,_)\
- template <typename A1, typename A2>\
+ template<typename A1, typename A2>\
tuple(std::pair<A1, A2> MODIFIER pair)\
: base_type(static_cast<std::pair<A1, A2> MODIFIER>(pair))\
{}
@@ -51,17 +58,17 @@
#undef BOOST_FUSION_USE_BASE_TYPE
};
- template <typename Tuple>
+ template<typename Tuple>
struct tuple_size
: result_of::size<Tuple>
{};
- template <int N, typename Tuple>
+ template<int N, typename Tuple>
struct tuple_element
: result_of::value_at_c<Tuple, N>
{};
- template <int N, typename Tuple>
+ template<int N, typename Tuple>
inline typename result_of::at_c<BOOST_FUSION_R_ELSE_CLREF(Tuple), N>::type
get(BOOST_FUSION_R_ELSE_CLREF(Tuple) tuple)
{
@@ -69,7 +76,7 @@
}
#ifdef BOOST_NO_RVALUE_REFERENCES
- template <int N, typename Tuple>
+ template<int N, typename Tuple>
inline BOOST_FUSION_EXPLICIT_TEMPLATE_NON_CONST_ARG_OVERLOAD(
result_of::at_c<,Tuple,&, N>)
get(Tuple& tuple)
@@ -77,6 +84,10 @@
return at_c<N>(tuple);
}
#endif
+
+#ifdef BOOST_MSVC
+# pragma warning(pop)
+#endif
}}
#endif
Modified: sandbox/SOC/2009/fusion/boost/fusion/view/filter_view/detail/begin_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/filter_view/detail/begin_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/filter_view/detail/begin_impl.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -13,18 +13,18 @@
namespace boost { namespace fusion { namespace extension
{
- template <typename>
+ template<typename>
struct begin_impl;
- template <>
+ template<>
struct begin_impl<filter_view_tag>
{
- template <typename Seq>
+ template<typename Seq>
struct apply
{
typedef typename detail::remove_reference<Seq>::type seq;
typedef typename
- detail::forward_as<Seq, typename seq::seq_type>::type
+ detail::forward_as_lref<Seq, typename seq::seq_type>::type
underlying_seq_type;
typedef
Modified: sandbox/SOC/2009/fusion/boost/fusion/view/filter_view/detail/deref_data_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/filter_view/detail/deref_data_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/filter_view/detail/deref_data_impl.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -12,13 +12,13 @@
namespace boost { namespace fusion { namespace extension
{
- template <typename>
+ template<typename>
struct deref_data_impl;
- template <>
+ template<>
struct deref_data_impl<filter_view_iterator_tag>
{
- template <typename It>
+ template<typename It>
struct apply
{
typedef typename
Modified: sandbox/SOC/2009/fusion/boost/fusion/view/filter_view/detail/deref_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/filter_view/detail/deref_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/filter_view/detail/deref_impl.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -12,10 +12,10 @@
namespace boost { namespace fusion { namespace extension
{
- template <typename>
+ template<typename>
struct deref_impl;
- template <>
+ template<>
struct deref_impl<filter_view_iterator_tag>
{
template<typename It>
Modified: sandbox/SOC/2009/fusion/boost/fusion/view/filter_view/detail/end_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/filter_view/detail/end_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/filter_view/detail/end_impl.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -12,18 +12,18 @@
namespace boost { namespace fusion { namespace extension
{
- template <typename>
+ template<typename>
struct end_impl;
- template <>
+ template<>
struct end_impl<filter_view_tag>
{
- template <typename Seq>
+ template<typename Seq>
struct apply
{
typedef typename detail::remove_reference<Seq>::type seq;
typedef typename
- detail::forward_as<Seq, typename seq::seq_type>::type
+ detail::forward_as_lref<Seq, typename seq::seq_type>::type
underlying_seq_type;
typedef
Modified: sandbox/SOC/2009/fusion/boost/fusion/view/filter_view/detail/filter_view_iterator.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/filter_view/detail/filter_view_iterator.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/filter_view/detail/filter_view_iterator.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -23,7 +23,7 @@
{
struct filter_view_iterator_tag;
- template <typename Category,typename Begin, typename End, typename Pred>
+ template<typename Category,typename Begin, typename End, typename Pred>
struct filter_iterator
: iterator_base<filter_iterator<Category, Begin, End, Pred> >
{
Modified: sandbox/SOC/2009/fusion/boost/fusion/view/filter_view/detail/key_of_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/filter_view/detail/key_of_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/filter_view/detail/key_of_impl.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -12,13 +12,13 @@
namespace boost { namespace fusion { namespace extension
{
- template <typename>
+ template<typename>
struct key_of_impl;
- template <>
+ template<>
struct key_of_impl<filter_view_iterator_tag>
{
- template <typename It>
+ template<typename It>
struct apply
: result_of::key_of<
typename detail::remove_reference<It>::type::begin_type
Modified: sandbox/SOC/2009/fusion/boost/fusion/view/filter_view/detail/next_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/filter_view/detail/next_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/filter_view/detail/next_impl.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -12,13 +12,13 @@
namespace boost { namespace fusion { namespace extension
{
- template <typename>
+ template<typename>
struct next_impl;
- template <>
+ template<>
struct next_impl<filter_view_iterator_tag>
{
- template <typename It>
+ template<typename It>
struct apply
{
typedef typename detail::remove_reference<It>::type it;
Modified: sandbox/SOC/2009/fusion/boost/fusion/view/filter_view/detail/size_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/filter_view/detail/size_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/filter_view/detail/size_impl.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -14,13 +14,13 @@
namespace boost { namespace fusion { namespace extension
{
- template <typename>
+ template<typename>
struct size_impl;
- template <>
+ template<>
struct size_impl<filter_view_tag>
{
- template <typename Seq>
+ template<typename Seq>
struct apply
: result_of::distance<
typename result_of::begin<Seq>::type
Modified: sandbox/SOC/2009/fusion/boost/fusion/view/filter_view/detail/value_of_data_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/filter_view/detail/value_of_data_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/filter_view/detail/value_of_data_impl.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -12,13 +12,13 @@
namespace boost { namespace fusion { namespace extension
{
- template <typename>
+ template<typename>
struct value_of_data_impl;
- template <>
+ template<>
struct value_of_data_impl<filter_view_iterator_tag>
{
- template <typename It>
+ template<typename It>
struct apply
: result_of::value_of_data<
typename detail::remove_reference<It>::type::begin_type
Modified: sandbox/SOC/2009/fusion/boost/fusion/view/filter_view/detail/value_of_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/filter_view/detail/value_of_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/filter_view/detail/value_of_impl.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -12,13 +12,13 @@
namespace boost { namespace fusion { namespace extension
{
- template <typename>
+ template<typename>
struct value_of_impl;
- template <>
+ template<>
struct value_of_impl<filter_view_iterator_tag>
{
- template <typename It>
+ template<typename It>
struct apply
: result_of::value_of<
typename detail::remove_reference<It>::type::begin_type
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 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -38,7 +38,7 @@
{
struct fusion_sequence_tag;
- template <typename Seq, typename Pred>
+ template<typename Seq, typename Pred>
struct filter_view
: sequence_base<filter_view<Seq, Pred> >
{
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 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -13,13 +13,13 @@
namespace boost { namespace fusion { namespace extension
{
- template <typename>
+ template<typename>
struct at_impl;
- template <>
+ template<>
struct at_impl<iterator_range_tag>
{
- template <typename Seq, typename N>
+ template<typename Seq, typename N>
struct apply
{
typedef typename
Modified: sandbox/SOC/2009/fusion/boost/fusion/view/iterator_range/detail/begin_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/iterator_range/detail/begin_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/iterator_range/detail/begin_impl.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -10,13 +10,13 @@
namespace boost { namespace fusion { namespace extension
{
- template <typename>
+ template<typename>
struct begin_impl;
- template <>
+ template<>
struct begin_impl<iterator_range_tag>
{
- template <typename Seq>
+ template<typename Seq>
struct apply
{
typedef typename
Modified: sandbox/SOC/2009/fusion/boost/fusion/view/iterator_range/detail/end_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/iterator_range/detail/end_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/iterator_range/detail/end_impl.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -10,13 +10,13 @@
namespace boost { namespace fusion { namespace extension
{
- template <typename>
+ template<typename>
struct end_impl;
- template <>
+ template<>
struct end_impl<iterator_range_tag>
{
- template <typename Seq>
+ template<typename Seq>
struct apply
{
typedef typename
Modified: sandbox/SOC/2009/fusion/boost/fusion/view/iterator_range/detail/value_at_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/iterator_range/detail/value_at_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/iterator_range/detail/value_at_impl.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -13,13 +13,13 @@
namespace boost { namespace fusion { namespace extension
{
- template <typename>
+ template<typename>
struct value_at_impl;
- template <>
+ template<>
struct value_at_impl<iterator_range_tag>
{
- template <typename Seq, typename N>
+ template<typename Seq, typename N>
struct apply
{
typedef typename
Modified: sandbox/SOC/2009/fusion/boost/fusion/view/iterator_range/iterator_range.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/iterator_range/iterator_range.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/iterator_range/iterator_range.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -30,7 +30,7 @@
struct iterator_range_tag;
struct fusion_sequence_tag;
- template <typename Begin, typename End>
+ template<typename Begin, typename End>
struct iterator_range
: sequence_base<iterator_range<Begin, End> >
{
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 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -17,18 +17,18 @@
namespace boost { namespace fusion { namespace extension
{
- template <typename>
+ template<typename>
struct begin_impl;
- template <>
+ template<>
struct begin_impl<joint_view_tag>
{
- template <typename Seq>
+ template<typename Seq>
struct apply
{
typedef typename detail::remove_reference<Seq>::type seq;
typedef typename
- detail::forward_as<Seq, typename seq::seq1_type>::type
+ detail::forward_as_lref<Seq, typename seq::seq1_type>::type
underlying_seq1_type;
typedef typename
result_of::begin<underlying_seq1_type>::type
@@ -38,7 +38,7 @@
end_type;
typedef typename
result_of::begin<
- typename detail::forward_as<
+ typename detail::forward_as_lref<
Seq
, typename seq::seq2_type
>::type
Modified: sandbox/SOC/2009/fusion/boost/fusion/view/joint_view/detail/deref_data_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/joint_view/detail/deref_data_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/joint_view/detail/deref_data_impl.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -12,13 +12,13 @@
namespace boost { namespace fusion { namespace extension
{
- template <typename>
+ template<typename>
struct deref_data_impl;
- template <>
+ template<>
struct deref_data_impl<joint_view_iterator_tag>
{
- template <typename It>
+ template<typename It>
struct apply
{
typedef typename
@@ -35,7 +35,7 @@
};
};
- template <>
+ template<>
struct deref_data_impl<concat_iterator_tag>
: deref_data_impl<joint_view_iterator_tag>
{};
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 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -12,10 +12,10 @@
namespace boost { namespace fusion { namespace extension
{
- template <typename>
+ template<typename>
struct deref_impl;
- template <>
+ template<>
struct deref_impl<joint_view_iterator_tag>
{
template<typename It>
@@ -37,7 +37,7 @@
};
};
- template <>
+ 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 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -15,13 +15,13 @@
namespace boost { namespace fusion { namespace extension
{
- template <typename>
+ template<typename>
struct end_impl;
- template <>
+ template<>
struct end_impl<joint_view_tag>
{
- template <typename Seq>
+ template<typename Seq>
struct apply
{
typedef typename detail::remove_reference<Seq>::type seq;
@@ -30,7 +30,7 @@
concat_iterator<
typename seq::category
, typename result_of::end<
- typename detail::forward_as<
+ typename detail::forward_as_lref<
Seq
, typename seq::seq2_type
>::type
Modified: sandbox/SOC/2009/fusion/boost/fusion/view/joint_view/detail/equal_to_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/joint_view/detail/equal_to_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/joint_view/detail/equal_to_impl.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -52,7 +52,7 @@
};
};
- template <>
+ template<>
struct equal_to_impl<concat_iterator_tag>
: equal_to_impl<joint_view_iterator_tag>
{};
Modified: sandbox/SOC/2009/fusion/boost/fusion/view/joint_view/detail/joint_view_iterator.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/joint_view/detail/joint_view_iterator.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/joint_view/detail/joint_view_iterator.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -16,7 +16,7 @@
struct joint_view_iterator_tag;
struct concat_iterator_tag;
- template <typename Category, typename Begin, typename End, typename Concat>
+ template<typename Category, typename Begin, typename End, typename Concat>
struct joint_view_iterator
: iterator_base<joint_view_iterator<Category, Begin, End, Concat> >
{
@@ -55,7 +55,7 @@
concat_type concat;
};
- template <typename Category, typename Begin>
+ template<typename Category, typename Begin>
struct concat_iterator
: iterator_base<concat_iterator<Category, Begin> >
{
Modified: sandbox/SOC/2009/fusion/boost/fusion/view/joint_view/detail/key_of_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/joint_view/detail/key_of_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/joint_view/detail/key_of_impl.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -12,13 +12,13 @@
namespace boost { namespace fusion { namespace extension
{
- template <typename>
+ template<typename>
struct key_of_impl;
- template <>
+ template<>
struct key_of_impl<joint_view_iterator_tag>
{
- template <typename It>
+ template<typename It>
struct apply
: result_of::key_of<
typename detail::remove_reference<It>::type::begin_type
@@ -26,7 +26,7 @@
{};
};
- template <>
+ template<>
struct key_of_impl<concat_iterator_tag>
: key_of_impl<joint_view_iterator_tag>
{};
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 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -15,13 +15,13 @@
namespace boost { namespace fusion { namespace extension
{
- template <typename>
+ template<typename>
struct next_impl;
- template <>
+ template<>
struct next_impl<joint_view_iterator_tag>
{
- template <typename It>
+ template<typename It>
struct apply
{
typedef typename detail::remove_reference<It>::type it;
@@ -67,10 +67,10 @@
};
};
- template <>
+ template<>
struct next_impl<concat_iterator_tag>
{
- template <typename It>
+ template<typename It>
struct apply
{
typedef typename detail::remove_reference<It>::type it;
Modified: sandbox/SOC/2009/fusion/boost/fusion/view/joint_view/detail/value_of_data_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/joint_view/detail/value_of_data_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/joint_view/detail/value_of_data_impl.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -12,13 +12,13 @@
namespace boost { namespace fusion { namespace extension
{
- template <typename>
+ template<typename>
struct value_of_data_impl;
- template <>
+ template<>
struct value_of_data_impl<joint_view_iterator_tag>
{
- template <typename It>
+ template<typename It>
struct apply
: result_of::value_of_data<
typename detail::remove_reference<It>::type::begin_type
@@ -26,7 +26,7 @@
{};
};
- template <>
+ template<>
struct value_of_data_impl<concat_iterator_tag>
: value_of_data_impl<joint_view_iterator_tag>
{};
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 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -12,13 +12,13 @@
namespace boost { namespace fusion { namespace extension
{
- template <typename>
+ template<typename>
struct value_of_impl;
- template <>
+ template<>
struct value_of_impl<joint_view_iterator_tag>
{
- template <typename It>
+ template<typename It>
struct apply
: result_of::value_of<
typename detail::remove_reference<It>::type::begin_type
@@ -26,7 +26,7 @@
{};
};
- template <>
+ 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 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -42,7 +42,7 @@
struct forward_traversal_tag;
struct fusion_sequence_tag;
- template <typename Seq1, typename Seq2>
+ template<typename Seq1, typename Seq2>
struct joint_view
: sequence_base<joint_view<Seq1, Seq2> >
{
Modified: sandbox/SOC/2009/fusion/boost/fusion/view/nview/detail/next_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/nview/detail/next_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/nview/detail/next_impl.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -13,13 +13,13 @@
namespace boost { namespace fusion { namespace extension
{
- template <typename Tag>
+ template<typename Tag>
struct next_impl;
- template <>
+ template<>
struct next_impl<nview_iterator_tag>
{
- template <typename It>
+ template<typename It>
struct apply
{
typedef typename detail::remove_reference<It>::type it;
Modified: sandbox/SOC/2009/fusion/boost/fusion/view/nview/detail/prior_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/nview/detail/prior_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/nview/detail/prior_impl.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -13,13 +13,13 @@
namespace boost { namespace fusion { namespace extension
{
- template <typename Tag>
+ template<typename Tag>
struct prior_impl;
- template <>
+ template<>
struct prior_impl<nview_iterator_tag>
{
- template <typename It>
+ template<typename It>
struct apply
{
typedef typename detail::remove_reference<It>::type it;
Modified: sandbox/SOC/2009/fusion/boost/fusion/view/nview/nview.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/nview/nview.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/nview/nview.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -32,6 +32,7 @@
#include <boost/mpl/size.hpp>
#include <boost/mpl/bool.hpp>
#include <boost/mpl/vector_c.hpp>
+#include <boost/detail/workaround.hpp>
#include <boost/fusion/view/nview/detail/nview_fwd.hpp>
#include <boost/fusion/view/nview/detail/nview_iterator.hpp>
Modified: sandbox/SOC/2009/fusion/boost/fusion/view/repetitive_view/detail/begin_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/repetitive_view/detail/begin_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/repetitive_view/detail/begin_impl.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -13,20 +13,20 @@
namespace boost { namespace fusion { namespace extension
{
- template <typename>
+ template<typename>
struct begin_impl;
- template <>
+ template<>
struct begin_impl<repetitive_view_tag>
{
- template <typename Seq>
+ template<typename Seq>
struct apply
{
typedef typename detail::remove_reference<Seq>::type seq;
typedef
repetitive_view_iterator<
- typename detail::forward_as<
+ typename detail::forward_as_lref<
Seq
, typename seq::seq_type
>::type
Modified: sandbox/SOC/2009/fusion/boost/fusion/view/repetitive_view/detail/deref_data_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/repetitive_view/detail/deref_data_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/repetitive_view/detail/deref_data_impl.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -12,13 +12,13 @@
namespace boost { namespace fusion { namespace extension
{
- template <typename>
+ template<typename>
struct deref_data_impl;
- template <>
+ template<>
struct deref_data_impl<repetitive_view_iterator_tag>
{
- template <typename It>
+ template<typename It>
struct apply
{
typedef typename
Modified: sandbox/SOC/2009/fusion/boost/fusion/view/repetitive_view/detail/deref_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/repetitive_view/detail/deref_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/repetitive_view/detail/deref_impl.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -14,13 +14,13 @@
namespace boost { namespace fusion { namespace extension
{
- template <typename>
+ template<typename>
struct deref_impl;
- template <>
+ template<>
struct deref_impl<repetitive_view_iterator_tag>
{
- template <typename It>
+ template<typename It>
struct apply
{
typedef typename
Modified: sandbox/SOC/2009/fusion/boost/fusion/view/repetitive_view/detail/end_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/repetitive_view/detail/end_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/repetitive_view/detail/end_impl.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -72,13 +72,13 @@
namespace extension
{
- template <typename>
+ template<typename>
struct end_impl;
- template <>
+ template<>
struct end_impl<repetitive_view_tag>
{
- template <typename Seq>
+ template<typename Seq>
struct apply
{
typedef typename detail::remove_reference<Seq>::type seq;
@@ -91,7 +91,7 @@
typedef
repetitive_view_iterator<
- typename detail::forward_as<
+ typename detail::forward_as_lref<
Seq
, typename seq::seq_type
>::type
Modified: sandbox/SOC/2009/fusion/boost/fusion/view/repetitive_view/detail/key_of_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/repetitive_view/detail/key_of_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/repetitive_view/detail/key_of_impl.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -12,13 +12,13 @@
namespace boost { namespace fusion { namespace extension
{
- template <typename>
+ template<typename>
struct key_of_impl;
- template <>
+ template<>
struct key_of_impl<repetitive_view_iterator_tag>
{
- template <typename It>
+ template<typename It>
struct apply
: result_of::key_of<
typename detail::remove_reference<It>::type::it_type
Modified: sandbox/SOC/2009/fusion/boost/fusion/view/repetitive_view/detail/next_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/repetitive_view/detail/next_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/repetitive_view/detail/next_impl.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -22,10 +22,10 @@
namespace boost { namespace fusion { namespace extension
{
- template <>
+ template<>
struct next_impl<repetitive_view_iterator_tag>
{
- template <typename It>
+ template<typename It>
struct apply
{
typedef typename detail::remove_reference<It>::type it;
Modified: sandbox/SOC/2009/fusion/boost/fusion/view/repetitive_view/detail/prior_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/repetitive_view/detail/prior_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/repetitive_view/detail/prior_impl.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -19,10 +19,10 @@
namespace boost { namespace fusion { namespace extension
{
- template <>
+ template<>
struct prior_impl<repetitive_view_iterator_tag>
{
- template <typename It>
+ template<typename It>
struct apply
{
typedef typename detail::remove_reference<It>::type it;
Modified: sandbox/SOC/2009/fusion/boost/fusion/view/repetitive_view/detail/value_of_data_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/repetitive_view/detail/value_of_data_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/repetitive_view/detail/value_of_data_impl.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -12,13 +12,13 @@
namespace boost { namespace fusion { namespace extension
{
- template <typename>
+ template<typename>
struct value_of_data_impl;
- template <>
+ template<>
struct value_of_data_impl<repetitive_view_iterator_tag>
{
- template <typename It>
+ template<typename It>
struct apply
: result_of::value_of_data<
typename detail::remove_reference<It>::type::it_type
Modified: sandbox/SOC/2009/fusion/boost/fusion/view/repetitive_view/detail/value_of_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/repetitive_view/detail/value_of_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/repetitive_view/detail/value_of_impl.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -14,13 +14,13 @@
namespace boost { namespace fusion { namespace extension
{
- template <typename>
+ template<typename>
struct value_of_impl;
- template <>
+ template<>
struct value_of_impl<repetitive_view_iterator_tag>
{
- template <typename It>
+ template<typename It>
struct apply
{
typedef typename
Modified: sandbox/SOC/2009/fusion/boost/fusion/view/repetitive_view/repetitive_view.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/repetitive_view/repetitive_view.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/repetitive_view/repetitive_view.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -19,6 +19,7 @@
#include <boost/fusion/support/internal/assert.hpp>
#include <boost/fusion/view/detail/view_storage.hpp>
+#include <boost/detail/workaround.hpp>
#include <boost/mpl/bool.hpp>
#include <boost/mpl/int.hpp>
#include <boost/integer_traits.hpp>
Modified: sandbox/SOC/2009/fusion/boost/fusion/view/reverse_view/detail/at_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/reverse_view/detail/at_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/reverse_view/detail/at_impl.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -14,13 +14,13 @@
namespace boost { namespace fusion { namespace extension
{
- template <typename>
+ template<typename>
struct at_impl;
- template <>
+ template<>
struct at_impl<reverse_view_tag>
{
- template <typename Seq, typename N>
+ template<typename Seq, typename N>
struct apply
{
typedef typename detail::remove_reference<Seq>::type seq;
@@ -28,7 +28,7 @@
typedef typename
result_of::at<
- typename detail::forward_as<
+ typename detail::forward_as_lref<
Seq
, typename seq::seq_type
>::type
Modified: sandbox/SOC/2009/fusion/boost/fusion/view/reverse_view/detail/begin_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/reverse_view/detail/begin_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/reverse_view/detail/begin_impl.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -12,13 +12,13 @@
namespace boost { namespace fusion { namespace extension
{
- template <typename>
+ template<typename>
struct begin_impl;
- template <>
+ template<>
struct begin_impl<reverse_view_tag>
{
- template <typename Seq>
+ template<typename Seq>
struct apply
{
typedef
@@ -27,7 +27,7 @@
#ifdef BOOST_FUSION_REVERSE_VIEW_USE_FORWARD_AS_GCC_HELPER
typename detail::reverse_view_forward_as_gcc_helper<
#else
- typename detail::forward_as<
+ typename detail::forward_as_lref<
#endif
Seq
, typename detail::remove_reference<
Modified: sandbox/SOC/2009/fusion/boost/fusion/view/reverse_view/detail/deref_data_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/reverse_view/detail/deref_data_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/reverse_view/detail/deref_data_impl.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -12,13 +12,13 @@
namespace boost { namespace fusion { namespace extension
{
- template <typename>
+ template<typename>
struct deref_data_impl;
- template <>
+ template<>
struct deref_data_impl<reverse_view_iterator_tag>
{
- template <typename It>
+ template<typename It>
struct apply
{
typedef typename
Modified: sandbox/SOC/2009/fusion/boost/fusion/view/reverse_view/detail/deref_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/reverse_view/detail/deref_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/reverse_view/detail/deref_impl.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -13,13 +13,13 @@
namespace boost { namespace fusion { namespace extension
{
- template <typename>
+ template<typename>
struct deref_impl;
- template <>
+ template<>
struct deref_impl<reverse_view_iterator_tag>
{
- template <typename It>
+ template<typename It>
struct apply
{
typedef typename
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 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -12,13 +12,13 @@
namespace boost { namespace fusion { namespace extension
{
- template <typename>
+ template<typename>
struct end_impl;
- template <>
+ template<>
struct end_impl<reverse_view_tag>
{
- template <typename Seq>
+ template<typename Seq>
struct apply
{
typedef
@@ -27,7 +27,7 @@
#ifdef BOOST_FUSION_REVERSE_VIEW_USE_FORWARD_AS_GCC_HELPER
typename detail::reverse_view_forward_as_gcc_helper<
#else
- typename detail::forward_as<
+ typename detail::forward_as_lref<
#endif
Seq
, typename detail::remove_reference<
Modified: sandbox/SOC/2009/fusion/boost/fusion/view/reverse_view/detail/key_of_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/reverse_view/detail/key_of_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/reverse_view/detail/key_of_impl.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -12,13 +12,13 @@
namespace boost { namespace fusion { namespace extension
{
- template <typename>
+ template<typename>
struct key_of_impl;
- template <>
+ template<>
struct key_of_impl<reverse_view_iterator_tag>
{
- template <typename It>
+ template<typename It>
struct apply
: result_of::key_of<
typename detail::remove_reference<It>::type::it_type
Modified: sandbox/SOC/2009/fusion/boost/fusion/view/reverse_view/detail/next_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/reverse_view/detail/next_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/reverse_view/detail/next_impl.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -12,10 +12,10 @@
namespace boost { namespace fusion { namespace extension
{
- template <>
+ template<>
struct next_impl<reverse_view_iterator_tag>
{
- template <typename It>
+ template<typename It>
struct apply
{
typedef
Modified: sandbox/SOC/2009/fusion/boost/fusion/view/reverse_view/detail/prior_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/reverse_view/detail/prior_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/reverse_view/detail/prior_impl.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -12,10 +12,10 @@
namespace boost { namespace fusion { namespace extension
{
- template <>
+ template<>
struct prior_impl<reverse_view_iterator_tag>
{
- template <typename It>
+ template<typename It>
struct apply
{
typedef
Modified: sandbox/SOC/2009/fusion/boost/fusion/view/reverse_view/detail/reverse_view_fwd.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/reverse_view/detail/reverse_view_fwd.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/reverse_view/detail/reverse_view_fwd.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -8,7 +8,7 @@
#ifndef BOOST_FUSION_VIEW_REVERSE_VIEW_DETAIL_REVERSE_VIEW_FWD_HPP
#define BOOST_FUSION_VIEW_REVERSE_VIEW_DETAIL_REVERSE_VIEW_FWD_HPP
-#include <boost/config.hpp>
+#include <boost/detail/workaround.hpp>
#include <boost/fusion/support/internal/ref.hpp>
namespace boost { namespace fusion
@@ -16,7 +16,8 @@
namespace detail
{
//cschmidt: There is a nasty bug in gcc 4.5.0 which causes segfaults
- //when compiling forward_as in begin_impl and end_impl of reverse_view.
+ //when compiling forward_as_lref in begin_impl and end_impl of
+ //reverse_view.
//Using this thin wrapper seems to workaround the problem.
#if BOOST_WORKAROUND(__GNUC__,==4)&& \
BOOST_WORKAROUND(__GNUC_MINOR__,==5)
@@ -25,9 +26,9 @@
# if __GNUC_PATCHLEVEL__==0
# define BOOST_FUSION_REVERSE_VIEW_USE_FORWARD_AS_GCC_HELPER
- template <typename TestType,typename Type>
+ template<typename TestType,typename Type>
struct reverse_view_forward_as_gcc_helper
- : forward_as<TestType, Type>
+ : forward_as_lref<TestType, Type>
{};
# endif
#endif
Modified: sandbox/SOC/2009/fusion/boost/fusion/view/reverse_view/detail/reverse_view_iterator.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/reverse_view/detail/reverse_view_iterator.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/reverse_view/detail/reverse_view_iterator.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -15,7 +15,7 @@
{
struct reverse_view_iterator_tag;
- template <typename It>
+ template<typename It>
struct reverse_view_iterator
: iterator_base<reverse_view_iterator<It> >
{
Modified: sandbox/SOC/2009/fusion/boost/fusion/view/reverse_view/detail/value_at_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/reverse_view/detail/value_at_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/reverse_view/detail/value_at_impl.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -14,13 +14,13 @@
namespace boost { namespace fusion { namespace extension
{
- template <typename>
+ template<typename>
struct value_at_impl;
- template <>
+ template<>
struct value_at_impl<reverse_view_tag>
{
- template <typename Seq, typename N>
+ template<typename Seq, typename N>
struct apply
{
typedef typename detail::remove_reference<Seq>::type seq;
Modified: sandbox/SOC/2009/fusion/boost/fusion/view/reverse_view/detail/value_of_data_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/reverse_view/detail/value_of_data_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/reverse_view/detail/value_of_data_impl.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -12,13 +12,13 @@
namespace boost { namespace fusion { namespace extension
{
- template <typename>
+ template<typename>
struct value_of_data_impl;
- template <>
+ template<>
struct value_of_data_impl<reverse_view_iterator_tag>
{
- template <typename It>
+ template<typename It>
struct apply
: result_of::value_of_data<
typename detail::remove_reference<It>::type::it_type
Modified: sandbox/SOC/2009/fusion/boost/fusion/view/reverse_view/detail/value_of_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/reverse_view/detail/value_of_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/reverse_view/detail/value_of_impl.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -13,13 +13,13 @@
namespace boost { namespace fusion { namespace extension
{
- template <typename>
+ template<typename>
struct value_of_impl;
- template <>
+ template<>
struct value_of_impl<reverse_view_iterator_tag>
{
- template <typename It>
+ template<typename It>
struct apply
{
typedef typename
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 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -42,7 +42,7 @@
{
struct fusion_sequence_tag;
- template <typename Seq>
+ template<typename Seq>
struct reverse_view
: sequence_base<reverse_view<Seq> >
{
Modified: sandbox/SOC/2009/fusion/boost/fusion/view/single_view/detail/at_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/single_view/detail/at_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/single_view/detail/at_impl.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -20,7 +20,7 @@
struct apply
{
typedef typename
- detail::forward_as<
+ detail::forward_as_lref<
Seq
, typename detail::remove_reference<Seq>::type::value_type
>::type
Modified: sandbox/SOC/2009/fusion/boost/fusion/view/single_view/detail/begin_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/single_view/detail/begin_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/single_view/detail/begin_impl.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -10,13 +10,13 @@
namespace boost { namespace fusion { namespace extension
{
- template <typename>
+ template<typename>
struct begin_impl;
- template <>
+ template<>
struct begin_impl<single_view_tag>
{
- template <typename Seq>
+ template<typename Seq>
struct apply
{
typedef typename detail::remove_reference<Seq>::type seq;
@@ -24,7 +24,7 @@
typedef
single_view_iterator<
typename seq::value_type
- , typename detail::forward_as<
+ , typename detail::forward_as_lref<
Seq
, typename seq::value_type
>::type
Modified: sandbox/SOC/2009/fusion/boost/fusion/view/single_view/detail/deref_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/single_view/detail/deref_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/single_view/detail/deref_impl.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -12,13 +12,13 @@
namespace boost { namespace fusion { namespace extension
{
- template <typename>
+ template<typename>
struct deref_impl;
- template <>
+ template<>
struct deref_impl<single_view_iterator_tag>
{
- template <typename It>
+ template<typename It>
struct apply
{
typedef typename
Modified: sandbox/SOC/2009/fusion/boost/fusion/view/single_view/detail/end_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/single_view/detail/end_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/single_view/detail/end_impl.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -10,13 +10,13 @@
namespace boost { namespace fusion { namespace extension
{
- template <typename>
+ template<typename>
struct end_impl;
- template <>
+ template<>
struct end_impl<single_view_tag>
{
- template <typename Seq>
+ template<typename Seq>
struct apply
{
typedef typename detail::remove_reference<Seq>::type seq;
@@ -24,7 +24,7 @@
typedef
single_view_iterator<
typename seq::value_type
- , typename detail::forward_as<
+ , typename detail::forward_as_lref<
Seq
, typename seq::value_type
>::type
Modified: sandbox/SOC/2009/fusion/boost/fusion/view/single_view/detail/next_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/single_view/detail/next_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/single_view/detail/next_impl.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -11,13 +11,13 @@
namespace boost { namespace fusion { namespace extension
{
- template <typename>
+ template<typename>
struct next_impl;
- template <>
+ template<>
struct next_impl<single_view_iterator_tag>
{
- template <typename It>
+ template<typename It>
struct apply
{
typedef typename detail::remove_reference<It>::type it;
Modified: sandbox/SOC/2009/fusion/boost/fusion/view/single_view/detail/prior_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/single_view/detail/prior_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/single_view/detail/prior_impl.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -10,13 +10,13 @@
namespace boost { namespace fusion { namespace extension
{
- template <typename>
+ template<typename>
struct prior_impl;
- template <>
+ template<>
struct prior_impl<single_view_iterator_tag>
{
- template <typename It>
+ template<typename It>
struct apply
{
typedef typename detail::remove_reference<It>::type it;
Modified: sandbox/SOC/2009/fusion/boost/fusion/view/single_view/detail/value_of_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/single_view/detail/value_of_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/single_view/detail/value_of_impl.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -10,13 +10,13 @@
namespace boost { namespace fusion { namespace extension
{
- template <typename>
+ template<typename>
struct value_of_impl;
- template <>
+ template<>
struct value_of_impl<single_view_iterator_tag>
{
- template <typename It>
+ template<typename It>
struct apply
{
typedef
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 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -9,6 +9,7 @@
#ifndef BOOST_FUSION_VIEW_SINGLE_VIEW_SINGLE_VIEW_HPP
#define BOOST_FUSION_VIEW_SINGLE_VIEW_SINGLE_VIEW_HPP
+#include <boost/config.hpp>
#ifdef BOOST_FUSION_ENABLE_STATIC_ASSERTS
# include <boost/fusion/sequence/intrinsic/size.hpp>
#endif
@@ -20,6 +21,7 @@
#include <boost/fusion/support/internal/sequence_assign.hpp>
#include <boost/fusion/support/internal/is_explicitly_convertible.hpp>
+#include <boost/detail/workaround.hpp>
#include <boost/mpl/bool.hpp>
#include <boost/mpl/int.hpp>
#ifdef BOOST_NO_RVALUE_REFERENCES
@@ -45,7 +47,13 @@
struct single_view_tag;
struct fusion_sequence_tag;
- template <typename T>
+#ifdef BOOST_MSVC
+# pragma warning(push)
+ //'class' : multiple copy constructors specified
+# pragma warning(disable:4521)
+#endif
+
+ template<typename T>
struct single_view
: sequence_base<single_view<T> >
{
@@ -173,7 +181,7 @@
};
};
- template <typename T>
+ template<typename T>
inline typename
result_of::make_single_view<BOOST_FUSION_R_ELSE_CLREF(T)>::type
make_single_view(BOOST_FUSION_R_ELSE_CLREF(T) val)
@@ -184,7 +192,7 @@
}
#ifdef BOOST_NO_RVALUE_REFERENCES
- template <typename T, typename Seq>
+ template<typename T, typename Seq>
//cschmidt: see https://svn.boost.org/trac/boost/ticket/3305
# if defined(BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS) || BOOST_WORKAROUND(__GNUC__,<4)
typename lazy_disable_if<
@@ -199,6 +207,10 @@
return typename result_of::make_single_view<T&>::type(val);
}
#endif
+
+#ifdef BOOST_MSVC
+# pragma warning(pop)
+#endif
}}
#endif
Modified: sandbox/SOC/2009/fusion/boost/fusion/view/transform_view/detail/begin_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/transform_view/detail/begin_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/transform_view/detail/begin_impl.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -13,21 +13,21 @@
namespace boost { namespace fusion { namespace extension
{
- template <typename>
+ template<typename>
struct begin_impl;
// Unary Version
- template <>
+ template<>
struct begin_impl<transform_view_tag>
{
- template <typename Seq>
+ template<typename Seq>
struct apply
{
typedef typename
detail::remove_reference<Seq>::type
seq;
typedef typename
- detail::forward_as<
+ detail::forward_as_lref<
Seq
, typename seq::transform_type
>::type
@@ -36,12 +36,12 @@
typedef
transform_view_iterator<
typename result_of::begin<
- typename detail::forward_as<
+ typename detail::forward_as_lref<
Seq
, typename seq::seq_type
>::type
>::type
- , typename detail::forward_as<
+ , typename detail::forward_as_lref<
Seq
, typename seq::transform_type
>::type
@@ -60,15 +60,15 @@
};
// Binary Version
- template <>
+ template<>
struct begin_impl<transform_view2_tag>
{
- template <typename Seq>
+ template<typename Seq>
struct apply
{
typedef typename detail::remove_reference<Seq>::type seq;
typedef typename
- detail::forward_as<
+ detail::forward_as_lref<
Seq
, typename seq::transform_type
>::type
@@ -77,13 +77,13 @@
typedef
transform_view_iterator2<
typename result_of::begin<
- typename detail::forward_as<
+ typename detail::forward_as_lref<
Seq
, typename seq::seq1_type
>::type
>::type
, typename result_of::begin<
- typename detail::forward_as<
+ typename detail::forward_as_lref<
Seq
, typename seq::seq2_type
>::type
Modified: sandbox/SOC/2009/fusion/boost/fusion/view/transform_view/detail/deref_data_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/transform_view/detail/deref_data_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/transform_view/detail/deref_data_impl.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -13,14 +13,14 @@
namespace boost { namespace fusion { namespace extension
{
- template <typename>
+ template<typename>
struct deref_data_impl;
// Unary Version
- template <>
+ template<>
struct deref_data_impl<transform_view_iterator_tag>
{
- template <typename It>
+ template<typename It>
struct apply
{
typedef typename detail::remove_reference<It>::type it;
@@ -51,10 +51,10 @@
};
// Binary Version
- template <>
+ template<>
struct deref_data_impl<transform_view_iterator2_tag>
{
- template <typename It>
+ template<typename It>
struct apply
{
typedef typename detail::remove_reference<It>::type it;
Modified: sandbox/SOC/2009/fusion/boost/fusion/view/transform_view/detail/deref_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/transform_view/detail/deref_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/transform_view/detail/deref_impl.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -13,14 +13,14 @@
namespace boost { namespace fusion { namespace extension
{
- template <typename>
+ template<typename>
struct deref_impl;
// Unary Version
- template <>
+ template<>
struct deref_impl<transform_view_iterator_tag>
{
- template <typename It>
+ template<typename It>
struct apply
{
typedef typename detail::remove_reference<It>::type it;
@@ -43,10 +43,10 @@
};
// Binary Version
- template <>
+ template<>
struct deref_impl<transform_view_iterator2_tag>
{
- template <typename It>
+ template<typename It>
struct apply
{
typedef typename detail::remove_reference<It>::type it;
Modified: sandbox/SOC/2009/fusion/boost/fusion/view/transform_view/detail/end_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/transform_view/detail/end_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/transform_view/detail/end_impl.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -13,19 +13,19 @@
namespace boost { namespace fusion { namespace extension
{
- template <typename>
+ template<typename>
struct end_impl;
// Unary Version
- template <>
+ template<>
struct end_impl<transform_view_tag>
{
- template <typename Seq>
+ template<typename Seq>
struct apply
{
typedef typename detail::remove_reference<Seq>::type seq;
typedef typename
- detail::forward_as<
+ detail::forward_as_lref<
Seq
, typename seq::transform_type
>::type
@@ -34,7 +34,7 @@
typedef
transform_view_iterator<
typename result_of::end<
- typename detail::forward_as<
+ typename detail::forward_as_lref<
Seq
, typename seq::seq_type
>::type
@@ -55,15 +55,15 @@
};
// Binary Version
- template <>
+ template<>
struct end_impl<transform_view2_tag>
{
- template <typename Seq>
+ template<typename Seq>
struct apply
{
typedef typename detail::remove_reference<Seq>::type seq;
typedef typename
- detail::forward_as<
+ detail::forward_as_lref<
Seq
, typename seq::transform_type
>::type
@@ -72,13 +72,13 @@
typedef
transform_view_iterator2<
typename result_of::end<
- typename detail::forward_as<
+ typename detail::forward_as_lref<
Seq
, typename seq::seq1_type
>::type
>::type
, typename result_of::end<
- typename detail::forward_as<
+ typename detail::forward_as_lref<
Seq
, typename seq::seq2_type
>::type
Modified: sandbox/SOC/2009/fusion/boost/fusion/view/transform_view/detail/key_of_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/transform_view/detail/key_of_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/transform_view/detail/key_of_impl.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -10,13 +10,13 @@
namespace boost { namespace fusion { namespace extension
{
- template <typename>
+ template<typename>
struct key_of_impl;
- template <>
+ template<>
struct key_of_impl<transform_view_iterator_tag>
{
- template <typename It>
+ template<typename It>
struct apply
{
typedef typename
@@ -26,10 +26,10 @@
};
};
- template <>
+ template<>
struct key_of_impl<transform_view_iterator2_tag>
{
- template <typename It>
+ template<typename It>
struct apply
{
typedef typename
Modified: sandbox/SOC/2009/fusion/boost/fusion/view/transform_view/detail/next_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/transform_view/detail/next_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/transform_view/detail/next_impl.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -12,14 +12,14 @@
namespace boost { namespace fusion { namespace extension
{
- template <typename>
+ template<typename>
struct next_impl;
// Unary Version
- template <>
+ template<>
struct next_impl<transform_view_iterator_tag>
{
- template <typename It>
+ template<typename It>
struct apply
{
typedef typename detail::remove_reference<It>::type it;
@@ -45,10 +45,10 @@
};
// Binary Version
- template <>
+ template<>
struct next_impl<transform_view_iterator2_tag>
{
- template <typename It>
+ template<typename It>
struct apply
{
typedef typename detail::remove_reference<It>::type it;
Modified: sandbox/SOC/2009/fusion/boost/fusion/view/transform_view/detail/transform_view_iterator.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/transform_view/detail/transform_view_iterator.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/transform_view/detail/transform_view_iterator.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -18,7 +18,7 @@
// Unary Version
struct transform_view_iterator_tag;
- template <typename It, typename FRef, typename IsAssociative>
+ template<typename It, typename FRef, typename IsAssociative>
struct transform_view_iterator
: iterator_base<transform_view_iterator<It, FRef, IsAssociative> >
{
@@ -77,7 +77,7 @@
// Binary Version
struct transform_view_iterator2_tag;
- template <typename It1, typename It2, typename FRef, typename IsAssociative>
+ template<typename It1, typename It2, typename FRef, typename IsAssociative>
struct transform_view_iterator2
: iterator_base<transform_view_iterator2<It1, It2, FRef, IsAssociative> >
{
Modified: sandbox/SOC/2009/fusion/boost/fusion/view/transform_view/detail/value_of_data_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/transform_view/detail/value_of_data_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/transform_view/detail/value_of_data_impl.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -10,13 +10,13 @@
namespace boost { namespace fusion { namespace extension
{
- template <typename>
+ template<typename>
struct value_of_data_impl;
- template <>
+ template<>
struct value_of_data_impl<transform_view_iterator_tag>
{
- template <typename It>
+ template<typename It>
struct apply
{
typedef typename
@@ -26,10 +26,10 @@
};
};
- template <>
+ template<>
struct value_of_data_impl<transform_view_iterator2_tag>
{
- template <typename It>
+ template<typename It>
struct apply
{
typedef typename
Modified: sandbox/SOC/2009/fusion/boost/fusion/view/transform_view/detail/value_of_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/transform_view/detail/value_of_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/transform_view/detail/value_of_impl.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -13,14 +13,14 @@
namespace boost { namespace fusion { namespace extension
{
- template <typename>
+ template<typename>
struct value_of_impl;
// Unary Version
- template <>
+ template<>
struct value_of_impl<transform_view_iterator_tag>
{
- template <typename It>
+ template<typename It>
struct apply
{
typedef typename detail::remove_reference<It>::type it;
@@ -37,10 +37,10 @@
};
// Binary Version
- template <>
+ template<>
struct value_of_impl<transform_view_iterator2_tag>
{
- template <typename It>
+ template<typename It>
struct apply
{
typedef typename detail::remove_reference<It>::type it;
Modified: sandbox/SOC/2009/fusion/boost/fusion/view/zip_view/detail/begin_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/zip_view/detail/begin_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/zip_view/detail/begin_impl.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -13,10 +13,6 @@
#include <boost/fusion/algorithm/transformation/transform.hpp>
#include <boost/fusion/support/unused.hpp>
-#include <boost/mpl/eval_if.hpp>
-#include <boost/mpl/identity.hpp>
-#include <boost/type_traits/is_same.hpp>
-
namespace boost { namespace fusion
{
namespace detail
@@ -28,13 +24,15 @@
template<typename Self, typename SeqRef>
struct result<Self(SeqRef)>
- : mpl::eval_if<
- is_same<SeqRef, unused_type const&>
- , mpl::identity<unused_type const&>
- , result_of::begin<SeqRef>
- >
+ : result_of::begin<SeqRef>
{};
+ template<typename Self>
+ struct result<Self(unused_type const&)>
+ {
+ typedef unused_type const& type;
+ };
+
template<typename Seq>
typename result<poly_begin(BOOST_FUSION_R_ELSE_LREF(Seq))>::type
operator()(BOOST_FUSION_R_ELSE_LREF(Seq) seq) const
Modified: sandbox/SOC/2009/fusion/boost/fusion/view/zip_view/detail/end_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/zip_view/detail/end_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/zip_view/detail/end_impl.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -88,11 +88,11 @@
call(Seq seq)
{
return type(
- fusion::transform(
- seq.seqs,
- detail::endpoints<typename seq::size>()
- ),
- 0);
+ fusion::transform(
+ seq.seqs,
+ detail::endpoints<typename seq::size>()
+ ),
+ 0);
}
};
};
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 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -135,7 +135,7 @@
template<typename Seqs>
struct zip_view
- : sequence_base< zip_view<Seqs> >
+ : sequence_base<zip_view<Seqs> >
{
BOOST_FUSION_MPL_ASSERT((traits::is_sequence<Seqs>));
BOOST_FUSION_MPL_ASSERT((traits::is_forward<Seqs>));
Modified: sandbox/SOC/2009/fusion/libs/fusion/example/cookbook/do_the_bind.cpp
==============================================================================
--- sandbox/SOC/2009/fusion/libs/fusion/example/cookbook/do_the_bind.cpp (original)
+++ sandbox/SOC/2009/fusion/libs/fusion/example/cookbook/do_the_bind.cpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -60,14 +60,14 @@
// Placeholders (we inherit from mpl::int_, so we can use placeholders
// as indices for fusion::at, later)
- template <int I> struct placeholder : mpl::int_<I> { };
+ template<int I> struct placeholder : mpl::int_<I> { };
// A traits class to find out whether T is a placeholeder
- template <typename T> struct is_placeholder : mpl::false_ { };
- template <int I> struct is_placeholder< placeholder<I> > : mpl::true_ { };
- template <int I> struct is_placeholder< placeholder<I> & > : mpl::true_ { };
- template <int I> struct is_placeholder< placeholder<I> const > : mpl::true_ { };
- template <int I> struct is_placeholder< placeholder<I> const & > : mpl::true_ { };
+ template<typename T> struct is_placeholder : mpl::false_ { };
+ template<int I> struct is_placeholder< placeholder<I> > : mpl::true_ { };
+ template<int I> struct is_placeholder< placeholder<I> & > : mpl::true_ { };
+ template<int I> struct is_placeholder< placeholder<I> const > : mpl::true_ { };
+ template<int I> struct is_placeholder< placeholder<I> const & > : mpl::true_ { };
// This class template provides a Polymorphic Function Object to be used
// with fusion::transform. It is applied to the sequence of arguments that
@@ -83,22 +83,22 @@
{ }
// A placeholder? Replace it with an argument from the final call...
- template <int Index>
+ template<int Index>
inline typename result_of::at_c<FinalArgs const, Index>::type
operator()(placeholder<Index> const &) const
{
return fusion::at_c<Index>(this->ref_final_args);
}
// ...just return the bound argument, otherwise.
- template <typename T> inline T & operator()(T & bound) const
+ template<typename T> inline T & operator()(T & bound) const
{
return bound;
}
- template <typename Signature>
+ template<typename Signature>
struct result;
- template <class Self, typename T>
+ template<class Self, typename T>
struct result< Self (T) >
: mpl::eval_if< is_placeholder<T>,
result_of::at<FinalArgs,typename boost::remove_reference<T>::type>,
@@ -109,7 +109,7 @@
// Fused implementation of the bound function, the function object
// returned by bind
- template <class BindArgs> class fused_bound_function
+ template<class BindArgs> class fused_bound_function
{
// Transform arguments to be held by value
typedef typename traits::deduce_sequence<BindArgs>::type bound_args;
@@ -121,10 +121,10 @@
: fsq_bind_args(bind_args)
{ }
- template <typename Signature>
+ template<typename Signature>
struct result;
- template <class FinalArgs>
+ template<class FinalArgs>
struct result_impl
: result_of::invoke< typename result_of::front<bound_args>::type,
typename result_of::transform<
@@ -134,12 +134,12 @@
>
{ };
- template <class Self, class FinalArgs>
+ template<class Self, class FinalArgs>
struct result< Self (FinalArgs) >
: result_impl< typename boost::remove_reference<FinalArgs>::type >
{ };
- template <class FinalArgs>
+ template<class FinalArgs>
inline typename result_impl<FinalArgs>::type
operator()(FinalArgs const & final_args) const
{
@@ -156,16 +156,16 @@
{
struct fold_op
{
- template <typename Sig> struct result;
- template <class S, class A, class B> struct result< S(A &,B &) >
+ template<typename Sig> struct result;
+ template<class S, class A, class B> struct result< S(A &,B &) >
: mpl::max<A,B> { };
};
struct filter_pred
{
- template <class X> struct apply : is_placeholder<X> { };
+ template<class X> struct apply : is_placeholder<X> { };
};
- template <typename Seq>
+ template<typename Seq>
struct apply
: mpl::next< typename result_of::fold<
fusion::filter_view<Seq,filter_pred>, mpl::int_<-1>, fold_op
@@ -176,10 +176,10 @@
// Fused implementation of the 'bind' function
struct fused_binder
{
- template <class Signature>
+ template<class Signature>
struct result;
- template <class BindArgs,
+ template<class BindArgs,
int Placeholders = n_placeholders::apply<BindArgs>::value>
struct result_impl
{
@@ -187,12 +187,12 @@
fused_bound_function<BindArgs>,!Placeholders>,Placeholders> type;
};
- template <class Self, class BindArgs>
+ template<class Self, class BindArgs>
struct result< Self (BindArgs) >
: result_impl< typename boost::remove_reference<BindArgs>::type >
{ };
- template <class BindArgs>
+ template<class BindArgs>
inline typename result_impl< BindArgs >::type
operator()(BindArgs & bind_args) const
{
@@ -230,7 +230,7 @@
return 0;
}
- template <typename A>
+ template<typename A>
inline int operator()(A const & a) const
{
std::cout << "operator()(A const & a)" << std::endl;
@@ -238,7 +238,7 @@
return 1;
}
- template <typename A, typename B>
+ template<typename A, typename B>
inline int operator()(A const & a, B & b) const
{
std::cout << "operator()(A const & a, B & b)" << std::endl;
Modified: sandbox/SOC/2009/fusion/libs/fusion/example/extension/vtuple/tuple142plus.cpp
==============================================================================
--- sandbox/SOC/2009/fusion/libs/fusion/example/extension/vtuple/tuple142plus.cpp (original)
+++ sandbox/SOC/2009/fusion/libs/fusion/example/extension/vtuple/tuple142plus.cpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -61,20 +61,20 @@
{
// Test for tuple index size too large.
-template <typename Sq, int N>
+template<typename Sq, int N>
struct VARIADIC_TUPLE_INDEX_TOO_LARGE
: boost::mpl::greater_equal<boost::mpl::int_<N>,boost::mpl::int_<
std::tuple_size<typename Sq::base_type>::value> >
{};
// Test for tuple index size too small.
-template <typename Sq, int N>
+template<typename Sq, int N>
struct VARIADIC_TUPLE_INDEX_TOO_SMALL
: boost::mpl::less<boost::mpl::int_<N>,boost::mpl::int_<0> >
{};
// This has been added for the member functions defined below.
-template <typename Sq, int N>
+template<typename Sq, int N>
struct VARIADIC_TUPLE_RETURN_TYPE_N : boost::mpl::if_<
VARIADIC_TUPLE_INDEX_TOO_LARGE<Sq,N>,
boost::mpl::void_,
@@ -84,7 +84,7 @@
// This has been added for the member functions defined below.
// This does not have the checks for type in at the moment.
// It defines a member type internally instead of by inheritance.
-template <typename Sq, typename Key, typename Key_Sq>
+template<typename Sq, typename Key, typename Key_Sq>
struct VARIADIC_TUPLE_RETURN_TYPE_KEY
{
typedef typename std::tuple_element<
@@ -161,7 +161,7 @@
: deref<It>
{};
- template <typename SeqRef_, int N>
+ template<typename SeqRef_, int N>
struct deref<vtuple_iterator<SeqRef_, N> >
{
typedef typename
@@ -232,17 +232,17 @@
vtuple()
: base_type() {}
- template <typename... Args>
+ template<typename... Args>
vtuple(const Args&... args) : base_type(args...) { }
- template <typename... Args>
+ template<typename... Args>
vtuple(Args&... args) : base_type(args...) { }
- template <typename T>
+ template<typename T>
explicit vtuple(T const& rhs)
: base_type(rhs) {}
- template <typename T>
+ template<typename T>
vtuple&
operator=(T const& rhs)
{
@@ -279,7 +279,7 @@
}
// Generalised for any element in the sequence.
- template <int N>
+ template<int N>
typename VARIADIC_TUPLE_RETURN_TYPE_N<This_type,N>::type
any() const
{
@@ -288,7 +288,7 @@
}
// Generalised for any element in the sequence by key.
- template <typename Key,typename Key_Sequence>
+ template<typename Key,typename Key_Sequence>
typename VARIADIC_TUPLE_RETURN_TYPE_KEY<This_type,Key,Key_Sequence>::type
any_key() const
{
@@ -308,7 +308,7 @@
// This has in fact liberated the top level code to supply any key sequence.
// It does not have to be the same length as the sequence.
// Any problem cases will not compile because of the tests here.
- template <typename Key,typename Key_Sequence>
+ template<typename Key,typename Key_Sequence>
int pos()
{
typedef typename boost::mpl::end<Key_Sequence>::type finish;
@@ -321,7 +321,7 @@
}
// location function for the enum method
- template <typename Enums, Enums Key>
+ template<typename Enums, Enums Key>
int locate()
{
BOOST_MPL_ASSERT_NOT((VARIADIC_TUPLE_INDEX_TOO_LARGE<This_type,
@@ -329,7 +329,7 @@
return boost::mpl::integral_c<Enums,Key>::value;
}
// Access function for the enum method
- /* template <typename Enums, Enums Key>
+ /* template<typename Enums, Enums Key>
typename VARIADIC_TUPLE_RETURN_TYPE_N<This_type,
boost::mpl::integral_c<Enums,Key>::value>::type
at()
Modified: sandbox/SOC/2009/fusion/libs/fusion/example/performance/functional.cpp
==============================================================================
--- sandbox/SOC/2009/fusion/libs/fusion/example/performance/functional.cpp (original)
+++ sandbox/SOC/2009/fusion/libs/fusion/example/performance/functional.cpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -37,7 +37,7 @@
{
struct fused_sum
{
- template <typename Seq>
+ template<typename Seq>
int operator()(Seq const & seq) const
{
int state = 0;
@@ -50,13 +50,13 @@
struct sum_op
{
- template <typename T>
+ template<typename T>
int operator()(T const & elem, int value) const
{
return value + sizeof(T) * elem;
}
- template <typename T>
+ template<typename T>
int operator()(T & elem, int value) const
{
elem += sizeof(T);
Modified: sandbox/SOC/2009/fusion/libs/fusion/example/performance/measure.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/libs/fusion/example/performance/measure.hpp (original)
+++ sandbox/SOC/2009/fusion/libs/fusion/example/performance/measure.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -19,7 +19,7 @@
// Call objects of the given Accumulator type repeatedly with x as
// an argument.
- template <class Accumulator, class Arg>
+ template<class Accumulator, class Arg>
void hammer(Arg const& x, long const repeats)
{
// Strategy: because the sum in an accumulator after each call
@@ -66,7 +66,7 @@
// Measure the time required to hammer accumulators of the given
// type with the argument x.
- template <class Accumulator, class T>
+ template<class Accumulator, class T>
double measure(T const& x, long const repeats)
{
// Hammer accumulators a couple of times to ensure the
Modified: sandbox/SOC/2009/fusion/libs/fusion/example/performance/sequence_efficiency.cpp
==============================================================================
--- sandbox/SOC/2009/fusion/libs/fusion/example/performance/sequence_efficiency.cpp (original)
+++ sandbox/SOC/2009/fusion/libs/fusion/example/performance/sequence_efficiency.cpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -77,14 +77,14 @@
};
// Our Accumulator function
- template <typename T>
+ template<typename T>
struct accumulator
{
accumulator()
: sum()
{}
- template <typename Sequence>
+ template<typename Sequence>
void operator()(Sequence const& seq)
{
this->sum += boost::fusion::accumulate(seq, 0, poly_add());
@@ -94,14 +94,14 @@
};
// Plain Accumulator function
- template <typename T>
+ template<typename T>
struct plain_accumulator
{
plain_accumulator()
: sum()
{}
- template <typename X>
+ template<typename X>
void operator()(X const& x)
{
this->sum += x;
@@ -110,14 +110,14 @@
T sum;
};
- template <typename T>
+ template<typename T>
void check(T const& seq, char const* info)
{
test::measure<accumulator<int> >(seq, 1);
std::cout << info << test::live_code << std::endl;
}
- template <typename T>
+ template<typename T>
void measure(T const& seq, char const* info, long const repeats, double base)
{
double t = test::measure<accumulator<int> >(seq, repeats);
@@ -128,7 +128,7 @@
<< std::endl;
}
- template <typename T>
+ template<typename T>
void test_assembler(T const& seq)
{
test::live_code = boost::fusion::accumulate(seq, 0, poly_add());
Modified: sandbox/SOC/2009/fusion/libs/fusion/example/performance/zip_efficiency.cpp
==============================================================================
--- sandbox/SOC/2009/fusion/libs/fusion/example/performance/zip_efficiency.cpp (original)
+++ sandbox/SOC/2009/fusion/libs/fusion/example/performance/zip_efficiency.cpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -45,14 +45,14 @@
};
// Our Accumulator function
- template <typename T>
+ template<typename T>
struct zip_accumulator
{
zip_accumulator()
: sum()
{}
- template <typename Sequence>
+ template<typename Sequence>
void operator()(Sequence const& seq)
{
this->sum += boost::fusion::accumulate(seq, 0, zip_add());
@@ -61,14 +61,14 @@
T sum;
};
- template <typename T>
+ template<typename T>
void check(T const& seq, char const* info)
{
test::measure<zip_accumulator<int> >(seq, 1);
std::cout << info << test::live_code << std::endl;
}
- template <typename T>
+ template<typename T>
void measure(T const& seq, char const* info, long const repeats)
{
std::cout
Modified: sandbox/SOC/2009/fusion/libs/fusion/test/suite1/algorithm/replace_if.cpp
==============================================================================
--- sandbox/SOC/2009/fusion/libs/fusion/test/suite1/algorithm/replace_if.cpp (original)
+++ sandbox/SOC/2009/fusion/libs/fusion/test/suite1/algorithm/replace_if.cpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -38,7 +38,8 @@
{
char const* s = "Ruby";
typedef vector<int, short, double, long, char const*, float> vector_type;
- vector_type t1(1, 2, 3.3, 4, s, 5.5);
+ //TODO
+ vector_type t1(1, 2, 3.3, 4, s, 5.5f);
{
//TODO
Modified: sandbox/SOC/2009/fusion/libs/fusion/test/suite1/sequence/adapt_assoc_class.cpp
==============================================================================
--- sandbox/SOC/2009/fusion/libs/fusion/test/suite1/sequence/adapt_assoc_class.cpp (original)
+++ sandbox/SOC/2009/fusion/libs/fusion/test/suite1/sequence/adapt_assoc_class.cpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -82,7 +82,8 @@
}
{
- boost::fusion::vector<int, float> v1(4, 2);
+ //TODO
+ boost::fusion::vector<int, float> v1(4, 2.0f);
ns::point v2(5, 3);
boost::fusion::vector<long, double> v3(5, 4);
BOOST_TEST(v1 < v2);
Modified: sandbox/SOC/2009/fusion/libs/fusion/test/suite1/sequence/adapt_assoc_class_named.cpp
==============================================================================
--- sandbox/SOC/2009/fusion/libs/fusion/test/suite1/sequence/adapt_assoc_class_named.cpp (original)
+++ sandbox/SOC/2009/fusion/libs/fusion/test/suite1/sequence/adapt_assoc_class_named.cpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -63,7 +63,7 @@
std::cout << tuple_delimiter(", ");
{
- BOOST_MPL_ASSERT_NOT((traits::is_view<adapted::point>));
+ BOOST_MPL_ASSERT((traits::is_view<adapted::point>));
ns::point basep(123, 456);
adapted::point p(basep);
@@ -84,7 +84,8 @@
}
{
- boost::fusion::vector<int, float> v1(4, 2);
+ //TODO
+ boost::fusion::vector<int, float> v1(4, 2.0f);
ns::point basev2(5, 3);
adapted::point v2(basev2);
boost::fusion::vector<long, double> v3(5, 4);
Modified: sandbox/SOC/2009/fusion/libs/fusion/test/suite1/sequence/adapt_assoc_struct.cpp
==============================================================================
--- sandbox/SOC/2009/fusion/libs/fusion/test/suite1/sequence/adapt_assoc_struct.cpp (original)
+++ sandbox/SOC/2009/fusion/libs/fusion/test/suite1/sequence/adapt_assoc_struct.cpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -83,7 +83,8 @@
}
{
- vector<int, float> v1(4, 2);
+ //TODO
+ vector<int, float> v1(4, 2.0f);
ns::point v2 = {5, 3};
vector<long, double> v3(5, 4);
BOOST_TEST(v1 < v2);
Modified: sandbox/SOC/2009/fusion/libs/fusion/test/suite1/sequence/adapt_assoc_struct_named.cpp
==============================================================================
--- sandbox/SOC/2009/fusion/libs/fusion/test/suite1/sequence/adapt_assoc_struct_named.cpp (original)
+++ sandbox/SOC/2009/fusion/libs/fusion/test/suite1/sequence/adapt_assoc_struct_named.cpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -48,7 +48,7 @@
std::cout << tuple_delimiter(", ");
{
- BOOST_MPL_ASSERT_NOT((traits::is_view<adapted::point>));
+ BOOST_MPL_ASSERT((traits::is_view<adapted::point>));
ns::point basep = {123, 456};
adapted::point p(basep);
@@ -69,7 +69,8 @@
}
{
- vector<int, float> v1(4, 2);
+ //TODO
+ vector<int, float> v1(4, 2.0f);
ns::point basev2 = {5, 3};
adapted::point v2(basev2);
Modified: sandbox/SOC/2009/fusion/libs/fusion/test/suite1/sequence/adapt_assoc_tpl_class.cpp
==============================================================================
--- sandbox/SOC/2009/fusion/libs/fusion/test/suite1/sequence/adapt_assoc_tpl_class.cpp (original)
+++ sandbox/SOC/2009/fusion/libs/fusion/test/suite1/sequence/adapt_assoc_tpl_class.cpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -86,7 +86,8 @@
}
{
- boost::fusion::vector<int, float> v1(4, 2);
+ //TODO
+ boost::fusion::vector<int, float> v1(4, 2.0f);
point v2(5, 3);
boost::fusion::vector<long, double> v3(5, 4);
BOOST_TEST(v1 < v2);
Modified: sandbox/SOC/2009/fusion/libs/fusion/test/suite1/sequence/adapt_assoc_tpl_struct.cpp
==============================================================================
--- sandbox/SOC/2009/fusion/libs/fusion/test/suite1/sequence/adapt_assoc_tpl_struct.cpp (original)
+++ sandbox/SOC/2009/fusion/libs/fusion/test/suite1/sequence/adapt_assoc_tpl_struct.cpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -86,7 +86,8 @@
}
{
- vector<int, float> v1(4, 2);
+ //TODO
+ vector<int, float> v1(4, 2.0f);
point v2 = {5, 3};
vector<long, double> v3(5, 4);
BOOST_TEST(v1 < v2);
Modified: sandbox/SOC/2009/fusion/libs/fusion/test/suite1/sequence/adapt_class.cpp
==============================================================================
--- sandbox/SOC/2009/fusion/libs/fusion/test/suite1/sequence/adapt_class.cpp (original)
+++ sandbox/SOC/2009/fusion/libs/fusion/test/suite1/sequence/adapt_class.cpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -90,7 +90,8 @@
}
{
- boost::fusion::vector<int, float> v1(4, 2);
+ //TODO
+ boost::fusion::vector<int, float> v1(4, 2.0f);
ns::point v2(5, 3);
boost::fusion::vector<long, double> v3(5, 4);
BOOST_TEST(v1 < v2);
Modified: sandbox/SOC/2009/fusion/libs/fusion/test/suite1/sequence/adapt_class_named.cpp
==============================================================================
--- sandbox/SOC/2009/fusion/libs/fusion/test/suite1/sequence/adapt_class_named.cpp (original)
+++ sandbox/SOC/2009/fusion/libs/fusion/test/suite1/sequence/adapt_class_named.cpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -70,7 +70,7 @@
std::cout << tuple_delimiter(", ");
{
- BOOST_MPL_ASSERT_NOT((traits::is_view<adapted::point>));
+ BOOST_MPL_ASSERT((traits::is_view<adapted::point>));
ns::point basep(123, 456);
adapted::point p(basep);
@@ -91,7 +91,8 @@
}
{
- vector<int, float> v1(4, 2);
+ //TODO
+ vector<int, float> v1(4, 2.0f);
ns::point basep(5, 3);
adapted::point v2(basep);
Modified: sandbox/SOC/2009/fusion/libs/fusion/test/suite1/sequence/adapt_struct.cpp
==============================================================================
--- sandbox/SOC/2009/fusion/libs/fusion/test/suite1/sequence/adapt_struct.cpp (original)
+++ sandbox/SOC/2009/fusion/libs/fusion/test/suite1/sequence/adapt_struct.cpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -76,7 +76,8 @@
}
{
- vector<int, float> v1(4, 2);
+ //TODO
+ vector<int, float> v1(4, 2.0f);
ns::point v2 = {5, 3};
vector<long, double> v3(5, 4);
BOOST_TEST(v1 < v2);
Modified: sandbox/SOC/2009/fusion/libs/fusion/test/suite1/sequence/adapt_struct_named.cpp
==============================================================================
--- sandbox/SOC/2009/fusion/libs/fusion/test/suite1/sequence/adapt_struct_named.cpp (original)
+++ sandbox/SOC/2009/fusion/libs/fusion/test/suite1/sequence/adapt_struct_named.cpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -62,7 +62,7 @@
std::cout << tuple_delimiter(", ");
{
- BOOST_MPL_ASSERT_NOT((traits::is_view<adapted::point>));
+ BOOST_MPL_ASSERT((traits::is_view<adapted::point>));
ns::point basep = {123, 456};
adapted::point p(basep);
@@ -83,7 +83,8 @@
}
{
- vector<int, float> v1(4, 2);
+ //TODO
+ vector<int, float> v1(4, 2.0f);
ns::point p = {5, 3};
adapted::point v2(p);
Modified: sandbox/SOC/2009/fusion/libs/fusion/test/suite1/sequence/adapt_tpl_class.cpp
==============================================================================
--- sandbox/SOC/2009/fusion/libs/fusion/test/suite1/sequence/adapt_tpl_class.cpp (original)
+++ sandbox/SOC/2009/fusion/libs/fusion/test/suite1/sequence/adapt_tpl_class.cpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -94,7 +94,8 @@
}
{
- boost::fusion::vector<int, float> v1(4, 2);
+ //TODO
+ boost::fusion::vector<int, float> v1(4, 2.0f);
point v2(5, 3);
boost::fusion::vector<long, double> v3(5, 4);
BOOST_TEST(v1 < v2);
Modified: sandbox/SOC/2009/fusion/libs/fusion/test/suite1/sequence/adapt_tpl_struct.cpp
==============================================================================
--- sandbox/SOC/2009/fusion/libs/fusion/test/suite1/sequence/adapt_tpl_struct.cpp (original)
+++ sandbox/SOC/2009/fusion/libs/fusion/test/suite1/sequence/adapt_tpl_struct.cpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -81,7 +81,8 @@
}
{
- vector<int, float> v1(4, 2);
+ //TODO
+ vector<int, float> v1(4, 2.0f);
point v2 = {5, 3};
vector<long, double> v3(5, 4);
BOOST_TEST(v1 < v2);
Modified: sandbox/SOC/2009/fusion/libs/fusion/test/suite1/sequence/construction.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/libs/fusion/test/suite1/sequence/construction.hpp (original)
+++ sandbox/SOC/2009/fusion/libs/fusion/test/suite1/sequence/construction.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -109,7 +109,8 @@
{
double dd = 5;
dummy(FUSION_SEQUENCE<double&>(dd)); // ok
- dummy(FUSION_SEQUENCE<const double&>(dd+3.14)); // ok, but dangerous
+ //TODO!
+ //dummy(FUSION_SEQUENCE<const double&>(dd+3.14)); // ok, but dangerous
}
#if defined(FUSION_TEST_FAIL)
Modified: sandbox/SOC/2009/fusion/libs/fusion/test/suite1/sequence/define_assoc_struct.cpp
==============================================================================
--- sandbox/SOC/2009/fusion/libs/fusion/test/suite1/sequence/define_assoc_struct.cpp (original)
+++ sandbox/SOC/2009/fusion/libs/fusion/test/suite1/sequence/define_assoc_struct.cpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -59,7 +59,8 @@
}
{
- vector<int, float> v1(4, 2);
+ //TODO
+ vector<int, float> v1(4, 2.0f);
ns::point v2(5, 3);
vector<long, double> v3(5, 4);
BOOST_TEST(v1 < v2);
Modified: sandbox/SOC/2009/fusion/libs/fusion/test/suite1/sequence/define_assoc_tpl_struct.cpp
==============================================================================
--- sandbox/SOC/2009/fusion/libs/fusion/test/suite1/sequence/define_assoc_tpl_struct.cpp (original)
+++ sandbox/SOC/2009/fusion/libs/fusion/test/suite1/sequence/define_assoc_tpl_struct.cpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -63,7 +63,8 @@
}
{
- vector<int, float> v1(4, 2);
+ //TODO
+ vector<int, float> v1(4, 2.0f);
point v2(5, 3);
vector<long, double> v3(5, 4);
BOOST_TEST(v1 < v2);
Modified: sandbox/SOC/2009/fusion/libs/fusion/test/suite1/sequence/define_struct.cpp
==============================================================================
--- sandbox/SOC/2009/fusion/libs/fusion/test/suite1/sequence/define_struct.cpp (original)
+++ sandbox/SOC/2009/fusion/libs/fusion/test/suite1/sequence/define_struct.cpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -56,7 +56,8 @@
}
{
- vector<int, float> v1(4, 2);
+ //TODO
+ vector<int, float> v1(4, 2.0f);
ns::point v2(5, 3);
vector<long, double> v3(5, 4);
BOOST_TEST(v1 < v2);
Modified: sandbox/SOC/2009/fusion/libs/fusion/test/suite1/sequence/define_tpl_struct.cpp
==============================================================================
--- sandbox/SOC/2009/fusion/libs/fusion/test/suite1/sequence/define_tpl_struct.cpp (original)
+++ sandbox/SOC/2009/fusion/libs/fusion/test/suite1/sequence/define_tpl_struct.cpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -59,7 +59,8 @@
}
{
- vector<int, float> v1(4, 2);
+ //TODO
+ vector<int, float> v1(4, 2.0f);
point v2(5, 3);
vector<long, double> v3(5, 4);
BOOST_TEST(v1 < v2);
Modified: sandbox/SOC/2009/fusion/libs/fusion/test/suite1/sequence/make.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/libs/fusion/test/suite1/sequence/make.hpp (original)
+++ sandbox/SOC/2009/fusion/libs/fusion/test/suite1/sequence/make.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -67,8 +67,9 @@
{
// You can store a reference to a function in a sequence
- FUSION_SEQUENCE<void(&)()> adf(make_tuple_test);
- dummy(adf); // avoid warning for unused variable
+ //TODO!!!
+ //FUSION_SEQUENCE<void(&)()> adf(make_tuple_test);
+ //dummy(adf); // avoid warning for unused variable
}
#if defined(FUSION_TEST_FAIL)
Modified: sandbox/SOC/2009/fusion/libs/fusion/test/suite1/sequence/misc.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/libs/fusion/test/suite1/sequence/misc.hpp (original)
+++ sandbox/SOC/2009/fusion/libs/fusion/test/suite1/sequence/misc.hpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -160,7 +160,8 @@
{ // testing front & back
typedef FUSION_SEQUENCE<int, float, std::string> tup;
- tup t(1, 2.2, "Kimpo");
+ //TODO
+ tup t(1, 2.2f, "Kimpo");
BOOST_TEST(front(t) == 1);
#if !defined(FUSION_FORWARD_ONLY) // list has no back
Modified: sandbox/SOC/2009/fusion/libs/fusion/test/suite1/sequence/vector_n.cpp
==============================================================================
--- sandbox/SOC/2009/fusion/libs/fusion/test/suite1/sequence/vector_n.cpp (original)
+++ sandbox/SOC/2009/fusion/libs/fusion/test/suite1/sequence/vector_n.cpp 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -135,7 +135,8 @@
{
typedef vector7<bool, char, short, int, long, float, double> type;
- type vec(false, 'x', 3, 4, 5, 6.0, 7.0);
+ //TODO
+ type vec(false, 'x', 3, 4, 5, 6.0f, 7.0);
BOOST_TEST(at_c<0>(vec) == false);
BOOST_TEST(at_c<1>(vec) == 'x');
Added: sandbox/SOC/2009/fusion/libs/fusion/test/suite2/Jamfile
==============================================================================
--- (empty file)
+++ sandbox/SOC/2009/fusion/libs/fusion/test/suite2/Jamfile 2010-06-03 12:16:48 EDT (Thu, 03 Jun 2010)
@@ -0,0 +1,16 @@
+#==============================================================================
+# Copyright (c) 2010 Christopher Schmidt
+#
+# Use, modification and distribution is subject to the Boost Software
+# License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+#==============================================================================
+
+# bring in rules for testing
+import testing ;
+
+{
+ test-suite fusion :
+
+ ;
+}
Added: sandbox/SOC/2009/fusion/libs/fusion/test/suite2/sequence/test_base.hpp
==============================================================================
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