diff --git a/doc/extension.qbk b/doc/extension.qbk index f422c8fa..ba9c550a 100644 --- a/doc/extension.qbk +++ b/doc/extension.qbk @@ -154,7 +154,7 @@ To understand how `value_of_impl` is used by the library we will look at the imp struct __value_of__ { typedef typename - extension::value_of_impl:: + extension::value_of_impl:: template apply::type type; }; @@ -209,7 +209,7 @@ To see how `deref_impl` is used, lets have a look at the implementation of __der struct __deref__ { typedef typename - deref_impl:: + deref_impl:: template apply::type type; }; @@ -220,7 +220,7 @@ To see how `deref_impl` is used, lets have a look at the implementation of __der __deref__(Iterator const& i) { typename __result_of_deref__::type result = - extension::deref_impl:: + extension::deref_impl:: template apply::call(i); return result; } diff --git a/doc/html/fusion/extension.html b/doc/html/fusion/extension.html index da99aca6..9ecba184 100644 --- a/doc/html/fusion/extension.html +++ b/doc/html/fusion/extension.html @@ -242,7 +242,7 @@ struct value_of { typedef typename - extension::value_of_impl<typename Iterator::ftag>:: + extension::value_of_impl<typename Iterator::fusion_tag>:: template apply<Iterator>::type type; }; @@ -305,7 +305,7 @@ struct deref { typedef typename - deref_impl<typename Iterator::ftag>:: + deref_impl<typename Iterator::fusion_tag>:: template apply<Iterator>::type type; }; @@ -316,7 +316,7 @@ deref(Iterator const& i) { typename result_of::deref<Iterator>::type result = - extension::deref_impl<typename Iterator::ftag>:: + extension::deref_impl<typename Iterator::fusion_tag>:: template apply<Iterator>::call(i); return result; } diff --git a/doc/html/fusion/support/tag_of.html b/doc/html/fusion/support/tag_of.html index ddd54978..dcaa8373 100644 --- a/doc/html/fusion/support/tag_of.html +++ b/doc/html/fusion/support/tag_of.html @@ -34,7 +34,7 @@ The purpose of the tag is to enable tag dispatching from Intrinsic functions to implementations appropriate for the type. The default implementation - of tag_of returns T::ftag + of tag_of returns T::fusion_tag for a given type T, if such a member typedef exists.

diff --git a/doc/support.qbk b/doc/support.qbk index 7c04de0c..66ecec7c 100644 --- a/doc/support.qbk +++ b/doc/support.qbk @@ -114,7 +114,7 @@ may be specialized to accomodate clients providing Fusion conforming views. All conforming Fusion sequences and iterators have an associated tag type. The purpose of the tag is to enable __tag_dispatching__ from __intrinsic__ functions to implementations appropriate for the type. The default implementation -of `tag_of` returns `T::ftag` for a given type `T`, if such a member typedef exists. +of `tag_of` returns `T::fusion_tag` for a given type `T`, if such a member typedef exists. This metafunction may be specialized to accomodate clients providing Fusion conforming sequences. diff --git a/example/extension/example_struct_iterator.hpp b/example/extension/example_struct_iterator.hpp index 3f60b914..04425acc 100644 --- a/example/extension/example_struct_iterator.hpp +++ b/example/extension/example_struct_iterator.hpp @@ -34,7 +34,7 @@ namespace boost { namespace fusion { BOOST_STATIC_ASSERT(Pos >=0 && Pos < 3); typedef Struct struct_type; typedef mpl::int_ index; - typedef example_struct_iterator_tag ftag; + typedef example_struct_iterator_tag fusion_tag; typedef random_access_traversal_tag category; example_struct_iterator(Struct& str) diff --git a/include/boost/fusion/sequence/adapted/array/array_iterator.hpp b/include/boost/fusion/sequence/adapted/array/array_iterator.hpp index aa6e16a6..93a0fa0f 100644 --- a/include/boost/fusion/sequence/adapted/array/array_iterator.hpp +++ b/include/boost/fusion/sequence/adapted/array/array_iterator.hpp @@ -38,7 +38,7 @@ namespace boost { namespace fusion { BOOST_MPL_ASSERT_RELATION(Pos,<=,std::size_t(Array::static_size)); typedef mpl::size_t index; - typedef array_iterator_tag ftag; + typedef array_iterator_tag fusion_tag; typedef random_access_traversal_tag category; typedef Array array_type; typedef array_iterator< diff --git a/include/boost/fusion/sequence/adapted/mpl/mpl_iterator.hpp b/include/boost/fusion/sequence/adapted/mpl/mpl_iterator.hpp index 43e589c3..68612a44 100644 --- a/include/boost/fusion/sequence/adapted/mpl/mpl_iterator.hpp +++ b/include/boost/fusion/sequence/adapted/mpl/mpl_iterator.hpp @@ -27,7 +27,7 @@ namespace boost { namespace fusion struct mpl_iterator : iterator_base > { - typedef mpl_iterator_tag ftag; + typedef mpl_iterator_tag fusion_tag; typedef typename detail::mpl_iterator_category< typename Iterator::category>::type category; diff --git a/include/boost/fusion/sequence/adapted/std_pair/Attic/std_pair_iterator.hpp b/include/boost/fusion/sequence/adapted/std_pair/Attic/std_pair_iterator.hpp index 0a5a1c92..1121e315 100644 --- a/include/boost/fusion/sequence/adapted/std_pair/Attic/std_pair_iterator.hpp +++ b/include/boost/fusion/sequence/adapted/std_pair/Attic/std_pair_iterator.hpp @@ -32,7 +32,7 @@ namespace boost { namespace fusion : iterator_base > { typedef mpl::int_ index; - typedef std_pair_iterator_tag ftag; + typedef std_pair_iterator_tag fusion_tag; typedef random_access_traversal_tag category; typedef std_pair_iterator_identity< typename add_const::type, N> identity; diff --git a/include/boost/fusion/sequence/adapted/std_pair/std_pair_iterator.hpp b/include/boost/fusion/sequence/adapted/std_pair/std_pair_iterator.hpp index 0a5a1c92..1121e315 100644 --- a/include/boost/fusion/sequence/adapted/std_pair/std_pair_iterator.hpp +++ b/include/boost/fusion/sequence/adapted/std_pair/std_pair_iterator.hpp @@ -32,7 +32,7 @@ namespace boost { namespace fusion : iterator_base > { typedef mpl::int_ index; - typedef std_pair_iterator_tag ftag; + typedef std_pair_iterator_tag fusion_tag; typedef random_access_traversal_tag category; typedef std_pair_iterator_identity< typename add_const::type, N> identity; diff --git a/include/boost/fusion/sequence/container/list/cons.hpp b/include/boost/fusion/sequence/container/list/cons.hpp index 41723596..8be6b239 100644 --- a/include/boost/fusion/sequence/container/list/cons.hpp +++ b/include/boost/fusion/sequence/container/list/cons.hpp @@ -36,7 +36,7 @@ namespace boost { namespace fusion struct nil : sequence_base { typedef mpl::int_<0> size; - typedef cons_tag ftag; + typedef cons_tag fusion_tag; typedef fusion_sequence_tag tag; // this gets picked up by MPL typedef mpl::false_ is_view; typedef forward_sequence_tag category; @@ -59,7 +59,7 @@ namespace boost { namespace fusion struct cons : sequence_base > { typedef mpl::int_ size; - typedef cons_tag ftag; + typedef cons_tag fusion_tag; typedef fusion_sequence_tag tag; // this gets picked up by MPL typedef mpl::false_ is_view; typedef forward_sequence_tag category; diff --git a/include/boost/fusion/sequence/container/list/cons_iterator.hpp b/include/boost/fusion/sequence/container/list/cons_iterator.hpp index 48a5179a..af25fd1e 100644 --- a/include/boost/fusion/sequence/container/list/cons_iterator.hpp +++ b/include/boost/fusion/sequence/container/list/cons_iterator.hpp @@ -29,7 +29,7 @@ namespace boost { namespace fusion template struct cons_iterator : iterator_base > { - typedef cons_iterator_tag ftag; + typedef cons_iterator_tag fusion_tag; typedef forward_traversal_tag category; typedef Cons cons_type; typedef cons_iterator_identity< @@ -45,7 +45,7 @@ namespace boost { namespace fusion struct nil_iterator : iterator_base { typedef forward_traversal_tag category; - typedef cons_iterator_tag ftag; + typedef cons_iterator_tag fusion_tag; typedef nil cons_type; typedef cons_iterator_identity< add_const::type> diff --git a/include/boost/fusion/sequence/container/map/map.hpp b/include/boost/fusion/sequence/container/map/map.hpp index 21976dfb..ddd9807b 100644 --- a/include/boost/fusion/sequence/container/map/map.hpp +++ b/include/boost/fusion/sequence/container/map/map.hpp @@ -32,7 +32,7 @@ namespace boost { namespace fusion template struct map : sequence_base > { - typedef map_tag ftag; + typedef map_tag fusion_tag; typedef fusion_sequence_tag tag; // this gets picked up by MPL typedef forward_sequence_tag category; typedef mpl::false_ is_view; diff --git a/include/boost/fusion/sequence/container/set/set.hpp b/include/boost/fusion/sequence/container/set/set.hpp index 2a47f523..81db3a7f 100644 --- a/include/boost/fusion/sequence/container/set/set.hpp +++ b/include/boost/fusion/sequence/container/set/set.hpp @@ -31,7 +31,7 @@ namespace boost { namespace fusion template struct set : sequence_base > { - typedef set_tag ftag; + typedef set_tag fusion_tag; typedef fusion_sequence_tag tag; // this gets picked up by MPL typedef forward_sequence_tag category; typedef mpl::false_ is_view; diff --git a/include/boost/fusion/sequence/container/vector/detail/vector_n.hpp b/include/boost/fusion/sequence/container/vector/detail/vector_n.hpp index 4d5a965c..9c967e4d 100644 --- a/include/boost/fusion/sequence/container/vector/detail/vector_n.hpp +++ b/include/boost/fusion/sequence/container/vector/detail/vector_n.hpp @@ -81,7 +81,7 @@ typedef BOOST_PP_CAT(vector, N) this_type; typedef BOOST_PP_CAT(vector_data, N) base_type; typedef mpl::BOOST_PP_CAT(vector, N) types; - typedef vector_tag ftag; + typedef vector_tag fusion_tag; typedef fusion_sequence_tag tag; // this gets picked up by MPL typedef mpl::false_ is_view; typedef random_access_sequence_tag category; diff --git a/include/boost/fusion/sequence/container/vector/vector.hpp b/include/boost/fusion/sequence/container/vector/vector.hpp index 5334973c..46f8246d 100644 --- a/include/boost/fusion/sequence/container/vector/vector.hpp +++ b/include/boost/fusion/sequence/container/vector/vector.hpp @@ -40,7 +40,7 @@ namespace boost { namespace fusion public: typedef typename vector_n::types types; - typedef typename vector_n::ftag ftag; + typedef typename vector_n::fusion_tag fusion_tag; typedef typename vector_n::tag tag; typedef typename vector_n::size size; typedef typename vector_n::category category; diff --git a/include/boost/fusion/sequence/container/vector/vector10.hpp b/include/boost/fusion/sequence/container/vector/vector10.hpp index 8b760b0e..4f092128 100644 --- a/include/boost/fusion/sequence/container/vector/vector10.hpp +++ b/include/boost/fusion/sequence/container/vector/vector10.hpp @@ -43,7 +43,7 @@ namespace boost { namespace fusion struct vector0 : sequence_base { typedef mpl::vector0<> types; - typedef vector_tag ftag; + typedef vector_tag fusion_tag; typedef fusion_sequence_tag tag; // this gets picked up by MPL typedef mpl::false_ is_view; typedef random_access_sequence_tag category; diff --git a/include/boost/fusion/sequence/container/vector/vector_iterator.hpp b/include/boost/fusion/sequence/container/vector/vector_iterator.hpp index e76f9e35..4a1c1431 100644 --- a/include/boost/fusion/sequence/container/vector/vector_iterator.hpp +++ b/include/boost/fusion/sequence/container/vector/vector_iterator.hpp @@ -32,7 +32,7 @@ namespace boost { namespace fusion { typedef mpl::int_ index; typedef Vector vector; - typedef vector_iterator_tag ftag; + typedef vector_iterator_tag fusion_tag; typedef random_access_traversal_tag category; typedef vector_iterator_identity< typename add_const::type, N> identity; diff --git a/include/boost/fusion/sequence/view/filter_view/filter_view.hpp b/include/boost/fusion/sequence/view/filter_view/filter_view.hpp index f6346eb0..4629e541 100644 --- a/include/boost/fusion/sequence/view/filter_view/filter_view.hpp +++ b/include/boost/fusion/sequence/view/filter_view/filter_view.hpp @@ -28,7 +28,7 @@ namespace boost { namespace fusion template struct filter_view : sequence_base > { - typedef filter_view_tag ftag; + typedef filter_view_tag fusion_tag; typedef fusion_sequence_tag tag; // this gets picked up by MPL typedef forward_sequence_tag category; typedef mpl::true_ is_view; diff --git a/include/boost/fusion/sequence/view/filter_view/filter_view_iterator.hpp b/include/boost/fusion/sequence/view/filter_view/filter_view_iterator.hpp index 2e469d5c..bf6a9aec 100644 --- a/include/boost/fusion/sequence/view/filter_view/filter_view_iterator.hpp +++ b/include/boost/fusion/sequence/view/filter_view/filter_view_iterator.hpp @@ -29,7 +29,7 @@ namespace boost { namespace fusion typedef convert_iterator last_converter; typedef typename last_converter::type last_iter; - typedef filter_view_iterator_tag ftag; + typedef filter_view_iterator_tag fusion_tag; typedef forward_traversal_tag category; typedef detail::static_find_if filter; typedef typename filter::type first_type; diff --git a/include/boost/fusion/sequence/view/iterator_range/iterator_range.hpp b/include/boost/fusion/sequence/view/iterator_range/iterator_range.hpp index c86f47e3..05856be2 100644 --- a/include/boost/fusion/sequence/view/iterator_range/iterator_range.hpp +++ b/include/boost/fusion/sequence/view/iterator_range/iterator_range.hpp @@ -28,7 +28,7 @@ namespace boost { namespace fusion { typedef typename convert_iterator::type begin_type; typedef typename convert_iterator::type end_type; - typedef iterator_range_tag ftag; + typedef iterator_range_tag fusion_tag; typedef fusion_sequence_tag tag; // this gets picked up by MPL typedef typename result_of::distance::type size; typedef mpl::true_ is_view; diff --git a/include/boost/fusion/sequence/view/joint_view/joint_view.hpp b/include/boost/fusion/sequence/view/joint_view/joint_view.hpp index 6e0ac9cc..1c5cb54b 100644 --- a/include/boost/fusion/sequence/view/joint_view/joint_view.hpp +++ b/include/boost/fusion/sequence/view/joint_view/joint_view.hpp @@ -30,7 +30,7 @@ namespace boost { namespace fusion template struct joint_view : sequence_base > { - typedef joint_view_tag ftag; + typedef joint_view_tag fusion_tag; typedef fusion_sequence_tag tag; // this gets picked up by MPL typedef forward_sequence_tag category; typedef mpl::true_ is_view; diff --git a/include/boost/fusion/sequence/view/joint_view/joint_view_iterator.hpp b/include/boost/fusion/sequence/view/joint_view/joint_view_iterator.hpp index 49ad4c33..ca93e418 100644 --- a/include/boost/fusion/sequence/view/joint_view/joint_view_iterator.hpp +++ b/include/boost/fusion/sequence/view/joint_view/joint_view_iterator.hpp @@ -33,7 +33,7 @@ namespace boost { namespace fusion typedef typename last_converter::type last_type; typedef typename concat_converter::type concat_type; - typedef joint_view_iterator_tag ftag; + typedef joint_view_iterator_tag fusion_tag; typedef forward_traversal_tag category; BOOST_STATIC_ASSERT((!result_of::equal_to::value)); diff --git a/include/boost/fusion/sequence/view/reverse_view/detail/next_impl.hpp b/include/boost/fusion/sequence/view/reverse_view/detail/next_impl.hpp index 3d3c6a30..3e075ce5 100644 --- a/include/boost/fusion/sequence/view/reverse_view/detail/next_impl.hpp +++ b/include/boost/fusion/sequence/view/reverse_view/detail/next_impl.hpp @@ -27,7 +27,7 @@ namespace boost { namespace fusion struct apply { typedef typename Iterator::first_type first_type; - typedef typename prior_impl:: + typedef typename prior_impl:: template apply wrapped; diff --git a/include/boost/fusion/sequence/view/reverse_view/detail/prior_impl.hpp b/include/boost/fusion/sequence/view/reverse_view/detail/prior_impl.hpp index bf5dc00e..3c9d63c3 100644 --- a/include/boost/fusion/sequence/view/reverse_view/detail/prior_impl.hpp +++ b/include/boost/fusion/sequence/view/reverse_view/detail/prior_impl.hpp @@ -27,7 +27,7 @@ namespace boost { namespace fusion struct apply { typedef typename Iterator::first_type first_type; - typedef typename next_impl:: + typedef typename next_impl:: template apply wrapped; diff --git a/include/boost/fusion/sequence/view/reverse_view/reverse_view.hpp b/include/boost/fusion/sequence/view/reverse_view/reverse_view.hpp index fe10ea6a..08ba4c61 100644 --- a/include/boost/fusion/sequence/view/reverse_view/reverse_view.hpp +++ b/include/boost/fusion/sequence/view/reverse_view/reverse_view.hpp @@ -30,7 +30,7 @@ namespace boost { namespace fusion template struct reverse_view : sequence_base > { - typedef reverse_view_tag ftag; + typedef reverse_view_tag fusion_tag; typedef fusion_sequence_tag tag; // this gets picked up by MPL typedef mpl::true_ is_view; diff --git a/include/boost/fusion/sequence/view/reverse_view/reverse_view_iterator.hpp b/include/boost/fusion/sequence/view/reverse_view/reverse_view_iterator.hpp index 54c61e7d..7ba2fedf 100644 --- a/include/boost/fusion/sequence/view/reverse_view/reverse_view_iterator.hpp +++ b/include/boost/fusion/sequence/view/reverse_view/reverse_view_iterator.hpp @@ -30,7 +30,7 @@ namespace boost { namespace fusion { typedef convert_iterator converter; typedef typename converter::type first_type; - typedef reverse_view_iterator_tag ftag; + typedef reverse_view_iterator_tag fusion_tag; typedef typename traits::category_of::type category; BOOST_STATIC_ASSERT(( diff --git a/include/boost/fusion/sequence/view/single_view/single_view.hpp b/include/boost/fusion/sequence/view/single_view/single_view.hpp index 5fc81edc..c0a32876 100644 --- a/include/boost/fusion/sequence/view/single_view/single_view.hpp +++ b/include/boost/fusion/sequence/view/single_view/single_view.hpp @@ -26,7 +26,7 @@ namespace boost { namespace fusion template struct single_view : sequence_base > { - typedef single_view_tag ftag; + typedef single_view_tag fusion_tag; typedef fusion_sequence_tag tag; // this gets picked up by MPL typedef forward_sequence_tag category; typedef mpl::true_ is_view; diff --git a/include/boost/fusion/sequence/view/single_view/single_view_iterator.hpp b/include/boost/fusion/sequence/view/single_view/single_view_iterator.hpp index e2a9bead..67492749 100644 --- a/include/boost/fusion/sequence/view/single_view/single_view_iterator.hpp +++ b/include/boost/fusion/sequence/view/single_view/single_view_iterator.hpp @@ -23,7 +23,7 @@ namespace boost { namespace fusion struct single_view_iterator_end : iterator_base > { - typedef single_view_iterator_tag ftag; + typedef single_view_iterator_tag fusion_tag; typedef forward_traversal_tag category; }; @@ -31,7 +31,7 @@ namespace boost { namespace fusion struct single_view_iterator : iterator_base > { - typedef single_view_iterator_tag ftag; + typedef single_view_iterator_tag fusion_tag; typedef forward_traversal_tag category; typedef typename SingleView::value_type value_type; typedef SingleView single_view_type; diff --git a/include/boost/fusion/sequence/view/transform_view/transform_view.hpp b/include/boost/fusion/sequence/view/transform_view/transform_view.hpp index b5158029..1209b0c2 100644 --- a/include/boost/fusion/sequence/view/transform_view/transform_view.hpp +++ b/include/boost/fusion/sequence/view/transform_view/transform_view.hpp @@ -35,7 +35,7 @@ namespace boost { namespace fusion struct transform_view : sequence_base > { BOOST_STATIC_ASSERT(result_of::size::value == result_of::size::value); - typedef transform_view2_tag ftag; + typedef transform_view2_tag fusion_tag; typedef fusion_sequence_tag tag; // this gets picked up by MPL typedef mpl::true_ is_view; @@ -68,7 +68,7 @@ namespace boost { namespace fusion template struct transform_view : sequence_base > { - typedef transform_view_tag ftag; + typedef transform_view_tag fusion_tag; typedef fusion_sequence_tag tag; // this gets picked up by MPL typedef mpl::true_ is_view; diff --git a/include/boost/fusion/sequence/view/transform_view/transform_view_iterator.hpp b/include/boost/fusion/sequence/view/transform_view/transform_view_iterator.hpp index 2571f5d8..e76b05dc 100644 --- a/include/boost/fusion/sequence/view/transform_view/transform_view_iterator.hpp +++ b/include/boost/fusion/sequence/view/transform_view/transform_view_iterator.hpp @@ -27,7 +27,7 @@ namespace boost { namespace fusion struct transform_view_iterator : iterator_base > { - typedef transform_view_iterator_tag ftag; + typedef transform_view_iterator_tag fusion_tag; typedef convert_iterator converter; typedef typename converter::type first_type; typedef typename traits::category_of::type category; @@ -47,7 +47,7 @@ namespace boost { namespace fusion struct transform_view_iterator2 : iterator_base > { - typedef transform_view_iterator2_tag ftag; + typedef transform_view_iterator2_tag fusion_tag; typedef convert_iterator converter1; typedef convert_iterator converter2; typedef typename converter1::type first1_type; diff --git a/include/boost/fusion/sequence/view/zip_view/zip_view.hpp b/include/boost/fusion/sequence/view/zip_view/zip_view.hpp index a8706801..5448ab95 100644 --- a/include/boost/fusion/sequence/view/zip_view/zip_view.hpp +++ b/include/boost/fusion/sequence/view/zip_view/zip_view.hpp @@ -71,7 +71,7 @@ namespace boost { namespace fusion { BOOST_MPL_ASSERT((detail::all_references)); BOOST_MPL_ASSERT((detail::all_same_size)); typedef typename detail::strictest_traversal::type category; - typedef zip_view_tag ftag; + typedef zip_view_tag fusion_tag; typedef fusion_sequence_tag tag; // this gets picked up by MPL typedef mpl::true_ is_view; typedef typename fusion::result_of::as_vector::type sequences; diff --git a/include/boost/fusion/sequence/view/zip_view/zip_view_iterator.hpp b/include/boost/fusion/sequence/view/zip_view/zip_view_iterator.hpp index b92e0305..4048005a 100644 --- a/include/boost/fusion/sequence/view/zip_view/zip_view_iterator.hpp +++ b/include/boost/fusion/sequence/view/zip_view/zip_view_iterator.hpp @@ -31,7 +31,7 @@ namespace boost { namespace fusion { struct zip_view_iterator : iterator_base > { - typedef zip_view_iterator_tag ftag; + typedef zip_view_iterator_tag fusion_tag; typedef Traversal category; template diff --git a/include/boost/fusion/support/tag_of.hpp b/include/boost/fusion/support/tag_of.hpp index 0ba9894a..d5701136 100644 --- a/include/boost/fusion/support/tag_of.hpp +++ b/include/boost/fusion/support/tag_of.hpp @@ -19,7 +19,7 @@ namespace boost { namespace fusion namespace detail { - BOOST_MPL_HAS_XXX_TRAIT_DEF(ftag) + BOOST_MPL_HAS_XXX_TRAIT_DEF(fusion_tag) } namespace traits @@ -31,9 +31,9 @@ namespace boost { namespace fusion }; template - struct tag_of >::type> + struct tag_of >::type> { - typedef typename Sequence::ftag type; + typedef typename Sequence::fusion_tag type; }; }