Created
September 12, 2011 13:30
-
-
Save sithhell/1211241 to your computer and use it in GitHub Desktop.
A patch to show the impact of full template specialisations of boost.fusion (patch is against rev. 74355)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Index: boost/fusion/container/vector/detail/equal_to_impl.hpp | |
=================================================================== | |
--- boost/fusion/container/vector/detail/equal_to_impl.hpp (revision 74355) | |
+++ boost/fusion/container/vector/detail/equal_to_impl.hpp (working copy) | |
@@ -17,11 +17,8 @@ | |
namespace extension | |
{ | |
- template <typename Tag> | |
- struct equal_to_impl; | |
- | |
- template <> | |
- struct equal_to_impl<vector_iterator_tag> | |
+ template <typename Dummy> | |
+ struct equal_to_impl<vector_iterator_tag, Dummy> | |
{ | |
template <typename I1, typename I2> | |
struct apply | |
Index: boost/fusion/container/vector/detail/next_impl.hpp | |
=================================================================== | |
--- boost/fusion/container/vector/detail/next_impl.hpp (revision 74355) | |
+++ boost/fusion/container/vector/detail/next_impl.hpp (working copy) | |
@@ -17,11 +17,8 @@ | |
namespace extension | |
{ | |
- template <typename Tag> | |
- struct next_impl; | |
- | |
- template <> | |
- struct next_impl<vector_iterator_tag> | |
+ template <typename Dummy> | |
+ struct next_impl<vector_iterator_tag, Dummy> | |
{ | |
template <typename Iterator> | |
struct apply | |
Index: boost/fusion/container/vector/detail/convert_impl.hpp | |
=================================================================== | |
--- boost/fusion/container/vector/detail/convert_impl.hpp (revision 74355) | |
+++ boost/fusion/container/vector/detail/convert_impl.hpp (working copy) | |
@@ -12,6 +12,7 @@ | |
#include <boost/fusion/container/vector/vector.hpp> | |
#include <boost/fusion/sequence/intrinsic/begin.hpp> | |
#include <boost/fusion/sequence/intrinsic/size.hpp> | |
+#include <boost/fusion/sequence/convert.hpp> | |
namespace boost { namespace fusion | |
{ | |
@@ -19,11 +20,8 @@ | |
namespace extension | |
{ | |
- template <typename T> | |
- struct convert_impl; | |
- | |
- template <> | |
- struct convert_impl<vector_tag> | |
+ template <typename Dummy> | |
+ struct convert_impl<vector_tag, Dummy> | |
{ | |
template <typename Sequence> | |
struct apply | |
Index: boost/fusion/container/vector/detail/begin_impl.hpp | |
=================================================================== | |
--- boost/fusion/container/vector/detail/begin_impl.hpp (revision 74355) | |
+++ boost/fusion/container/vector/detail/begin_impl.hpp (working copy) | |
@@ -15,11 +15,8 @@ | |
namespace extension | |
{ | |
- template <typename Tag> | |
- struct begin_impl; | |
- | |
- template <> | |
- struct begin_impl<vector_tag> | |
+ template <typename Dummy> | |
+ struct begin_impl<vector_tag, Dummy> | |
{ | |
template <typename Sequence> | |
struct apply | |
Index: boost/fusion/container/vector/detail/deref_impl.hpp | |
=================================================================== | |
--- boost/fusion/container/vector/detail/deref_impl.hpp (revision 74355) | |
+++ boost/fusion/container/vector/detail/deref_impl.hpp (working copy) | |
@@ -17,11 +17,8 @@ | |
namespace extension | |
{ | |
- template <typename Tag> | |
- struct deref_impl; | |
- | |
- template <> | |
- struct deref_impl<vector_iterator_tag> | |
+ template <typename Dummy> | |
+ struct deref_impl<vector_iterator_tag, Dummy> | |
{ | |
template <typename Iterator> | |
struct apply | |
Index: boost/fusion/container/vector/detail/distance_impl.hpp | |
=================================================================== | |
--- boost/fusion/container/vector/detail/distance_impl.hpp (revision 74355) | |
+++ boost/fusion/container/vector/detail/distance_impl.hpp (working copy) | |
@@ -15,11 +15,8 @@ | |
namespace extension | |
{ | |
- template <typename Tag> | |
- struct distance_impl; | |
- | |
- template <> | |
- struct distance_impl<vector_iterator_tag> | |
+ template <typename Dummy> | |
+ struct distance_impl<vector_iterator_tag, Dummy> | |
{ | |
template <typename First, typename Last> | |
struct apply : mpl::minus<typename Last::index, typename First::index> | |
Index: boost/fusion/container/vector/detail/prior_impl.hpp | |
=================================================================== | |
--- boost/fusion/container/vector/detail/prior_impl.hpp (revision 74355) | |
+++ boost/fusion/container/vector/detail/prior_impl.hpp (working copy) | |
@@ -17,11 +17,8 @@ | |
namespace extension | |
{ | |
- template <typename Tag> | |
- struct prior_impl; | |
- | |
- template <> | |
- struct prior_impl<vector_iterator_tag> | |
+ template <typename Dummy> | |
+ struct prior_impl<vector_iterator_tag, Dummy> | |
{ | |
template <typename Iterator> | |
struct apply | |
Index: boost/fusion/container/vector/detail/value_of_impl.hpp | |
=================================================================== | |
--- boost/fusion/container/vector/detail/value_of_impl.hpp (revision 74355) | |
+++ boost/fusion/container/vector/detail/value_of_impl.hpp (working copy) | |
@@ -15,11 +15,8 @@ | |
namespace extension | |
{ | |
- template <typename Tag> | |
- struct value_of_impl; | |
- | |
- template <> | |
- struct value_of_impl<vector_iterator_tag> | |
+ template <typename Dummy> | |
+ struct value_of_impl<vector_iterator_tag, Dummy> | |
{ | |
template <typename Iterator> | |
struct apply | |
Index: boost/fusion/container/vector/detail/value_at_impl.hpp | |
=================================================================== | |
--- boost/fusion/container/vector/detail/value_at_impl.hpp (revision 74355) | |
+++ boost/fusion/container/vector/detail/value_at_impl.hpp (working copy) | |
@@ -15,11 +15,8 @@ | |
namespace extension | |
{ | |
- template <typename Tag> | |
- struct value_at_impl; | |
- | |
- template <> | |
- struct value_at_impl<vector_tag> | |
+ template <typename Dummy> | |
+ struct value_at_impl<vector_tag, Dummy> | |
{ | |
template <typename Sequence, typename N> | |
struct apply | |
Index: boost/fusion/container/vector/detail/advance_impl.hpp | |
=================================================================== | |
--- boost/fusion/container/vector/detail/advance_impl.hpp (revision 74355) | |
+++ boost/fusion/container/vector/detail/advance_impl.hpp (working copy) | |
@@ -16,11 +16,8 @@ | |
namespace extension | |
{ | |
- template <typename Tag> | |
- struct advance_impl; | |
- | |
- template <> | |
- struct advance_impl<vector_iterator_tag> | |
+ template <typename Dummy> | |
+ struct advance_impl<vector_iterator_tag, Dummy> | |
{ | |
template <typename Iterator, typename N> | |
struct apply | |
Index: boost/fusion/container/vector/detail/at_impl.hpp | |
=================================================================== | |
--- boost/fusion/container/vector/detail/at_impl.hpp (revision 74355) | |
+++ boost/fusion/container/vector/detail/at_impl.hpp (working copy) | |
@@ -18,11 +18,8 @@ | |
namespace extension | |
{ | |
- template <typename Tag> | |
- struct at_impl; | |
- | |
- template <> | |
- struct at_impl<vector_tag> | |
+ template <typename Dummy> | |
+ struct at_impl<vector_tag, Dummy> | |
{ | |
template <typename Sequence, typename N> | |
struct apply | |
Index: boost/fusion/container/vector/detail/as_vector.hpp | |
=================================================================== | |
--- boost/fusion/container/vector/detail/as_vector.hpp (revision 74355) | |
+++ boost/fusion/container/vector/detail/as_vector.hpp (working copy) | |
@@ -22,11 +22,11 @@ | |
namespace boost { namespace fusion { namespace detail | |
{ | |
- template <int size> | |
+ template <int size, typename Dummy = void> | |
struct as_vector; | |
- template <> | |
- struct as_vector<0> | |
+ template <typename Dummy> | |
+ struct as_vector<0, Dummy> | |
{ | |
template <typename Iterator> | |
struct apply | |
@@ -74,8 +74,8 @@ | |
#define N BOOST_PP_ITERATION() | |
- template <> | |
- struct as_vector<N> | |
+ template <typename Dummy> | |
+ struct as_vector<N, Dummy> | |
{ | |
template <typename I0> | |
struct apply | |
Index: boost/fusion/container/vector/detail/end_impl.hpp | |
=================================================================== | |
--- boost/fusion/container/vector/detail/end_impl.hpp (revision 74355) | |
+++ boost/fusion/container/vector/detail/end_impl.hpp (working copy) | |
@@ -15,11 +15,8 @@ | |
namespace extension | |
{ | |
- template <typename Tag> | |
- struct end_impl; | |
- | |
- template <> | |
- struct end_impl<vector_tag> | |
+ template <typename Dummy> | |
+ struct end_impl<vector_tag, Dummy> | |
{ | |
template <typename Sequence> | |
struct apply | |
Index: boost/fusion/container/deque/detail/convert_impl.hpp | |
=================================================================== | |
--- boost/fusion/container/deque/detail/convert_impl.hpp (revision 74355) | |
+++ boost/fusion/container/deque/detail/convert_impl.hpp (working copy) | |
@@ -12,6 +12,7 @@ | |
#include <boost/fusion/container/deque/deque.hpp> | |
#include <boost/fusion/sequence/intrinsic/begin.hpp> | |
#include <boost/fusion/sequence/intrinsic/size.hpp> | |
+#include <boost/fusion/sequence/convert.hpp> | |
namespace boost { namespace fusion | |
{ | |
@@ -19,11 +20,8 @@ | |
namespace extension | |
{ | |
- template <typename T> | |
- struct convert_impl; | |
- | |
- template <> | |
- struct convert_impl<deque_tag> | |
+ template <typename Dummy> | |
+ struct convert_impl<deque_tag, Dummy> | |
{ | |
template <typename Sequence> | |
struct apply | |
Index: boost/fusion/container/deque/detail/value_at_impl.hpp | |
=================================================================== | |
--- boost/fusion/container/deque/detail/value_at_impl.hpp (revision 74355) | |
+++ boost/fusion/container/deque/detail/value_at_impl.hpp (working copy) | |
@@ -9,6 +9,7 @@ | |
#define BOOST_FUSION_DEQUE_VALUE_AT_IMPL_08122006_0756 | |
#include <boost/fusion/container/deque/detail/keyed_element.hpp> | |
+#include <boost/fusion/sequence/intrinsic_fwd.hpp> | |
#include <boost/mpl/equal_to.hpp> | |
#include <boost/mpl/assert.hpp> | |
@@ -19,11 +20,8 @@ | |
namespace extension | |
{ | |
- template<typename T> | |
- struct value_at_impl; | |
- | |
- template<> | |
- struct value_at_impl<deque_tag> | |
+ template<typename Dummy> | |
+ struct value_at_impl<deque_tag, Dummy> | |
{ | |
template<typename Sequence, typename N> | |
struct apply | |
Index: boost/fusion/container/deque/detail/is_sequence_impl.hpp | |
=================================================================== | |
--- boost/fusion/container/deque/detail/is_sequence_impl.hpp (revision 74355) | |
+++ boost/fusion/container/deque/detail/is_sequence_impl.hpp (working copy) | |
@@ -8,6 +8,7 @@ | |
#ifndef BOOST_FUSION_CONTAINER_DEQUE_DETAIL_IS_SEQUENCE_IMPL_HPP | |
#define BOOST_FUSION_CONTAINER_DEQUE_DETAIL_IS_SEQUENCE_IMPL_HPP | |
+#include <boost/fusion/support/is_sequence_fwd.hpp> | |
#include <boost/mpl/bool.hpp> | |
namespace boost { namespace fusion | |
@@ -16,11 +17,8 @@ | |
namespace extension | |
{ | |
- template<typename T> | |
- struct is_sequence_impl; | |
- | |
- template<> | |
- struct is_sequence_impl<deque_tag> | |
+ template<typename Dummy> | |
+ struct is_sequence_impl<deque_tag, Dummy> | |
{ | |
template<typename Sequence> | |
struct apply | |
Index: boost/fusion/container/deque/detail/at_impl.hpp | |
=================================================================== | |
--- boost/fusion/container/deque/detail/at_impl.hpp (revision 74355) | |
+++ boost/fusion/container/deque/detail/at_impl.hpp (working copy) | |
@@ -9,6 +9,7 @@ | |
#define BOOST_FUSION_DEQUE_AT_IMPL_09122006_2017 | |
#include <boost/fusion/container/deque/detail/keyed_element.hpp> | |
+#include <boost/fusion/sequence/intrinsic_fwd.hpp> | |
#include <boost/mpl/eval_if.hpp> | |
#include <boost/mpl/equal_to.hpp> | |
@@ -25,11 +26,8 @@ | |
namespace extension | |
{ | |
- template<typename T> | |
- struct at_impl; | |
- | |
- template<> | |
- struct at_impl<deque_tag> | |
+ template<typename Dummy> | |
+ struct at_impl<deque_tag, Dummy> | |
{ | |
template<typename Sequence, typename N> | |
struct apply | |
Index: boost/fusion/container/deque/detail/begin_impl.hpp | |
=================================================================== | |
--- boost/fusion/container/deque/detail/begin_impl.hpp (revision 74355) | |
+++ boost/fusion/container/deque/detail/begin_impl.hpp (working copy) | |
@@ -9,6 +9,7 @@ | |
#define BOOST_FUSION_DEQUE_BEGIN_IMPL_09122006_2034 | |
#include <boost/fusion/container/deque/deque_iterator.hpp> | |
+#include <boost/fusion/sequence/intrinsic_fwd.hpp> | |
#include <boost/mpl/equal_to.hpp> | |
#include <boost/mpl/if.hpp> | |
@@ -19,11 +20,8 @@ | |
namespace extension | |
{ | |
- template<typename T> | |
- struct begin_impl; | |
- | |
- template<> | |
- struct begin_impl<deque_tag> | |
+ template<typename Dummy> | |
+ struct begin_impl<deque_tag, Dummy> | |
{ | |
template<typename Sequence> | |
struct apply | |
Index: boost/fusion/container/deque/detail/as_deque.hpp | |
=================================================================== | |
--- boost/fusion/container/deque/detail/as_deque.hpp (revision 74355) | |
+++ boost/fusion/container/deque/detail/as_deque.hpp (working copy) | |
@@ -23,11 +23,11 @@ | |
namespace boost { namespace fusion { namespace detail | |
{ | |
- template <int size> | |
+ template <int size, typename Dummy = void> | |
struct as_deque; | |
- template <> | |
- struct as_deque<0> | |
+ template <typename Dummy> | |
+ struct as_deque<0, Dummy> | |
{ | |
template <typename Iterator> | |
struct apply | |
@@ -75,8 +75,8 @@ | |
#define N BOOST_PP_ITERATION() | |
- template <> | |
- struct as_deque<N> | |
+ template <typename Dummy> | |
+ struct as_deque<N, Dummy> | |
{ | |
template <typename I0> | |
struct apply | |
Index: boost/fusion/container/deque/detail/end_impl.hpp | |
=================================================================== | |
--- boost/fusion/container/deque/detail/end_impl.hpp (revision 74355) | |
+++ boost/fusion/container/deque/detail/end_impl.hpp (working copy) | |
@@ -9,7 +9,7 @@ | |
#define BOOST_FUSION_DEQUE_END_IMPL_09122006_2034 | |
#include <boost/fusion/container/deque/deque_iterator.hpp> | |
- | |
+#include <boost/fusion/sequence/intrinsic_fwd.hpp> | |
#include <boost/mpl/equal_to.hpp> | |
#include <boost/mpl/if.hpp> | |
@@ -19,11 +19,8 @@ | |
namespace extension | |
{ | |
- template<typename T> | |
- struct end_impl; | |
- | |
- template<> | |
- struct end_impl<deque_tag> | |
+ template<typename Dummy> | |
+ struct end_impl<deque_tag, Dummy> | |
{ | |
template<typename Sequence> | |
struct apply | |
Index: boost/fusion/container/list/cons_iterator.hpp | |
=================================================================== | |
--- boost/fusion/container/list/cons_iterator.hpp (revision 74355) | |
+++ boost/fusion/container/list/cons_iterator.hpp (working copy) | |
@@ -25,7 +25,7 @@ | |
template <typename Cons> | |
struct cons_iterator_identity; | |
- template <typename Cons = nil> | |
+ template <typename Cons, typename Dummy> | |
struct cons_iterator : iterator_base<cons_iterator<Cons> > | |
{ | |
typedef cons_iterator_tag fusion_tag; | |
@@ -57,29 +57,29 @@ | |
explicit nil_iterator(nil const&) {} | |
}; | |
- template <> | |
- struct cons_iterator<nil> : nil_iterator | |
+ template <typename Dummy> | |
+ struct cons_iterator<nil, Dummy> : nil_iterator | |
{ | |
cons_iterator() {} | |
explicit cons_iterator(nil const&) {} | |
}; | |
- template <> | |
- struct cons_iterator<nil const> : nil_iterator | |
+ template <typename Dummy> | |
+ struct cons_iterator<nil const, Dummy> : nil_iterator | |
{ | |
cons_iterator() {} | |
explicit cons_iterator(nil const&) {} | |
}; | |
- template <> | |
- struct cons_iterator<list<> > : nil_iterator | |
+ template <typename Dummy> | |
+ struct cons_iterator<list<>, Dummy> : nil_iterator | |
{ | |
cons_iterator() {} | |
explicit cons_iterator(nil const&) {} | |
}; | |
- template <> | |
- struct cons_iterator<list<> const> : nil_iterator | |
+ template <typename Dummy> | |
+ struct cons_iterator<list<> const, Dummy> : nil_iterator | |
{ | |
cons_iterator() {} | |
explicit cons_iterator(nil const&) {} | |
Index: boost/fusion/container/list/detail/equal_to_impl.hpp | |
=================================================================== | |
--- boost/fusion/container/list/detail/equal_to_impl.hpp (revision 74355) | |
+++ boost/fusion/container/list/detail/equal_to_impl.hpp (working copy) | |
@@ -17,11 +17,8 @@ | |
namespace extension | |
{ | |
- template <typename Tag> | |
- struct equal_to_impl; | |
- | |
- template <> | |
- struct equal_to_impl<cons_iterator_tag> | |
+ template <typename Dummy> | |
+ struct equal_to_impl<cons_iterator_tag, Dummy> | |
{ | |
template <typename I1, typename I2> | |
struct apply | |
Index: boost/fusion/container/list/detail/next_impl.hpp | |
=================================================================== | |
--- boost/fusion/container/list/detail/next_impl.hpp (revision 74355) | |
+++ boost/fusion/container/list/detail/next_impl.hpp (working copy) | |
@@ -19,16 +19,13 @@ | |
{ | |
struct cons_iterator_tag; | |
- template <typename Cons> | |
+ template <typename Cons = nil, typename Dummy = void> | |
struct cons_iterator; | |
namespace extension | |
{ | |
- template <typename Tag> | |
- struct next_impl; | |
- | |
- template <> | |
- struct next_impl<cons_iterator_tag> | |
+ template <typename Dummy> | |
+ struct next_impl<cons_iterator_tag, Dummy> | |
{ | |
template <typename Iterator> | |
struct apply | |
Index: boost/fusion/container/list/detail/list_to_cons.hpp | |
=================================================================== | |
--- boost/fusion/container/list/detail/list_to_cons.hpp (revision 74355) | |
+++ boost/fusion/container/list/detail/list_to_cons.hpp (working copy) | |
@@ -24,7 +24,7 @@ | |
namespace boost { namespace fusion { namespace detail | |
{ | |
- template <BOOST_PP_ENUM_PARAMS(FUSION_MAX_LIST_SIZE, typename T)> | |
+ template <BOOST_PP_ENUM_PARAMS(FUSION_MAX_LIST_SIZE, typename T), typename Dummy = void> | |
struct list_to_cons | |
{ | |
typedef T0 head_type; | |
@@ -38,8 +38,8 @@ | |
#include <boost/fusion/container/list/detail/list_to_cons_call.hpp> | |
}; | |
- template <> | |
- struct list_to_cons<BOOST_PP_ENUM(FUSION_MAX_LIST_SIZE, FUSION_VOID, _)> | |
+ template <typename Dummy> | |
+ struct list_to_cons<BOOST_PP_ENUM(FUSION_MAX_LIST_SIZE, FUSION_VOID, _), Dummy> | |
{ | |
typedef nil type; | |
}; | |
Index: boost/fusion/container/list/detail/convert_impl.hpp | |
=================================================================== | |
--- boost/fusion/container/list/detail/convert_impl.hpp (revision 74355) | |
+++ boost/fusion/container/list/detail/convert_impl.hpp (working copy) | |
@@ -13,6 +13,7 @@ | |
#include <boost/fusion/sequence/intrinsic/empty.hpp> | |
#include <boost/fusion/sequence/intrinsic/begin.hpp> | |
#include <boost/fusion/sequence/intrinsic/end.hpp> | |
+#include <boost/fusion/sequence/convert.hpp> | |
namespace boost { namespace fusion | |
{ | |
@@ -20,11 +21,8 @@ | |
namespace extension | |
{ | |
- template <typename T> | |
- struct convert_impl; | |
- | |
- template <> | |
- struct convert_impl<cons_tag> | |
+ template <typename Dummy> | |
+ struct convert_impl<cons_tag, Dummy> | |
{ | |
template <typename Sequence> | |
struct apply | |
Index: boost/fusion/container/list/detail/begin_impl.hpp | |
=================================================================== | |
--- boost/fusion/container/list/detail/begin_impl.hpp (revision 74355) | |
+++ boost/fusion/container/list/detail/begin_impl.hpp (working copy) | |
@@ -20,16 +20,13 @@ | |
template <typename Car, typename Cdr> | |
struct cons; | |
- template <typename Cons> | |
+ template <typename Cons, typename Dummy> | |
struct cons_iterator; | |
namespace extension | |
{ | |
- template <typename Tag> | |
- struct begin_impl; | |
- | |
- template <> | |
- struct begin_impl<cons_tag> | |
+ template <typename Dummy> | |
+ struct begin_impl<cons_tag, Dummy> | |
{ | |
template <typename Sequence> | |
struct apply | |
Index: boost/fusion/container/list/detail/deref_impl.hpp | |
=================================================================== | |
--- boost/fusion/container/list/detail/deref_impl.hpp (revision 74355) | |
+++ boost/fusion/container/list/detail/deref_impl.hpp (working copy) | |
@@ -19,11 +19,8 @@ | |
namespace extension | |
{ | |
- template <typename Tag> | |
- struct deref_impl; | |
- | |
- template <> | |
- struct deref_impl<cons_iterator_tag> | |
+ template <typename Dummy> | |
+ struct deref_impl<cons_iterator_tag, Dummy> | |
{ | |
template <typename Iterator> | |
struct apply | |
Index: boost/fusion/container/list/detail/empty_impl.hpp | |
=================================================================== | |
--- boost/fusion/container/list/detail/empty_impl.hpp (revision 74355) | |
+++ boost/fusion/container/list/detail/empty_impl.hpp (working copy) | |
@@ -20,11 +20,8 @@ | |
namespace extension | |
{ | |
- template <typename Tag> | |
- struct empty_impl; | |
- | |
- template <> | |
- struct empty_impl<cons_tag> | |
+ template <typename Dummy> | |
+ struct empty_impl<cons_tag, Dummy> | |
{ | |
template <typename Sequence> | |
struct apply | |
Index: boost/fusion/container/list/detail/value_of_impl.hpp | |
=================================================================== | |
--- boost/fusion/container/list/detail/value_of_impl.hpp (revision 74355) | |
+++ boost/fusion/container/list/detail/value_of_impl.hpp (working copy) | |
@@ -14,11 +14,8 @@ | |
namespace extension | |
{ | |
- template <typename Tag> | |
- struct value_of_impl; | |
- | |
- template <> | |
- struct value_of_impl<cons_iterator_tag> | |
+ template <typename Dummy> | |
+ struct value_of_impl<cons_iterator_tag, Dummy> | |
{ | |
template <typename Iterator> | |
struct apply | |
Index: boost/fusion/container/list/detail/value_at_impl.hpp | |
=================================================================== | |
--- boost/fusion/container/list/detail/value_at_impl.hpp (revision 74355) | |
+++ boost/fusion/container/list/detail/value_at_impl.hpp (working copy) | |
@@ -18,11 +18,8 @@ | |
namespace extension | |
{ | |
- template <typename Tag> | |
- struct value_at_impl; | |
- | |
- template <> | |
- struct value_at_impl<cons_tag> | |
+ template <typename Dummy> | |
+ struct value_at_impl<cons_tag, Dummy> | |
{ | |
template <typename Sequence, typename N> | |
struct apply | |
Index: boost/fusion/container/list/detail/at_impl.hpp | |
=================================================================== | |
--- boost/fusion/container/list/detail/at_impl.hpp (revision 74355) | |
+++ boost/fusion/container/list/detail/at_impl.hpp (working copy) | |
@@ -84,11 +84,8 @@ | |
namespace extension | |
{ | |
- template <typename Tag> | |
- struct at_impl; | |
- | |
- template <> | |
- struct at_impl<cons_tag> | |
+ template <typename Dummy> | |
+ struct at_impl<cons_tag, Dummy> | |
{ | |
template <typename Sequence, typename N> | |
struct apply | |
Index: boost/fusion/container/list/detail/end_impl.hpp | |
=================================================================== | |
--- boost/fusion/container/list/detail/end_impl.hpp (revision 74355) | |
+++ boost/fusion/container/list/detail/end_impl.hpp (working copy) | |
@@ -20,16 +20,13 @@ | |
template <typename Car, typename Cdr> | |
struct cons; | |
- template <typename Cons> | |
+ template <typename Cons, typename Dummy> | |
struct cons_iterator; | |
namespace extension | |
{ | |
- template <typename Tag> | |
- struct end_impl; | |
- | |
- template <> | |
- struct end_impl<cons_tag> | |
+ template <typename Dummy> | |
+ struct end_impl<cons_tag, Dummy> | |
{ | |
template <typename Sequence> | |
struct apply | |
Index: boost/fusion/container/set/detail/value_of_data_impl.hpp | |
=================================================================== | |
--- boost/fusion/container/set/detail/value_of_data_impl.hpp (revision 74355) | |
+++ boost/fusion/container/set/detail/value_of_data_impl.hpp (working copy) | |
@@ -12,11 +12,8 @@ | |
namespace boost { namespace fusion { namespace extension | |
{ | |
- template <typename> | |
- struct value_of_data_impl; | |
- | |
- template <> | |
- struct value_of_data_impl<set_iterator_tag> | |
+ template <typename Dummy> | |
+ struct value_of_data_impl<set_iterator_tag, Dummy> | |
: value_of_impl<set_iterator_tag> | |
{}; | |
}}} | |
Index: boost/fusion/container/set/detail/key_of_impl.hpp | |
=================================================================== | |
--- boost/fusion/container/set/detail/key_of_impl.hpp (revision 74355) | |
+++ boost/fusion/container/set/detail/key_of_impl.hpp (working copy) | |
@@ -12,11 +12,8 @@ | |
namespace boost { namespace fusion { namespace extension | |
{ | |
- template <typename> | |
- struct key_of_impl; | |
- | |
- template <> | |
- struct key_of_impl<set_iterator_tag> | |
+ template <typename Dummy> | |
+ struct key_of_impl<set_iterator_tag, Dummy> | |
: value_of_impl<set_iterator_tag> | |
{}; | |
}}} | |
Index: boost/fusion/container/set/detail/as_set.hpp | |
=================================================================== | |
--- boost/fusion/container/set/detail/as_set.hpp (revision 74355) | |
+++ boost/fusion/container/set/detail/as_set.hpp (working copy) | |
@@ -22,11 +22,11 @@ | |
namespace boost { namespace fusion { namespace detail | |
{ | |
- template <int size> | |
+ template <int size, typename Dummy = void> | |
struct as_set; | |
- template <> | |
- struct as_set<0> | |
+ template <typename Dummy> | |
+ struct as_set<0, Dummy> | |
{ | |
template <typename Iterator> | |
struct apply | |
@@ -74,8 +74,8 @@ | |
#define N BOOST_PP_ITERATION() | |
- template <> | |
- struct as_set<N> | |
+ template <typename Dummy> | |
+ struct as_set<N, Dummy> | |
{ | |
template <typename I0> | |
struct apply | |
Index: boost/fusion/container/set/detail/deref_data_impl.hpp | |
=================================================================== | |
--- boost/fusion/container/set/detail/deref_data_impl.hpp (revision 74355) | |
+++ boost/fusion/container/set/detail/deref_data_impl.hpp (working copy) | |
@@ -12,11 +12,8 @@ | |
namespace boost { namespace fusion { namespace extension | |
{ | |
- template <typename> | |
- struct deref_data_impl; | |
- | |
- template <> | |
- struct deref_data_impl<set_iterator_tag> | |
+ template <typename Dummy> | |
+ struct deref_data_impl<set_iterator_tag, Dummy> | |
: deref_impl<set_iterator_tag> | |
{}; | |
}}} | |
Index: boost/fusion/container/set/detail/convert_impl.hpp | |
=================================================================== | |
--- boost/fusion/container/set/detail/convert_impl.hpp (revision 74355) | |
+++ boost/fusion/container/set/detail/convert_impl.hpp (working copy) | |
@@ -12,6 +12,7 @@ | |
#include <boost/fusion/container/set/set.hpp> | |
#include <boost/fusion/sequence/intrinsic/begin.hpp> | |
#include <boost/fusion/sequence/intrinsic/size.hpp> | |
+#include <boost/fusion/sequence/convert.hpp> | |
namespace boost { namespace fusion | |
{ | |
@@ -19,11 +20,8 @@ | |
namespace extension | |
{ | |
- template <typename T> | |
- struct convert_impl; | |
- | |
- template <> | |
- struct convert_impl<set_tag> | |
+ template <typename Dummy> | |
+ struct convert_impl<set_tag, Dummy> | |
{ | |
template <typename Sequence> | |
struct apply | |
Index: boost/fusion/container/set/detail/value_of_impl.hpp | |
=================================================================== | |
--- boost/fusion/container/set/detail/value_of_impl.hpp (revision 74355) | |
+++ boost/fusion/container/set/detail/value_of_impl.hpp (working copy) | |
@@ -12,11 +12,8 @@ | |
namespace boost { namespace fusion { namespace extension | |
{ | |
- template <typename> | |
- struct value_of_impl; | |
- | |
- template <> | |
- struct value_of_impl<set_iterator_tag> | |
+ template <typename Dummy> | |
+ struct value_of_impl<set_iterator_tag, Dummy> | |
{ | |
template <typename It> | |
struct apply | |
Index: boost/fusion/container/set/detail/begin_impl.hpp | |
=================================================================== | |
--- boost/fusion/container/set/detail/begin_impl.hpp (revision 74355) | |
+++ boost/fusion/container/set/detail/begin_impl.hpp (working copy) | |
@@ -10,14 +10,12 @@ | |
#define BOOST_FUSION_CONTAINER_SET_DETAIL_BEGIN_IMPL_HPP | |
#include <boost/fusion/iterator/basic_iterator.hpp> | |
+#include <boost/fusion/sequence/intrinsic_fwd.hpp> | |
namespace boost { namespace fusion { namespace extension | |
{ | |
- template <typename> | |
- struct begin_impl; | |
- | |
- template <> | |
- struct begin_impl<set_tag> | |
+ template <typename Dummy> | |
+ struct begin_impl<set_tag, Dummy> | |
{ | |
template <typename Seq> | |
struct apply | |
Index: boost/fusion/container/set/detail/deref_impl.hpp | |
=================================================================== | |
--- boost/fusion/container/set/detail/deref_impl.hpp (revision 74355) | |
+++ boost/fusion/container/set/detail/deref_impl.hpp (working copy) | |
@@ -13,11 +13,8 @@ | |
namespace boost { namespace fusion { namespace extension | |
{ | |
- template <typename> | |
- struct deref_impl; | |
- | |
- template <> | |
- struct deref_impl<set_iterator_tag> | |
+ template <typename Dummy> | |
+ struct deref_impl<set_iterator_tag, Dummy> | |
{ | |
template <typename It> | |
struct apply | |
Index: boost/fusion/container/set/detail/end_impl.hpp | |
=================================================================== | |
--- boost/fusion/container/set/detail/end_impl.hpp (revision 74355) | |
+++ boost/fusion/container/set/detail/end_impl.hpp (working copy) | |
@@ -13,11 +13,8 @@ | |
namespace boost { namespace fusion { namespace extension | |
{ | |
- template <typename> | |
- struct end_impl; | |
- | |
- template <> | |
- struct end_impl<set_tag> | |
+ template <typename Dummy> | |
+ struct end_impl<set_tag, Dummy> | |
{ | |
template <typename Seq> | |
struct apply | |
Index: boost/fusion/container/map/detail/value_of_data_impl.hpp | |
=================================================================== | |
--- boost/fusion/container/map/detail/value_of_data_impl.hpp (revision 74355) | |
+++ boost/fusion/container/map/detail/value_of_data_impl.hpp (working copy) | |
@@ -12,11 +12,8 @@ | |
namespace boost { namespace fusion { namespace extension | |
{ | |
- template <typename> | |
- struct value_of_data_impl; | |
- | |
- template <> | |
- struct value_of_data_impl<map_iterator_tag> | |
+ template <typename Dummy> | |
+ struct value_of_data_impl<map_iterator_tag, Dummy> | |
{ | |
template <typename It> | |
struct apply | |
Index: boost/fusion/container/map/detail/key_of_impl.hpp | |
=================================================================== | |
--- boost/fusion/container/map/detail/key_of_impl.hpp (revision 74355) | |
+++ boost/fusion/container/map/detail/key_of_impl.hpp (working copy) | |
@@ -12,11 +12,8 @@ | |
namespace boost { namespace fusion { namespace extension | |
{ | |
- template <typename> | |
- struct key_of_impl; | |
- | |
- template <> | |
- struct key_of_impl<map_iterator_tag> | |
+ template <typename Dummy> | |
+ struct key_of_impl<map_iterator_tag, Dummy> | |
{ | |
template <typename It> | |
struct apply | |
Index: boost/fusion/container/map/detail/deref_data_impl.hpp | |
=================================================================== | |
--- boost/fusion/container/map/detail/deref_data_impl.hpp (revision 74355) | |
+++ boost/fusion/container/map/detail/deref_data_impl.hpp (working copy) | |
@@ -17,11 +17,8 @@ | |
namespace boost { namespace fusion { namespace extension | |
{ | |
- template <typename> | |
- struct deref_data_impl; | |
- | |
- template <> | |
- struct deref_data_impl<map_iterator_tag> | |
+ template <typename Dummy> | |
+ struct deref_data_impl<map_iterator_tag, Dummy> | |
{ | |
template <typename It> | |
struct apply | |
Index: boost/fusion/container/map/detail/as_map.hpp | |
=================================================================== | |
--- boost/fusion/container/map/detail/as_map.hpp (revision 74355) | |
+++ boost/fusion/container/map/detail/as_map.hpp (working copy) | |
@@ -22,11 +22,11 @@ | |
namespace boost { namespace fusion { namespace detail | |
{ | |
- template <int size> | |
+ template <int size, typename Dummy = void> | |
struct as_map; | |
- template <> | |
- struct as_map<0> | |
+ template <typename Dummy> | |
+ struct as_map<0, Dummy> | |
{ | |
template <typename Iterator> | |
struct apply | |
@@ -74,8 +74,8 @@ | |
#define N BOOST_PP_ITERATION() | |
- template <> | |
- struct as_map<N> | |
+ template <typename Dummy> | |
+ struct as_map<N, Dummy> | |
{ | |
template <typename I0> | |
struct apply | |
Index: boost/fusion/container/map/detail/convert_impl.hpp | |
=================================================================== | |
--- boost/fusion/container/map/detail/convert_impl.hpp (revision 74355) | |
+++ boost/fusion/container/map/detail/convert_impl.hpp (working copy) | |
@@ -12,6 +12,7 @@ | |
#include <boost/fusion/container/map/map.hpp> | |
#include <boost/fusion/sequence/intrinsic/begin.hpp> | |
#include <boost/fusion/sequence/intrinsic/size.hpp> | |
+#include <boost/fusion/sequence/convert.hpp> | |
namespace boost { namespace fusion | |
{ | |
@@ -19,11 +20,8 @@ | |
namespace extension | |
{ | |
- template <typename T> | |
- struct convert_impl; | |
- | |
- template <> | |
- struct convert_impl<map_tag> | |
+ template <typename Dummy> | |
+ struct convert_impl<map_tag, Dummy> | |
{ | |
template <typename Sequence> | |
struct apply | |
Index: boost/fusion/container/map/detail/value_of_impl.hpp | |
=================================================================== | |
--- boost/fusion/container/map/detail/value_of_impl.hpp (revision 74355) | |
+++ boost/fusion/container/map/detail/value_of_impl.hpp (working copy) | |
@@ -13,11 +13,8 @@ | |
namespace boost { namespace fusion { namespace extension | |
{ | |
- template <typename> | |
- struct value_of_impl; | |
- | |
- template <> | |
- struct value_of_impl<map_iterator_tag> | |
+ template <typename Dummy> | |
+ struct value_of_impl<map_iterator_tag, Dummy> | |
{ | |
template <typename It> | |
struct apply | |
Index: boost/fusion/container/map/detail/begin_impl.hpp | |
=================================================================== | |
--- boost/fusion/container/map/detail/begin_impl.hpp (revision 74355) | |
+++ boost/fusion/container/map/detail/begin_impl.hpp (working copy) | |
@@ -10,14 +10,12 @@ | |
#define BOOST_FUSION_CONTAINER_MAP_DETAIL_BEGIN_IMPL_HPP | |
#include <boost/fusion/iterator/basic_iterator.hpp> | |
+#include <boost/fusion/sequence/intrinsic_fwd.hpp> | |
namespace boost { namespace fusion { namespace extension | |
{ | |
- template <typename> | |
- struct begin_impl; | |
- | |
- template <> | |
- struct begin_impl<map_tag> | |
+ template <typename Dummy> | |
+ struct begin_impl<map_tag, Dummy> | |
{ | |
template <typename Seq> | |
struct apply | |
Index: boost/fusion/container/map/detail/deref_impl.hpp | |
=================================================================== | |
--- boost/fusion/container/map/detail/deref_impl.hpp (revision 74355) | |
+++ boost/fusion/container/map/detail/deref_impl.hpp (working copy) | |
@@ -13,11 +13,8 @@ | |
namespace boost { namespace fusion { namespace extension | |
{ | |
- template <typename> | |
- struct deref_impl; | |
- | |
- template <> | |
- struct deref_impl<map_iterator_tag> | |
+ template <typename Dummy> | |
+ struct deref_impl<map_iterator_tag, Dummy> | |
{ | |
template <typename It> | |
struct apply | |
Index: boost/fusion/container/map/detail/end_impl.hpp | |
=================================================================== | |
--- boost/fusion/container/map/detail/end_impl.hpp (revision 74355) | |
+++ boost/fusion/container/map/detail/end_impl.hpp (working copy) | |
@@ -13,11 +13,8 @@ | |
namespace boost { namespace fusion { namespace extension | |
{ | |
- template <typename> | |
- struct end_impl; | |
- | |
- template <> | |
- struct end_impl<map_tag> | |
+ template <typename Dummy> | |
+ struct end_impl<map_tag, Dummy> | |
{ | |
template <typename Seq> | |
struct apply | |
Index: boost/fusion/algorithm/query/detail/count_if.hpp | |
=================================================================== | |
--- boost/fusion/algorithm/query/detail/count_if.hpp (revision 74355) | |
+++ boost/fusion/algorithm/query/detail/count_if.hpp (working copy) | |
@@ -57,7 +57,7 @@ | |
, typename result_of::end<Sequence>::type>()); | |
} | |
- template<int n> | |
+ template<int n, typename Dummy = void> | |
struct unrolled_count_if | |
{ | |
template<typename I0, typename F> | |
@@ -87,8 +87,8 @@ | |
} | |
}; | |
- template<> | |
- struct unrolled_count_if<3> | |
+ template<typename Dummy> | |
+ struct unrolled_count_if<3, Dummy> | |
{ | |
template<typename I0, typename F> | |
static int call(I0 const& i0, F f) | |
@@ -111,8 +111,8 @@ | |
} | |
}; | |
- template<> | |
- struct unrolled_count_if<2> | |
+ template<typename Dummy> | |
+ struct unrolled_count_if<2, Dummy> | |
{ | |
template<typename I0, typename F> | |
static int call(I0 const& i0, F f) | |
@@ -131,8 +131,8 @@ | |
} | |
}; | |
- template<> | |
- struct unrolled_count_if<1> | |
+ template<typename Dummy> | |
+ struct unrolled_count_if<1, Dummy> | |
{ | |
template<typename I0, typename F> | |
static int call(I0 const& i0, F f) | |
@@ -145,8 +145,8 @@ | |
}; | |
- template<> | |
- struct unrolled_count_if<0> | |
+ template<typename Dummy> | |
+ struct unrolled_count_if<0, Dummy> | |
{ | |
template<typename I0, typename F> | |
static int call(I0 const&, F) | |
Index: boost/fusion/algorithm/query/detail/any.hpp | |
=================================================================== | |
--- boost/fusion/algorithm/query/detail/any.hpp (revision 74355) | |
+++ boost/fusion/algorithm/query/detail/any.hpp (working copy) | |
@@ -55,7 +55,7 @@ | |
, typename result_of::end<Sequence>::type>()); | |
} | |
- template<int N> | |
+ template<int N, typename Dummy = void> | |
struct unrolled_any | |
{ | |
template <typename It, typename F> | |
@@ -70,8 +70,8 @@ | |
} | |
}; | |
- template<> | |
- struct unrolled_any<3> | |
+ template<typename Dummy> | |
+ struct unrolled_any<3, Dummy> | |
{ | |
template <typename It, typename F> | |
static bool call(It const& it, F f) | |
@@ -83,8 +83,8 @@ | |
} | |
}; | |
- template<> | |
- struct unrolled_any<2> | |
+ template<typename Dummy> | |
+ struct unrolled_any<2, Dummy> | |
{ | |
template <typename It, typename F> | |
static bool call(It const& it, F f) | |
@@ -95,8 +95,8 @@ | |
} | |
}; | |
- template<> | |
- struct unrolled_any<1> | |
+ template<typename Dummy> | |
+ struct unrolled_any<1, Dummy> | |
{ | |
template <typename It, typename F> | |
static bool call(It const& it, F f) | |
@@ -105,8 +105,8 @@ | |
} | |
}; | |
- template<> | |
- struct unrolled_any<0> | |
+ template<typename Dummy> | |
+ struct unrolled_any<0, Dummy> | |
{ | |
template <typename It, typename F> | |
static bool call(It const& it, F f) | |
Index: boost/fusion/algorithm/query/detail/all.hpp | |
=================================================================== | |
--- boost/fusion/algorithm/query/detail/all.hpp (revision 74355) | |
+++ boost/fusion/algorithm/query/detail/all.hpp (working copy) | |
@@ -52,7 +52,7 @@ | |
, typename result_of::end<Sequence>::type>()); | |
} | |
- template<int N> | |
+ template<int N, typename Dummy = void> | |
struct unrolled_all | |
{ | |
template <typename It, typename F> | |
@@ -67,8 +67,8 @@ | |
} | |
}; | |
- template<> | |
- struct unrolled_all<3> | |
+ template<typename Dummy> | |
+ struct unrolled_all<3, Dummy> | |
{ | |
template <typename It, typename F> | |
static bool call(It const& it, F f) | |
@@ -80,8 +80,8 @@ | |
} | |
}; | |
- template<> | |
- struct unrolled_all<2> | |
+ template<typename Dummy> | |
+ struct unrolled_all<2, Dummy> | |
{ | |
template <typename It, typename F> | |
static bool call(It const& it, F f) | |
@@ -92,8 +92,8 @@ | |
} | |
}; | |
- template<> | |
- struct unrolled_all<1> | |
+ template<typename Dummy> | |
+ struct unrolled_all<1, Dummy> | |
{ | |
template <typename It, typename F> | |
static bool call(It const& it, F f) | |
@@ -102,8 +102,8 @@ | |
} | |
}; | |
- template<> | |
- struct unrolled_all<0> | |
+ template<typename Dummy> | |
+ struct unrolled_all<0, Dummy> | |
{ | |
template <typename It, typename F> | |
static bool call(It const& /*it*/, F /*f*/) | |
Index: boost/fusion/algorithm/query/detail/count.hpp | |
=================================================================== | |
--- boost/fusion/algorithm/query/detail/count.hpp (revision 74355) | |
+++ boost/fusion/algorithm/query/detail/count.hpp (working copy) | |
@@ -19,12 +19,12 @@ | |
namespace boost { namespace fusion { namespace detail | |
{ | |
- template <bool is_convertible> | |
+ template <bool is_convertible, typename Dummy = void> | |
struct compare_convertible; | |
// T1 is convertible to T2 or vice versa | |
- template <> | |
- struct compare_convertible<true> | |
+ template <typename Dummy> | |
+ struct compare_convertible<true, Dummy> | |
{ | |
template <typename T1, typename T2> | |
static bool | |
@@ -35,8 +35,8 @@ | |
}; | |
// T1 is NOT convertible to T2 NOR vice versa | |
- template <> | |
- struct compare_convertible<false> | |
+ template <typename Dummy> | |
+ struct compare_convertible<false, Dummy> | |
{ | |
template <typename T1, typename T2> | |
static bool | |
Index: boost/fusion/algorithm/transformation/zip.hpp | |
=================================================================== | |
--- boost/fusion/algorithm/transformation/zip.hpp (revision 74355) | |
+++ boost/fusion/algorithm/transformation/zip.hpp (working copy) | |
@@ -34,7 +34,7 @@ | |
namespace result_of | |
{ | |
- template<BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT(BOOST_PP_INC(FUSION_MAX_ZIP_SEQUENCES), typename T, fusion::void_)> | |
+ template<BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT(BOOST_PP_INC(FUSION_MAX_ZIP_SEQUENCES), typename T, fusion::void_), typename Dummy = void> | |
struct zip; | |
} | |
@@ -53,13 +53,14 @@ | |
namespace result_of | |
{ | |
- template< BOOST_PP_ENUM_PARAMS(ZIP_ITERATION, typename T) > | |
#if defined(BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS) | |
+ template< BOOST_PP_ENUM_PARAMS(ZIP_ITERATION, typename T), typename Dummy> | |
#define TEXT(z, n, text) , text | |
- struct zip< BOOST_PP_ENUM_PARAMS(ZIP_ITERATION, T) BOOST_PP_REPEAT_FROM_TO(BOOST_PP_DEC(ZIP_ITERATION), FUSION_MAX_ZIP_SEQUENCES, TEXT, void_) > | |
+ struct zip< BOOST_PP_ENUM_PARAMS(ZIP_ITERATION, T) BOOST_PP_REPEAT_FROM_TO(BOOST_PP_DEC(ZIP_ITERATION), FUSION_MAX_ZIP_SEQUENCES, TEXT, void_), Dummy> | |
#undef TEXT | |
#else | |
- struct zip< BOOST_PP_ENUM_PARAMS(ZIP_ITERATION, T) > | |
+ template< BOOST_PP_ENUM_PARAMS(ZIP_ITERATION, typename T)> | |
+ struct zip< BOOST_PP_ENUM_PARAMS(ZIP_ITERATION, T)> | |
#endif | |
{ | |
typedef mpl::vector< BOOST_PP_ENUM_PARAMS(ZIP_ITERATION, T) > sequences; | |
Index: boost/fusion/algorithm/transformation/detail/replace_if.hpp | |
=================================================================== | |
--- boost/fusion/algorithm/transformation/detail/replace_if.hpp (revision 74355) | |
+++ boost/fusion/algorithm/transformation/detail/replace_if.hpp (working copy) | |
@@ -13,11 +13,11 @@ | |
namespace boost { namespace fusion { namespace detail | |
{ | |
- template <bool is_convertible> | |
+ template <bool is_convertible, typename Dummy = void> | |
struct replacer_if_helper; | |
- template <> | |
- struct replacer_if_helper<false> | |
+ template <typename Dummy> | |
+ struct replacer_if_helper<false, Dummy> | |
{ | |
template <typename U, typename F, typename T> | |
static U& | |
@@ -27,8 +27,8 @@ | |
} | |
}; | |
- template <> | |
- struct replacer_if_helper<true> | |
+ template <typename Dummy> | |
+ struct replacer_if_helper<true, Dummy> | |
{ | |
template <typename U, typename F, typename T> | |
static U | |
Index: boost/fusion/algorithm/transformation/detail/replace.hpp | |
=================================================================== | |
--- boost/fusion/algorithm/transformation/detail/replace.hpp (revision 74355) | |
+++ boost/fusion/algorithm/transformation/detail/replace.hpp (working copy) | |
@@ -13,11 +13,11 @@ | |
namespace boost { namespace fusion { namespace detail | |
{ | |
- template <bool is_convertible> | |
+ template <bool is_convertible, typename Dummy = void> | |
struct replacer_helper; | |
- template <> | |
- struct replacer_helper<false> | |
+ template <typename Dummy> | |
+ struct replacer_helper<false, Dummy> | |
{ | |
template <typename U, typename T> | |
static U& | |
@@ -27,8 +27,8 @@ | |
} | |
}; | |
- template <> | |
- struct replacer_helper<true> | |
+ template <typename Dummy> | |
+ struct replacer_helper<true, Dummy> | |
{ | |
template <typename U, typename T> | |
static U | |
Index: boost/fusion/algorithm/iteration/detail/fold.hpp | |
=================================================================== | |
--- boost/fusion/algorithm/iteration/detail/fold.hpp (revision 74355) | |
+++ boost/fusion/algorithm/iteration/detail/fold.hpp (working copy) | |
@@ -186,7 +186,7 @@ | |
{ | |
template<typename State, typename It0, typename F> | |
static Result | |
- call(State const& state,It0 const& it0,F f) | |
+ call(State const& state,It0 const&,F) | |
{ | |
return static_cast<Result>(state); | |
} | |
Index: boost/fusion/algorithm/iteration/detail/for_each.hpp | |
=================================================================== | |
--- boost/fusion/algorithm/iteration/detail/for_each.hpp (revision 74355) | |
+++ boost/fusion/algorithm/iteration/detail/for_each.hpp (working copy) | |
@@ -48,7 +48,7 @@ | |
, typename result_of::end<Sequence>::type>()); | |
} | |
- template<int N> | |
+ template<int N, typename Dummy = void> | |
struct for_each_unrolled | |
{ | |
template<typename I0, typename F> | |
@@ -68,8 +68,8 @@ | |
} | |
}; | |
- template<> | |
- struct for_each_unrolled<3> | |
+ template<typename Dummy> | |
+ struct for_each_unrolled<3, Dummy> | |
{ | |
template<typename I0, typename F> | |
static void call(I0 const& i0, F const& f) | |
@@ -84,8 +84,8 @@ | |
} | |
}; | |
- template<> | |
- struct for_each_unrolled<2> | |
+ template<typename Dummy> | |
+ struct for_each_unrolled<2, Dummy> | |
{ | |
template<typename I0, typename F> | |
static void call(I0 const& i0, F const& f) | |
@@ -97,8 +97,8 @@ | |
} | |
}; | |
- template<> | |
- struct for_each_unrolled<1> | |
+ template<typename Dummy> | |
+ struct for_each_unrolled<1, Dummy> | |
{ | |
template<typename I0, typename F> | |
static void call(I0 const& i0, F const& f) | |
@@ -107,8 +107,8 @@ | |
} | |
}; | |
- template<> | |
- struct for_each_unrolled<0> | |
+ template<typename Dummy> | |
+ struct for_each_unrolled<0, Dummy> | |
{ | |
template<typename It, typename F> | |
static void call(It const&, F const&) | |
Index: boost/fusion/mpl/detail/clear.hpp | |
=================================================================== | |
--- boost/fusion/mpl/detail/clear.hpp (revision 74355) | |
+++ boost/fusion/mpl/detail/clear.hpp (working copy) | |
@@ -23,23 +23,23 @@ | |
namespace detail | |
{ | |
- template <typename Tag> | |
+ template <typename Tag, typename Dummy = void> | |
struct clear; | |
- template <> | |
- struct clear<cons_tag> : mpl::identity<list<> > {}; | |
+ template <typename Dummy> | |
+ struct clear<cons_tag, Dummy> : mpl::identity<list<> > {}; | |
- template <> | |
- struct clear<map_tag> : mpl::identity<map<> > {}; | |
+ template <typename Dummy> | |
+ struct clear<map_tag, Dummy> : mpl::identity<map<> > {}; | |
- template <> | |
- struct clear<set_tag> : mpl::identity<set<> > {}; | |
+ template <typename Dummy> | |
+ struct clear<set_tag, Dummy> : mpl::identity<set<> > {}; | |
- template <> | |
- struct clear<vector_tag> : mpl::identity<vector<> > {}; | |
+ template <typename Dummy> | |
+ struct clear<vector_tag, Dummy> : mpl::identity<vector<> > {}; | |
- template <> | |
- struct clear<deque_tag> : mpl::identity<deque<> > {}; | |
+ template <typename Dummy> | |
+ struct clear<deque_tag, Dummy> : mpl::identity<deque<> > {}; | |
} | |
}} | |
Index: boost/fusion/iterator/value_of_data.hpp | |
=================================================================== | |
--- boost/fusion/iterator/value_of_data.hpp (revision 74355) | |
+++ boost/fusion/iterator/value_of_data.hpp (working copy) | |
@@ -16,11 +16,11 @@ | |
namespace extension | |
{ | |
- template <typename> | |
+ template <typename Tag, typename Dummy = void> | |
struct value_of_data_impl; | |
- template <> | |
- struct value_of_data_impl<iterator_facade_tag> | |
+ template <typename Dummy> | |
+ struct value_of_data_impl<iterator_facade_tag, Dummy> | |
{ | |
template <typename It> | |
struct apply | |
Index: boost/fusion/iterator/distance.hpp | |
=================================================================== | |
--- boost/fusion/iterator/distance.hpp (revision 74355) | |
+++ boost/fusion/iterator/distance.hpp (working copy) | |
@@ -16,19 +16,13 @@ | |
#include <boost/fusion/support/tag_of.hpp> | |
+#include <boost/fusion/iterator/distance_fwd.hpp> | |
+ | |
namespace boost { namespace fusion | |
{ | |
- struct random_access_traversal_tag; | |
- | |
- // Special tags: | |
- struct iterator_facade_tag; // iterator facade tag | |
- struct boost_array_iterator_tag; // boost::array iterator tag | |
- struct mpl_iterator_tag; // mpl sequence iterator tag | |
- struct std_pair_iterator_tag; // std::pair iterator tag | |
- | |
namespace extension | |
{ | |
- template <typename Tag> | |
+ template <typename Tag, typename Dummy> | |
struct distance_impl | |
{ | |
// default implementation | |
@@ -37,21 +31,12 @@ | |
{}; | |
}; | |
- template <> | |
- struct distance_impl<iterator_facade_tag> | |
+ template <typename Dummy> | |
+ struct distance_impl<iterator_facade_tag, Dummy> | |
{ | |
template <typename First, typename Last> | |
struct apply : First::template distance<First, Last> {}; | |
}; | |
- | |
- template <> | |
- struct distance_impl<boost_array_iterator_tag>; | |
- | |
- template <> | |
- struct distance_impl<mpl_iterator_tag>; | |
- | |
- template <> | |
- struct distance_impl<std_pair_iterator_tag>; | |
} | |
namespace result_of | |
Index: boost/fusion/iterator/basic_iterator.hpp | |
=================================================================== | |
--- boost/fusion/iterator/basic_iterator.hpp (revision 74355) | |
+++ boost/fusion/iterator/basic_iterator.hpp (working copy) | |
@@ -9,6 +9,11 @@ | |
#define BOOST_FUSION_ITERATOR_BASIC_ITERATOR_HPP | |
#include <boost/fusion/iterator/iterator_facade.hpp> | |
+#include <boost/fusion/iterator/value_of.hpp> | |
+#include <boost/fusion/iterator/deref.hpp> | |
+#include <boost/fusion/iterator/value_of_data.hpp> | |
+#include <boost/fusion/iterator/key_of.hpp> | |
+#include <boost/fusion/iterator/deref_data.hpp> | |
#include <boost/mpl/and.hpp> | |
#include <boost/mpl/equal_to.hpp> | |
@@ -21,19 +26,19 @@ | |
{ | |
namespace extension | |
{ | |
- template <typename> | |
+ template <typename, typename> | |
struct value_of_impl; | |
- template <typename> | |
+ template <typename, typename> | |
struct deref_impl; | |
- template <typename> | |
+ template <typename, typename> | |
struct value_of_data_impl; | |
- template <typename> | |
+ template <typename, typename> | |
struct key_of_impl; | |
- template <typename> | |
+ template <typename, typename> | |
struct deref_data_impl; | |
} | |
Index: boost/fusion/iterator/distance_fwd.hpp | |
=================================================================== | |
--- boost/fusion/iterator/distance_fwd.hpp (revision 0) | |
+++ boost/fusion/iterator/distance_fwd.hpp (revision 0) | |
@@ -0,0 +1,36 @@ | |
+/*============================================================================= | |
+ Copyright (c) 2001-2006 Joel de Guzman | |
+ | |
+ Distributed under the Boost Software License, Version 1.0. (See accompanying | |
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) | |
+==============================================================================*/ | |
+#if !defined(FUSION_DISTANCE_FWD_09172005_0721) | |
+#define FUSION_DISTANCE_FWD_09172005_0721 | |
+ | |
+namespace boost { namespace fusion | |
+{ | |
+ struct random_access_traversal_tag; | |
+ | |
+ // Special tags: | |
+ struct iterator_facade_tag; // iterator facade tag | |
+ struct boost_array_iterator_tag; // boost::array iterator tag | |
+ struct mpl_iterator_tag; // mpl sequence iterator tag | |
+ struct std_pair_iterator_tag; // std::pair iterator tag | |
+ | |
+ namespace extension | |
+ { | |
+ template <typename Tag, typename Dummy = void> | |
+ struct distance_impl; | |
+ | |
+ template <typename Dummy> | |
+ struct distance_impl<boost_array_iterator_tag, Dummy>; | |
+ | |
+ template <typename Dummy> | |
+ struct distance_impl<mpl_iterator_tag, Dummy>; | |
+ | |
+ template <typename Dummy> | |
+ struct distance_impl<std_pair_iterator_tag, Dummy>; | |
+ } | |
+}} | |
+ | |
+#endif | |
Property changes on: boost/fusion/iterator/distance_fwd.hpp | |
___________________________________________________________________ | |
Added: svn:mime-type | |
+ text/plain | |
Added: svn:keywords | |
+ Id | |
Added: svn:eol-style | |
+ native | |
Index: boost/fusion/iterator/prior.hpp | |
=================================================================== | |
--- boost/fusion/iterator/prior.hpp (revision 74355) | |
+++ boost/fusion/iterator/prior.hpp (working copy) | |
@@ -19,28 +19,28 @@ | |
namespace extension | |
{ | |
- template <typename Tag> | |
+ template <typename Tag, typename Dummy = void> | |
struct prior_impl | |
{ | |
template <typename Iterator> | |
struct apply {}; | |
}; | |
- template <> | |
- struct prior_impl<iterator_facade_tag> | |
+ template <typename Dummy> | |
+ struct prior_impl<iterator_facade_tag, Dummy> | |
{ | |
template <typename Iterator> | |
struct apply : Iterator::template prior<Iterator> {}; | |
}; | |
- template <> | |
- struct prior_impl<boost_array_iterator_tag>; | |
+ template <typename Dummy> | |
+ struct prior_impl<boost_array_iterator_tag, Dummy>; | |
- template <> | |
- struct prior_impl<mpl_iterator_tag>; | |
+ template <typename Dummy> | |
+ struct prior_impl<mpl_iterator_tag, Dummy>; | |
- template <> | |
- struct prior_impl<std_pair_iterator_tag>; | |
+ template <typename Dummy> | |
+ struct prior_impl<std_pair_iterator_tag, Dummy>; | |
} | |
namespace result_of | |
Index: boost/fusion/iterator/value_of.hpp | |
=================================================================== | |
--- boost/fusion/iterator/value_of.hpp (revision 74355) | |
+++ boost/fusion/iterator/value_of.hpp (working copy) | |
@@ -20,28 +20,28 @@ | |
namespace extension | |
{ | |
- template <typename Tag> | |
+ template <typename Tag, typename Dummy = void> | |
struct value_of_impl | |
{ | |
template <typename Iterator> | |
struct apply {}; | |
}; | |
- template <> | |
- struct value_of_impl<iterator_facade_tag> | |
+ template <typename Dummy> | |
+ struct value_of_impl<iterator_facade_tag, Dummy> | |
{ | |
template <typename Iterator> | |
struct apply : Iterator::template value_of<Iterator> {}; | |
}; | |
- template <> | |
- struct value_of_impl<boost_array_iterator_tag>; | |
+ template <typename Dummy> | |
+ struct value_of_impl<boost_array_iterator_tag, Dummy>; | |
- template <> | |
- struct value_of_impl<mpl_iterator_tag>; | |
+ template <typename Dummy> | |
+ struct value_of_impl<mpl_iterator_tag, Dummy>; | |
- template <> | |
- struct value_of_impl<std_pair_iterator_tag>; | |
+ template <typename Dummy> | |
+ struct value_of_impl<std_pair_iterator_tag, Dummy>; | |
} | |
namespace result_of | |
Index: boost/fusion/iterator/advance_fwd.hpp | |
=================================================================== | |
--- boost/fusion/iterator/advance_fwd.hpp (revision 0) | |
+++ boost/fusion/iterator/advance_fwd.hpp (revision 0) | |
@@ -0,0 +1,35 @@ | |
+/*============================================================================= | |
+ Copyright (c) 2001-2006 Joel de Guzman | |
+ | |
+ Distributed under the Boost Software License, Version 1.0. (See accompanying | |
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) | |
+==============================================================================*/ | |
+#if !defined(FUSION_ADVANCE_FWD_09172005_1146) | |
+#define FUSION_ADVANCE_FWD_09172005_1146 | |
+namespace boost { namespace fusion | |
+{ | |
+ struct random_access_traversal_tag; | |
+ | |
+ // Special tags: | |
+ struct iterator_facade_tag; // iterator facade tag | |
+ struct boost_array_iterator_tag; // boost::array iterator tag | |
+ struct mpl_iterator_tag; // mpl sequence iterator tag | |
+ struct std_pair_iterator_tag; // std::pair iterator tag | |
+ | |
+ namespace extension | |
+ { | |
+ template <typename Tag, typename Dummy = void> | |
+ struct advance_impl; | |
+ | |
+ template <typename Dummy> | |
+ struct advance_impl<boost_array_iterator_tag, Dummy>; | |
+ | |
+ template <typename Dummy> | |
+ struct advance_impl<mpl_iterator_tag, Dummy>; | |
+ | |
+ template <typename Dummy> | |
+ struct advance_impl<std_pair_iterator_tag, Dummy>; | |
+ } | |
+}} | |
+ | |
+#endif | |
Property changes on: boost/fusion/iterator/advance_fwd.hpp | |
___________________________________________________________________ | |
Added: svn:mime-type | |
+ text/plain | |
Added: svn:keywords | |
+ Id | |
Added: svn:eol-style | |
+ native | |
Index: boost/fusion/iterator/advance.hpp | |
=================================================================== | |
--- boost/fusion/iterator/advance.hpp (revision 74355) | |
+++ boost/fusion/iterator/advance.hpp (working copy) | |
@@ -15,19 +15,13 @@ | |
#include <boost/type_traits/is_same.hpp> | |
#include <boost/fusion/support/tag_of.hpp> | |
+#include <boost/fusion/iterator/advance_fwd.hpp> | |
+ | |
namespace boost { namespace fusion | |
{ | |
- struct random_access_traversal_tag; | |
- | |
- // Special tags: | |
- struct iterator_facade_tag; // iterator facade tag | |
- struct boost_array_iterator_tag; // boost::array iterator tag | |
- struct mpl_iterator_tag; // mpl sequence iterator tag | |
- struct std_pair_iterator_tag; // std::pair iterator tag | |
- | |
namespace extension | |
{ | |
- template <typename Tag> | |
+ template <typename Tag, typename Dummy> | |
struct advance_impl | |
{ | |
// default implementation | |
@@ -43,21 +37,12 @@ | |
}; | |
}; | |
- template <> | |
- struct advance_impl<iterator_facade_tag> | |
+ template <typename Dummy> | |
+ struct advance_impl<iterator_facade_tag, Dummy> | |
{ | |
template <typename Iterator, typename N> | |
struct apply : Iterator::template advance<Iterator, N> {}; | |
}; | |
- | |
- template <> | |
- struct advance_impl<boost_array_iterator_tag>; | |
- | |
- template <> | |
- struct advance_impl<mpl_iterator_tag>; | |
- | |
- template <> | |
- struct advance_impl<std_pair_iterator_tag>; | |
} | |
namespace result_of | |
Index: boost/fusion/iterator/equal_to.hpp | |
=================================================================== | |
--- boost/fusion/iterator/equal_to.hpp (revision 74355) | |
+++ boost/fusion/iterator/equal_to.hpp (working copy) | |
@@ -13,18 +13,13 @@ | |
#include <boost/fusion/support/is_iterator.hpp> | |
#include <boost/mpl/and.hpp> | |
#include <boost/utility/enable_if.hpp> | |
+#include <boost/fusion/iterator/equal_to_fwd.hpp> | |
namespace boost { namespace fusion | |
{ | |
- // Special tags: | |
- struct iterator_facade_tag; // iterator facade tag | |
- struct boost_array_iterator_tag; // boost::array iterator tag | |
- struct mpl_iterator_tag; // mpl sequence iterator tag | |
- struct std_pair_iterator_tag; // std::pair iterator tag | |
- | |
namespace extension | |
{ | |
- template <typename Tag> | |
+ template <typename Tag, typename Dummy> | |
struct equal_to_impl | |
{ | |
// default implementation | |
@@ -34,8 +29,8 @@ | |
{}; | |
}; | |
- template <> | |
- struct equal_to_impl<iterator_facade_tag> | |
+ template <typename Dummy> | |
+ struct equal_to_impl<iterator_facade_tag, Dummy> | |
{ | |
template <typename It1, typename It2, typename Tag1, typename Tag2> | |
struct dispatch : mpl::false_ {}; | |
@@ -51,14 +46,6 @@ | |
{}; | |
}; | |
- template <> | |
- struct equal_to_impl<boost_array_iterator_tag>; | |
- | |
- template <> | |
- struct equal_to_impl<mpl_iterator_tag>; | |
- | |
- template <> | |
- struct equal_to_impl<std_pair_iterator_tag>; | |
} | |
namespace result_of | |
Index: boost/fusion/iterator/equal_to_fwd.hpp | |
=================================================================== | |
--- boost/fusion/iterator/equal_to_fwd.hpp (revision 0) | |
+++ boost/fusion/iterator/equal_to_fwd.hpp (revision 0) | |
@@ -0,0 +1,34 @@ | |
+/*============================================================================= | |
+ Copyright (c) 2001-2006 Joel de Guzman | |
+ | |
+ Distributed under the Boost Software License, Version 1.0. (See accompanying | |
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) | |
+==============================================================================*/ | |
+#if !defined(FUSION_EQUAL_TO_FWD_05052005_1208) | |
+#define FUSION_EQUAL_TO_FWD_05052005_1208 | |
+ | |
+namespace boost { namespace fusion | |
+{ | |
+ // Special tags: | |
+ struct iterator_facade_tag; // iterator facade tag | |
+ struct boost_array_iterator_tag; // boost::array iterator tag | |
+ struct mpl_iterator_tag; // mpl sequence iterator tag | |
+ struct std_pair_iterator_tag; // std::pair iterator tag | |
+ | |
+ namespace extension | |
+ { | |
+ template <typename Tag, typename Dummy = void> | |
+ struct equal_to_impl; | |
+ | |
+ template <typename Dummy> | |
+ struct equal_to_impl<boost_array_iterator_tag, Dummy>; | |
+ | |
+ template <typename Dummy> | |
+ struct equal_to_impl<mpl_iterator_tag, Dummy>; | |
+ | |
+ template <typename Dummy> | |
+ struct equal_to_impl<std_pair_iterator_tag, Dummy>; | |
+ } | |
+}} | |
+ | |
+#endif | |
Property changes on: boost/fusion/iterator/equal_to_fwd.hpp | |
___________________________________________________________________ | |
Added: svn:mime-type | |
+ text/plain | |
Added: svn:keywords | |
+ Id | |
Added: svn:eol-style | |
+ native | |
Index: boost/fusion/iterator/key_of.hpp | |
=================================================================== | |
--- boost/fusion/iterator/key_of.hpp (revision 74355) | |
+++ boost/fusion/iterator/key_of.hpp (working copy) | |
@@ -16,11 +16,11 @@ | |
namespace extension | |
{ | |
- template <typename> | |
+ template <typename Tag, typename Dummy = void> | |
struct key_of_impl; | |
- template <> | |
- struct key_of_impl<iterator_facade_tag> | |
+ template <typename Dummy> | |
+ struct key_of_impl<iterator_facade_tag, Dummy> | |
{ | |
template <typename It> | |
struct apply | |
Index: boost/fusion/iterator/detail/segment_sequence.hpp | |
=================================================================== | |
--- boost/fusion/iterator/detail/segment_sequence.hpp (revision 74355) | |
+++ boost/fusion/iterator/detail/segment_sequence.hpp (working copy) | |
@@ -10,6 +10,7 @@ | |
#include <boost/mpl/bool.hpp> | |
#include <boost/type_traits/remove_reference.hpp> | |
#include <boost/fusion/support/tag_of.hpp> | |
+#include <boost/fusion/support/is_segmented_fwd.hpp> | |
#include <boost/fusion/sequence/intrinsic_fwd.hpp> | |
namespace boost { namespace fusion { namespace detail | |
@@ -37,11 +38,8 @@ | |
namespace extension | |
{ | |
- template<typename Tag> | |
- struct is_segmented_impl; | |
- | |
- template<> | |
- struct is_segmented_impl<detail::segment_sequence_tag> | |
+ template<typename Dummy> | |
+ struct is_segmented_impl<detail::segment_sequence_tag, Dummy> | |
{ | |
template<typename Sequence> | |
struct apply | |
@@ -49,11 +47,8 @@ | |
{}; | |
}; | |
- template<typename Tag> | |
- struct segments_impl; | |
- | |
- template<> | |
- struct segments_impl<detail::segment_sequence_tag> | |
+ template<typename Dummy> | |
+ struct segments_impl<detail::segment_sequence_tag, Dummy> | |
{ | |
template<typename Sequence> | |
struct apply | |
Index: boost/fusion/iterator/detail/segmented_equal_to.hpp | |
=================================================================== | |
--- boost/fusion/iterator/detail/segmented_equal_to.hpp (revision 74355) | |
+++ boost/fusion/iterator/detail/segmented_equal_to.hpp (working copy) | |
@@ -17,7 +17,7 @@ | |
namespace detail | |
{ | |
- template <typename Stack1, typename Stack2> | |
+ template <typename Stack1, typename Stack2, typename Dummy = void> | |
struct segmented_equal_to | |
: mpl::and_< | |
segmented_equal_to< | |
@@ -31,8 +31,8 @@ | |
> | |
{}; | |
- template <> | |
- struct segmented_equal_to<fusion::nil, fusion::nil> | |
+ template <typename Dummy> | |
+ struct segmented_equal_to<fusion::nil, fusion::nil, Dummy> | |
: mpl::true_ | |
{}; | |
} | |
Index: boost/fusion/iterator/deref_data.hpp | |
=================================================================== | |
--- boost/fusion/iterator/deref_data.hpp (revision 74355) | |
+++ boost/fusion/iterator/deref_data.hpp (working copy) | |
@@ -16,11 +16,11 @@ | |
namespace extension | |
{ | |
- template <typename> | |
+ template <typename Tag, typename Dummy = void> | |
struct deref_data_impl; | |
- template <> | |
- struct deref_data_impl<iterator_facade_tag> | |
+ template <typename Dummy> | |
+ struct deref_data_impl<iterator_facade_tag, Dummy> | |
{ | |
template <typename It> | |
struct apply | |
Index: boost/fusion/iterator/next.hpp | |
=================================================================== | |
--- boost/fusion/iterator/next.hpp (revision 74355) | |
+++ boost/fusion/iterator/next.hpp (working copy) | |
@@ -19,28 +19,28 @@ | |
namespace extension | |
{ | |
- template <typename Tag> | |
+ template <typename Tag, typename Dummy = void> | |
struct next_impl | |
{ | |
template <typename Iterator> | |
struct apply {}; | |
}; | |
- template <> | |
- struct next_impl<iterator_facade_tag> | |
+ template <typename Dummy> | |
+ struct next_impl<iterator_facade_tag, Dummy> | |
{ | |
template <typename Iterator> | |
struct apply : Iterator::template next<Iterator> {}; | |
}; | |
- template <> | |
- struct next_impl<boost_array_iterator_tag>; | |
+ template <typename Dummy> | |
+ struct next_impl<boost_array_iterator_tag, Dummy>; | |
- template <> | |
- struct next_impl<mpl_iterator_tag>; | |
+ template <typename Dummy> | |
+ struct next_impl<mpl_iterator_tag, Dummy>; | |
- template <> | |
- struct next_impl<std_pair_iterator_tag>; | |
+ template <typename Dummy> | |
+ struct next_impl<std_pair_iterator_tag, Dummy>; | |
} | |
namespace result_of | |
Index: boost/fusion/iterator/deref.hpp | |
=================================================================== | |
--- boost/fusion/iterator/deref.hpp (revision 74355) | |
+++ boost/fusion/iterator/deref.hpp (working copy) | |
@@ -20,28 +20,28 @@ | |
namespace extension | |
{ | |
- template <typename Tag> | |
+ template <typename Tag, typename Dummy = void> | |
struct deref_impl | |
{ | |
template <typename Iterator> | |
struct apply {}; | |
}; | |
- template <> | |
- struct deref_impl<iterator_facade_tag> | |
+ template <typename Dummy> | |
+ struct deref_impl<iterator_facade_tag, Dummy> | |
{ | |
template <typename Iterator> | |
struct apply : Iterator::template deref<Iterator> {}; | |
- }; | |
+ }; | |
+ | |
+ template <typename Dummy> | |
+ struct deref_impl<boost_array_iterator_tag, Dummy>; | |
- template <> | |
- struct deref_impl<boost_array_iterator_tag>; | |
+ template <typename Dummy> | |
+ struct deref_impl<mpl_iterator_tag, Dummy>; | |
- template <> | |
- struct deref_impl<mpl_iterator_tag>; | |
- | |
- template <> | |
- struct deref_impl<std_pair_iterator_tag>; | |
+ template <typename Dummy> | |
+ struct deref_impl<std_pair_iterator_tag, Dummy>; | |
} | |
namespace result_of | |
Index: boost/fusion/adapted/boost_tuple/detail/size_impl.hpp | |
=================================================================== | |
--- boost/fusion/adapted/boost_tuple/detail/size_impl.hpp (revision 74355) | |
+++ boost/fusion/adapted/boost_tuple/detail/size_impl.hpp (working copy) | |
@@ -7,6 +7,7 @@ | |
#if !defined(BOOST_FUSION_SIZE_IMPL_09272006_0724) | |
#define BOOST_FUSION_SIZE_IMPL_09272006_0724 | |
+#include <boost/fusion/sequence/intrinsic_fwd.hpp> | |
#include <boost/tuple/tuple.hpp> | |
#include <boost/mpl/int.hpp> | |
@@ -16,11 +17,8 @@ | |
namespace extension | |
{ | |
- template<typename T> | |
- struct size_impl; | |
- | |
- template <> | |
- struct size_impl<boost_tuple_tag> | |
+ template <typename Dummy> | |
+ struct size_impl<boost_tuple_tag, Dummy> | |
{ | |
template <typename Sequence> | |
struct apply : mpl::int_<tuples::length<Sequence>::value> {}; | |
Index: boost/fusion/adapted/boost_tuple/detail/value_at_impl.hpp | |
=================================================================== | |
--- boost/fusion/adapted/boost_tuple/detail/value_at_impl.hpp (revision 74355) | |
+++ boost/fusion/adapted/boost_tuple/detail/value_at_impl.hpp (working copy) | |
@@ -15,11 +15,8 @@ | |
namespace extension | |
{ | |
- template<typename T> | |
- struct value_at_impl; | |
- | |
- template <> | |
- struct value_at_impl<boost_tuple_tag> | |
+ template <typename Dummy> | |
+ struct value_at_impl<boost_tuple_tag, Dummy> | |
{ | |
template <typename Sequence, typename N> | |
struct apply : tuples::element<N::value, Sequence> {}; | |
Index: boost/fusion/adapted/boost_tuple/detail/category_of_impl.hpp | |
=================================================================== | |
--- boost/fusion/adapted/boost_tuple/detail/category_of_impl.hpp (revision 74355) | |
+++ boost/fusion/adapted/boost_tuple/detail/category_of_impl.hpp (working copy) | |
@@ -7,6 +7,8 @@ | |
#if !defined(BOOST_FUSION_CATEGORY_OF_IMPL_09272006_0726) | |
#define BOOST_FUSION_CATEGORY_OF_IMPL_09272006_0726 | |
+#include <boost/fusion/support/category_of_fwd.hpp> | |
+ | |
namespace boost { namespace fusion | |
{ | |
struct boost_tuple_tag; | |
@@ -14,11 +16,8 @@ | |
namespace extension | |
{ | |
- template<typename T> | |
- struct category_of_impl; | |
- | |
- template<> | |
- struct category_of_impl<boost_tuple_tag> | |
+ template<typename Dummy> | |
+ struct category_of_impl<boost_tuple_tag, Dummy> | |
{ | |
template<typename T> | |
struct apply | |
Index: boost/fusion/adapted/boost_tuple/detail/is_sequence_impl.hpp | |
=================================================================== | |
--- boost/fusion/adapted/boost_tuple/detail/is_sequence_impl.hpp (revision 74355) | |
+++ boost/fusion/adapted/boost_tuple/detail/is_sequence_impl.hpp (working copy) | |
@@ -7,6 +7,7 @@ | |
#if !defined(BOOST_FUSION_IS_SEQUENCE_IMPL_09272006_0726) | |
#define BOOST_FUSION_IS_SEQUENCE_IMPL_09272006_0726 | |
+#include <boost/fusion/support/is_sequence_fwd.hpp> | |
#include <boost/mpl/bool.hpp> | |
namespace boost { namespace fusion | |
@@ -15,11 +16,8 @@ | |
namespace extension | |
{ | |
- template<typename Tag> | |
- struct is_sequence_impl; | |
- | |
- template<> | |
- struct is_sequence_impl<boost_tuple_tag> | |
+ template<typename Dummy> | |
+ struct is_sequence_impl<boost_tuple_tag, Dummy> | |
{ | |
template<typename Sequence> | |
struct apply : mpl::true_ {}; | |
Index: boost/fusion/adapted/boost_tuple/detail/at_impl.hpp | |
=================================================================== | |
--- boost/fusion/adapted/boost_tuple/detail/at_impl.hpp (revision 74355) | |
+++ boost/fusion/adapted/boost_tuple/detail/at_impl.hpp (working copy) | |
@@ -16,11 +16,8 @@ | |
namespace extension | |
{ | |
- template<typename T> | |
- struct at_impl; | |
- | |
- template <> | |
- struct at_impl<boost_tuple_tag> | |
+ template <typename Dummy> | |
+ struct at_impl<boost_tuple_tag, Dummy> | |
{ | |
template <typename Sequence, typename N> | |
struct apply | |
Index: boost/fusion/adapted/boost_tuple/detail/begin_impl.hpp | |
=================================================================== | |
--- boost/fusion/adapted/boost_tuple/detail/begin_impl.hpp (revision 74355) | |
+++ boost/fusion/adapted/boost_tuple/detail/begin_impl.hpp (working copy) | |
@@ -8,6 +8,7 @@ | |
#define BOOST_FUSION_BEGIN_IMPL_09272006_0719 | |
#include <boost/fusion/adapted/boost_tuple/boost_tuple_iterator.hpp> | |
+#include <boost/fusion/sequence/intrinsic_fwd.hpp> | |
namespace boost { namespace fusion | |
{ | |
@@ -15,11 +16,8 @@ | |
namespace extension | |
{ | |
- template<typename T> | |
- struct begin_impl; | |
- | |
- template <> | |
- struct begin_impl<boost_tuple_tag> | |
+ template <typename Dummy> | |
+ struct begin_impl<boost_tuple_tag, Dummy> | |
{ | |
template <typename Sequence> | |
struct apply | |
Index: boost/fusion/adapted/boost_tuple/detail/is_view_impl.hpp | |
=================================================================== | |
--- boost/fusion/adapted/boost_tuple/detail/is_view_impl.hpp (revision 74355) | |
+++ boost/fusion/adapted/boost_tuple/detail/is_view_impl.hpp (working copy) | |
@@ -7,6 +7,7 @@ | |
#if !defined(BOOST_FUSION_IS_VIEW_IMPL_09272006_0725) | |
#define BOOST_FUSION_IS_VIEW_IMPL_09272006_0725 | |
+#include <boost/fusion/support/is_view_fwd.hpp> | |
#include <boost/mpl/bool.hpp> | |
namespace boost { namespace fusion | |
@@ -15,11 +16,8 @@ | |
namespace extension | |
{ | |
- template<typename Tag> | |
- struct is_view_impl; | |
- | |
- template<> | |
- struct is_view_impl<boost_tuple_tag> | |
+ template<typename Dummy> | |
+ struct is_view_impl<boost_tuple_tag, Dummy> | |
{ | |
template<typename T> | |
struct apply : mpl::false_ {}; | |
Index: boost/fusion/adapted/boost_tuple/detail/end_impl.hpp | |
=================================================================== | |
--- boost/fusion/adapted/boost_tuple/detail/end_impl.hpp (revision 74355) | |
+++ boost/fusion/adapted/boost_tuple/detail/end_impl.hpp (working copy) | |
@@ -22,11 +22,8 @@ | |
namespace extension | |
{ | |
- template <typename Tag> | |
- struct end_impl; | |
- | |
- template <> | |
- struct end_impl<boost_tuple_tag> | |
+ template <typename Dummy> | |
+ struct end_impl<boost_tuple_tag, Dummy> | |
{ | |
template <typename Sequence> | |
struct apply | |
Index: boost/fusion/adapted/boost_tuple/tag_of.hpp | |
=================================================================== | |
--- boost/fusion/adapted/boost_tuple/tag_of.hpp (revision 74355) | |
+++ boost/fusion/adapted/boost_tuple/tag_of.hpp (working copy) | |
@@ -53,8 +53,8 @@ | |
typedef boost_tuple_tag type; | |
}; | |
- template <> | |
- struct tag_of<tuples::null_type> | |
+ template <typename Dummy> | |
+ struct tag_of<tuples::null_type, Dummy> | |
{ | |
typedef boost_tuple_tag type; | |
}; | |
Index: boost/fusion/adapted/boost_tuple/boost_tuple_iterator.hpp | |
=================================================================== | |
--- boost/fusion/adapted/boost_tuple/boost_tuple_iterator.hpp (revision 74355) | |
+++ boost/fusion/adapted/boost_tuple/boost_tuple_iterator.hpp (working copy) | |
@@ -25,23 +25,23 @@ | |
namespace detail | |
{ | |
- template <typename T> | |
+ template <typename T, typename Dummy = void> | |
struct boost_tuple_is_empty : mpl::false_ {}; | |
- template <> | |
- struct boost_tuple_is_empty<tuples::null_type> : mpl::true_ {}; | |
+ template <typename Dummy> | |
+ struct boost_tuple_is_empty<tuples::null_type, Dummy> : mpl::true_ {}; | |
- template <> | |
- struct boost_tuple_is_empty<tuples::null_type const> : mpl::true_ {}; | |
+ template <typename Dummy> | |
+ struct boost_tuple_is_empty<tuples::null_type const, Dummy> : mpl::true_ {}; | |
- template <> | |
- struct boost_tuple_is_empty<tuples::tuple<> > : mpl::true_ {}; | |
+ template <typename Dummy> | |
+ struct boost_tuple_is_empty<tuples::tuple<>, Dummy> : mpl::true_ {}; | |
- template <> | |
- struct boost_tuple_is_empty<tuples::tuple<> const> : mpl::true_ {}; | |
+ template <typename Dummy> | |
+ struct boost_tuple_is_empty<tuples::tuple<> const, Dummy> : mpl::true_ {}; | |
} | |
- template <typename Cons = tuples::null_type> | |
+ template <typename Cons = tuples::null_type, typename Dummy = void> | |
struct boost_tuple_iterator | |
: iterator_facade<boost_tuple_iterator<Cons>, forward_traversal_tag> | |
{ | |
@@ -151,32 +151,32 @@ | |
{}; | |
}; | |
- template <> | |
- struct boost_tuple_iterator<tuples::null_type> | |
+ template <typename Dummy> | |
+ struct boost_tuple_iterator<tuples::null_type, Dummy> | |
: boost_tuple_null_iterator<tuples::null_type> | |
{ | |
template <typename Cons> | |
explicit boost_tuple_iterator(Cons const&) {} | |
}; | |
- template <> | |
- struct boost_tuple_iterator<tuples::null_type const> | |
+ template <typename Dummy> | |
+ struct boost_tuple_iterator<tuples::null_type const, Dummy> | |
: boost_tuple_null_iterator<tuples::null_type const> | |
{ | |
template <typename Cons> | |
explicit boost_tuple_iterator(Cons const&) {} | |
}; | |
- template <> | |
- struct boost_tuple_iterator<tuples::tuple<> > | |
+ template <typename Dummy> | |
+ struct boost_tuple_iterator<tuples::tuple<>, Dummy> | |
: boost_tuple_null_iterator<tuples::tuple<> > | |
{ | |
template <typename Cons> | |
explicit boost_tuple_iterator(Cons const&) {} | |
}; | |
- template <> | |
- struct boost_tuple_iterator<tuples::tuple<> const> | |
+ template <typename Dummy> | |
+ struct boost_tuple_iterator<tuples::tuple<> const, Dummy> | |
: boost_tuple_null_iterator<tuples::tuple<> const> | |
{ | |
template <typename Cons> | |
Index: boost/fusion/adapted/boost_array/detail/size_impl.hpp | |
=================================================================== | |
--- boost/fusion/adapted/boost_array/detail/size_impl.hpp (revision 74355) | |
+++ boost/fusion/adapted/boost_array/detail/size_impl.hpp (working copy) | |
@@ -8,17 +8,16 @@ | |
#if !defined(BOOST_FUSION_SIZE_IMPL_27122005_1251) | |
#define BOOST_FUSION_SIZE_IMPL_27122005_1251 | |
+#include <boost/fusion/sequence/intrinsic_fwd.hpp> | |
+ | |
namespace boost { namespace fusion { | |
struct boost_array_tag; | |
namespace extension | |
{ | |
- template<typename T> | |
- struct size_impl; | |
- | |
- template<> | |
- struct size_impl<boost_array_tag> | |
+ template<typename Dummy> | |
+ struct size_impl<boost_array_tag, Dummy> | |
{ | |
template<typename Sequence> | |
struct apply : mpl::int_<Sequence::static_size> {}; | |
Index: boost/fusion/adapted/boost_array/detail/value_at_impl.hpp | |
=================================================================== | |
--- boost/fusion/adapted/boost_array/detail/value_at_impl.hpp (revision 74355) | |
+++ boost/fusion/adapted/boost_array/detail/value_at_impl.hpp (working copy) | |
@@ -14,11 +14,8 @@ | |
namespace extension | |
{ | |
- template<typename T> | |
- struct value_at_impl; | |
- | |
- template <> | |
- struct value_at_impl<boost_array_tag> | |
+ template <typename Dummy> | |
+ struct value_at_impl<boost_array_tag, Dummy> | |
{ | |
template <typename Sequence, typename N> | |
struct apply | |
Index: boost/fusion/adapted/boost_array/detail/category_of_impl.hpp | |
=================================================================== | |
--- boost/fusion/adapted/boost_array/detail/category_of_impl.hpp (revision 74355) | |
+++ boost/fusion/adapted/boost_array/detail/category_of_impl.hpp (working copy) | |
@@ -8,6 +8,7 @@ | |
#if !defined(BOOST_FUSION_CATEGORY_OF_IMPL_27122005_1044) | |
#define BOOST_FUSION_CATEGORY_OF_IMPL_27122005_1044 | |
+#include <boost/fusion/support/category_of_fwd.hpp> | |
#include <boost/config/no_tr1/utility.hpp> | |
namespace boost { namespace fusion { | |
@@ -17,11 +18,8 @@ | |
namespace extension | |
{ | |
- template<typename T> | |
- struct category_of_impl; | |
- | |
- template<> | |
- struct category_of_impl<boost_array_tag> | |
+ template<typename Dummy> | |
+ struct category_of_impl<boost_array_tag, Dummy> | |
{ | |
template<typename T> | |
struct apply | |
Index: boost/fusion/adapted/boost_array/detail/is_sequence_impl.hpp | |
=================================================================== | |
--- boost/fusion/adapted/boost_array/detail/is_sequence_impl.hpp (revision 74355) | |
+++ boost/fusion/adapted/boost_array/detail/is_sequence_impl.hpp (working copy) | |
@@ -8,6 +8,7 @@ | |
#if !defined(BOOST_FUSION_IS_SEQUENCE_IMPL_27122005_1648) | |
#define BOOST_FUSION_IS_SEQUENCE_IMPL_27122005_1648 | |
+#include <boost/fusion/support/is_sequence_fwd.hpp> | |
#include <boost/mpl/bool.hpp> | |
namespace boost { namespace fusion { | |
@@ -16,11 +17,8 @@ | |
namespace extension | |
{ | |
- template<typename Tag> | |
- struct is_sequence_impl; | |
- | |
- template<> | |
- struct is_sequence_impl<boost_array_tag> | |
+ template<typename Dummy> | |
+ struct is_sequence_impl<boost_array_tag, Dummy> | |
{ | |
template<typename Sequence> | |
struct apply : mpl::true_ {}; | |
Index: boost/fusion/adapted/boost_array/detail/at_impl.hpp | |
=================================================================== | |
--- boost/fusion/adapted/boost_array/detail/at_impl.hpp (revision 74355) | |
+++ boost/fusion/adapted/boost_array/detail/at_impl.hpp (working copy) | |
@@ -8,6 +8,7 @@ | |
#if !defined(BOOST_FUSION_AT_IMPL_27122005_1241) | |
#define BOOST_FUSION_AT_IMPL_27122005_1241 | |
+#include <boost/fusion/sequence/intrinsic_fwd.hpp> | |
#include <boost/type_traits/is_const.hpp> | |
#include <boost/mpl/if.hpp> | |
@@ -18,11 +19,8 @@ | |
namespace extension | |
{ | |
- template<typename T> | |
- struct at_impl; | |
- | |
- template<> | |
- struct at_impl<boost_array_tag> | |
+ template<typename Dummy> | |
+ struct at_impl<boost_array_tag, Dummy> | |
{ | |
template<typename Sequence, typename N> | |
struct apply | |
Index: boost/fusion/adapted/boost_array/detail/begin_impl.hpp | |
=================================================================== | |
--- boost/fusion/adapted/boost_array/detail/begin_impl.hpp (revision 74355) | |
+++ boost/fusion/adapted/boost_array/detail/begin_impl.hpp (working copy) | |
@@ -9,6 +9,7 @@ | |
#define BOOST_FUSION_BEGIN_IMPL_27122005_1117 | |
#include <boost/fusion/adapted/boost_array/array_iterator.hpp> | |
+#include <boost/fusion/sequence/intrinsic_fwd.hpp> | |
namespace boost { namespace fusion { | |
@@ -16,11 +17,8 @@ | |
namespace extension | |
{ | |
- template<typename T> | |
- struct begin_impl; | |
- | |
- template <> | |
- struct begin_impl<boost_array_tag> | |
+ template <typename Dummy> | |
+ struct begin_impl<boost_array_tag, Dummy> | |
{ | |
template <typename Sequence> | |
struct apply | |
Index: boost/fusion/adapted/boost_array/detail/is_view_impl.hpp | |
=================================================================== | |
--- boost/fusion/adapted/boost_array/detail/is_view_impl.hpp (revision 74355) | |
+++ boost/fusion/adapted/boost_array/detail/is_view_impl.hpp (working copy) | |
@@ -8,6 +8,7 @@ | |
#if !defined(BOOST_FUSION_IS_VIEW_IMPL_27042006_2221) | |
#define BOOST_FUSION_IS_VIEW_IMPL_27042006_2221 | |
+#include <boost/fusion/support/is_view_fwd.hpp> | |
#include <boost/mpl/bool.hpp> | |
namespace boost { namespace fusion | |
@@ -16,11 +17,8 @@ | |
namespace extension | |
{ | |
- template<typename Tag> | |
- struct is_view_impl; | |
- | |
- template<> | |
- struct is_view_impl<boost_array_tag> | |
+ template<typename Dummy> | |
+ struct is_view_impl<boost_array_tag, Dummy> | |
{ | |
template<typename T> | |
struct apply : mpl::false_ | |
Index: boost/fusion/adapted/boost_array/detail/end_impl.hpp | |
=================================================================== | |
--- boost/fusion/adapted/boost_array/detail/end_impl.hpp (revision 74355) | |
+++ boost/fusion/adapted/boost_array/detail/end_impl.hpp (working copy) | |
@@ -16,11 +16,8 @@ | |
namespace extension | |
{ | |
- template <typename Tag> | |
- struct end_impl; | |
- | |
- template <> | |
- struct end_impl<boost_array_tag> | |
+ template <typename Dummy> | |
+ struct end_impl<boost_array_tag, Dummy> | |
{ | |
template <typename Sequence> | |
struct apply | |
Index: boost/fusion/adapted/struct/detail/size_impl.hpp | |
=================================================================== | |
--- boost/fusion/adapted/struct/detail/size_impl.hpp (revision 74355) | |
+++ boost/fusion/adapted/struct/detail/size_impl.hpp (working copy) | |
@@ -10,13 +10,12 @@ | |
#ifndef BOOST_FUSION_ADAPTED_STRUCT_DETAIL_SIZE_IMPL_HPP | |
#define BOOST_FUSION_ADAPTED_STRUCT_DETAIL_SIZE_IMPL_HPP | |
+#include <boost/fusion/sequence/intrinsic_fwd.hpp> | |
+ | |
namespace boost { namespace fusion { namespace extension | |
{ | |
- template<typename> | |
- struct size_impl; | |
- | |
- template <> | |
- struct size_impl<struct_tag> | |
+ template <typename Dummy> | |
+ struct size_impl<struct_tag, Dummy> | |
{ | |
template <typename Seq> | |
struct apply | |
@@ -24,9 +23,9 @@ | |
{}; | |
}; | |
- template <> | |
- struct size_impl<assoc_struct_tag> | |
- : size_impl<struct_tag> | |
+ template <typename Dummy> | |
+ struct size_impl<assoc_struct_tag, Dummy> | |
+ : size_impl<struct_tag, Dummy> | |
{}; | |
}}} | |
Index: boost/fusion/adapted/struct/detail/key_of_impl.hpp | |
=================================================================== | |
--- boost/fusion/adapted/struct/detail/key_of_impl.hpp (revision 74355) | |
+++ boost/fusion/adapted/struct/detail/key_of_impl.hpp (working copy) | |
@@ -10,11 +10,8 @@ | |
namespace boost { namespace fusion { namespace extension | |
{ | |
- template <typename> | |
- struct key_of_impl; | |
- | |
- template <> | |
- struct key_of_impl<struct_iterator_tag> | |
+ template <typename Dummy> | |
+ struct key_of_impl<struct_iterator_tag, Dummy> | |
{ | |
template <typename It> | |
struct apply | |
Index: boost/fusion/adapted/struct/detail/deref_data_impl.hpp | |
=================================================================== | |
--- boost/fusion/adapted/struct/detail/deref_data_impl.hpp (revision 74355) | |
+++ boost/fusion/adapted/struct/detail/deref_data_impl.hpp (working copy) | |
@@ -10,12 +10,9 @@ | |
namespace boost { namespace fusion { namespace extension | |
{ | |
- template <typename> | |
- struct deref_data_impl; | |
- | |
- template <> | |
- struct deref_data_impl<struct_iterator_tag> | |
- : deref_impl<struct_iterator_tag> | |
+ template <typename Dummy> | |
+ struct deref_data_impl<struct_iterator_tag, Dummy> | |
+ : deref_impl<struct_iterator_tag, Dummy> | |
{}; | |
}}} | |
Index: boost/fusion/adapted/struct/detail/begin_impl.hpp | |
=================================================================== | |
--- boost/fusion/adapted/struct/detail/begin_impl.hpp (revision 74355) | |
+++ boost/fusion/adapted/struct/detail/begin_impl.hpp (working copy) | |
@@ -14,11 +14,8 @@ | |
namespace boost { namespace fusion { namespace extension | |
{ | |
- template<typename> | |
- struct begin_impl; | |
- | |
- template <> | |
- struct begin_impl<struct_tag> | |
+ template <typename Dummy> | |
+ struct begin_impl<struct_tag, Dummy> | |
{ | |
template <typename Seq> | |
struct apply | |
@@ -40,8 +37,8 @@ | |
}; | |
}; | |
- template <> | |
- struct begin_impl<assoc_struct_tag> | |
+ template <typename Dummy> | |
+ struct begin_impl<assoc_struct_tag, Dummy> | |
{ | |
template <typename Seq> | |
struct apply | |
Index: boost/fusion/adapted/struct/detail/deref_impl.hpp | |
=================================================================== | |
--- boost/fusion/adapted/struct/detail/deref_impl.hpp (revision 74355) | |
+++ boost/fusion/adapted/struct/detail/deref_impl.hpp (working copy) | |
@@ -10,11 +10,8 @@ | |
namespace boost { namespace fusion { namespace extension | |
{ | |
- template <typename> | |
- struct deref_impl; | |
- | |
- template <> | |
- struct deref_impl<struct_iterator_tag> | |
+ template <typename Dummy> | |
+ struct deref_impl<struct_iterator_tag, Dummy> | |
{ | |
template <typename It> | |
struct apply | |
Index: boost/fusion/adapted/struct/detail/value_of_data_impl.hpp | |
=================================================================== | |
--- boost/fusion/adapted/struct/detail/value_of_data_impl.hpp (revision 74355) | |
+++ boost/fusion/adapted/struct/detail/value_of_data_impl.hpp (working copy) | |
@@ -10,11 +10,8 @@ | |
namespace boost { namespace fusion { namespace extension | |
{ | |
- template <typename> | |
- struct value_of_data_impl; | |
- | |
- template <> | |
- struct value_of_data_impl<struct_iterator_tag> | |
+ template <typename Dummy> | |
+ struct value_of_data_impl<struct_iterator_tag, Dummy> | |
: value_of_impl<struct_iterator_tag> | |
{}; | |
}}} | |
Index: boost/fusion/adapted/struct/detail/value_at_impl.hpp | |
=================================================================== | |
--- boost/fusion/adapted/struct/detail/value_at_impl.hpp (revision 74355) | |
+++ boost/fusion/adapted/struct/detail/value_at_impl.hpp (working copy) | |
@@ -12,11 +12,8 @@ | |
namespace boost { namespace fusion { namespace extension | |
{ | |
- template<typename> | |
- struct value_at_impl; | |
- | |
- template <> | |
- struct value_at_impl<struct_tag> | |
+ template <typename Dummy> | |
+ struct value_at_impl<struct_tag, Dummy> | |
{ | |
template <typename Seq, typename N> | |
struct apply | |
@@ -24,8 +21,8 @@ | |
{}; | |
}; | |
- template <> | |
- struct value_at_impl<assoc_struct_tag> | |
+ template <typename Dummy> | |
+ struct value_at_impl<assoc_struct_tag, Dummy> | |
: value_at_impl<struct_tag> | |
{}; | |
}}} | |
Index: boost/fusion/adapted/struct/detail/value_of_impl.hpp | |
=================================================================== | |
--- boost/fusion/adapted/struct/detail/value_of_impl.hpp (revision 74355) | |
+++ boost/fusion/adapted/struct/detail/value_of_impl.hpp (working copy) | |
@@ -10,11 +10,8 @@ | |
namespace boost { namespace fusion { namespace extension | |
{ | |
- template <typename> | |
- struct value_of_impl; | |
- | |
- template <> | |
- struct value_of_impl<struct_iterator_tag> | |
+ template <typename Dummy> | |
+ struct value_of_impl<struct_iterator_tag, Dummy> | |
{ | |
template <typename It> | |
struct apply | |
Index: boost/fusion/adapted/struct/detail/category_of_impl.hpp | |
=================================================================== | |
--- boost/fusion/adapted/struct/detail/category_of_impl.hpp (revision 74355) | |
+++ boost/fusion/adapted/struct/detail/category_of_impl.hpp (working copy) | |
@@ -10,15 +10,14 @@ | |
#ifndef BOOST_FUSION_ADAPTED_STRUCT_DETAIL_CATEGORY_OF_IMPL_HPP | |
#define BOOST_FUSION_ADAPTED_STRUCT_DETAIL_CATEGORY_OF_IMPL_HPP | |
+#include <boost/fusion/support/category_of_fwd.hpp> | |
+ | |
namespace boost { namespace fusion | |
{ | |
namespace extension | |
{ | |
- template<typename> | |
- struct category_of_impl; | |
- | |
- template<> | |
- struct category_of_impl<struct_tag> | |
+ template<typename Dummy> | |
+ struct category_of_impl<struct_tag, Dummy> | |
{ | |
template<typename Seq> | |
struct apply | |
@@ -27,8 +26,8 @@ | |
}; | |
}; | |
- template<> | |
- struct category_of_impl<assoc_struct_tag> | |
+ template<typename Dummy> | |
+ struct category_of_impl<assoc_struct_tag, Dummy> | |
{ | |
template<typename Seq> | |
struct apply | |
Index: boost/fusion/adapted/struct/detail/is_sequence_impl.hpp | |
=================================================================== | |
--- boost/fusion/adapted/struct/detail/is_sequence_impl.hpp (revision 74355) | |
+++ boost/fusion/adapted/struct/detail/is_sequence_impl.hpp (working copy) | |
@@ -11,14 +11,12 @@ | |
#define BOOST_FUSION_ADAPTED_STRUCT_DETAIL_IS_SEQUENCE_IMPL_HPP | |
#include <boost/mpl/bool.hpp> | |
+#include <boost/fusion/support/is_sequence_fwd.hpp> | |
namespace boost { namespace fusion { namespace extension | |
{ | |
- template<typename> | |
- struct is_sequence_impl; | |
- | |
- template<> | |
- struct is_sequence_impl<struct_tag> | |
+ template<typename Dummy> | |
+ struct is_sequence_impl<struct_tag, Dummy> | |
{ | |
template<typename Seq> | |
struct apply | |
@@ -26,8 +24,8 @@ | |
{}; | |
}; | |
- template <> | |
- struct is_sequence_impl<assoc_struct_tag> | |
+ template<typename Dummy> | |
+ struct is_sequence_impl<assoc_struct_tag, Dummy> | |
: is_sequence_impl<struct_tag> | |
{}; | |
}}} | |
Index: boost/fusion/adapted/struct/detail/at_impl.hpp | |
=================================================================== | |
--- boost/fusion/adapted/struct/detail/at_impl.hpp (revision 74355) | |
+++ boost/fusion/adapted/struct/detail/at_impl.hpp (working copy) | |
@@ -11,14 +11,12 @@ | |
#define BOOST_FUSION_ADAPTED_STRUCT_DETAIL_AT_IMPL_HPP | |
#include <boost/mpl/int.hpp> | |
+#include <boost/fusion/sequence/intrinsic_fwd.hpp> | |
namespace boost { namespace fusion { namespace extension | |
{ | |
- template<typename> | |
- struct at_impl; | |
- | |
- template <> | |
- struct at_impl<struct_tag> | |
+ template <typename Dummy> | |
+ struct at_impl<struct_tag, Dummy> | |
{ | |
template <typename Seq, typename N> | |
struct apply | |
@@ -29,8 +27,8 @@ | |
{}; | |
}; | |
- template <> | |
- struct at_impl<assoc_struct_tag> | |
+ template <typename Dummy> | |
+ struct at_impl<assoc_struct_tag, Dummy> | |
: at_impl<struct_tag> | |
{}; | |
}}} | |
Index: boost/fusion/adapted/struct/detail/is_view_impl.hpp | |
=================================================================== | |
--- boost/fusion/adapted/struct/detail/is_view_impl.hpp (revision 74355) | |
+++ boost/fusion/adapted/struct/detail/is_view_impl.hpp (working copy) | |
@@ -10,13 +10,12 @@ | |
#ifndef BOOST_FUSION_ADAPTED_STRUCT_DETAIL_IS_VIEW_IMPL_HPP | |
#define BOOST_FUSION_ADAPTED_STRUCT_DETAIL_IS_VIEW_IMPL_HPP | |
+#include <boost/fusion/support/is_view_fwd.hpp> | |
+ | |
namespace boost { namespace fusion { namespace extension | |
{ | |
- template<typename> | |
- struct is_view_impl; | |
- | |
- template<> | |
- struct is_view_impl<struct_tag> | |
+ template<typename Dummy> | |
+ struct is_view_impl<struct_tag, Dummy> | |
{ | |
template<typename Seq> | |
struct apply | |
@@ -24,8 +23,8 @@ | |
{}; | |
}; | |
- template <> | |
- struct is_view_impl<assoc_struct_tag> | |
+ template<typename Dummy> | |
+ struct is_view_impl<assoc_struct_tag, Dummy> | |
: is_view_impl<struct_tag> | |
{}; | |
}}} | |
Index: boost/fusion/adapted/struct/detail/end_impl.hpp | |
=================================================================== | |
--- boost/fusion/adapted/struct/detail/end_impl.hpp (revision 74355) | |
+++ boost/fusion/adapted/struct/detail/end_impl.hpp (working copy) | |
@@ -14,11 +14,8 @@ | |
namespace boost { namespace fusion { namespace extension | |
{ | |
- template <typename> | |
- struct end_impl; | |
- | |
- template <> | |
- struct end_impl<struct_tag> | |
+ template <typename Dummy> | |
+ struct end_impl<struct_tag, Dummy> | |
{ | |
template <typename Seq> | |
struct apply | |
@@ -40,8 +37,8 @@ | |
}; | |
}; | |
- template <> | |
- struct end_impl<assoc_struct_tag> | |
+ template <typename Dummy> | |
+ struct end_impl<assoc_struct_tag, Dummy> | |
{ | |
template <typename Seq> | |
struct apply | |
Index: boost/fusion/adapted/mpl/detail/size_impl.hpp | |
=================================================================== | |
--- boost/fusion/adapted/mpl/detail/size_impl.hpp (revision 74355) | |
+++ boost/fusion/adapted/mpl/detail/size_impl.hpp (working copy) | |
@@ -8,6 +8,7 @@ | |
#if !defined(BOOST_FUSION_SIZE_IMPL_31122005_1508) | |
#define BOOST_FUSION_SIZE_IMPL_31122005_1508 | |
+#include <boost/fusion/sequence/intrinsic_fwd.hpp> | |
#include <boost/mpl/size.hpp> | |
namespace boost { namespace fusion | |
@@ -16,11 +17,8 @@ | |
namespace extension | |
{ | |
- template<typename Tag> | |
- struct size_impl; | |
- | |
- template <> | |
- struct size_impl<mpl_sequence_tag> | |
+ template <typename Dummy> | |
+ struct size_impl<mpl_sequence_tag, Dummy> | |
{ | |
template <typename Sequence> | |
struct apply : mpl::size<Sequence> {}; | |
Index: boost/fusion/adapted/mpl/detail/empty_impl.hpp | |
=================================================================== | |
--- boost/fusion/adapted/mpl/detail/empty_impl.hpp (revision 74355) | |
+++ boost/fusion/adapted/mpl/detail/empty_impl.hpp (working copy) | |
@@ -16,11 +16,8 @@ | |
namespace extension | |
{ | |
- template <typename Sequence> | |
- struct empty_impl; | |
- | |
- template <> | |
- struct empty_impl<mpl_sequence_tag> | |
+ template <typename Dummy> | |
+ struct empty_impl<mpl_sequence_tag, Dummy> | |
{ | |
template <typename Sequence> | |
struct apply : mpl::empty<Sequence> {}; | |
Index: boost/fusion/adapted/mpl/detail/value_at_impl.hpp | |
=================================================================== | |
--- boost/fusion/adapted/mpl/detail/value_at_impl.hpp (revision 74355) | |
+++ boost/fusion/adapted/mpl/detail/value_at_impl.hpp (working copy) | |
@@ -16,11 +16,8 @@ | |
namespace extension | |
{ | |
- template <typename Tag> | |
- struct value_at_impl; | |
- | |
- template <> | |
- struct value_at_impl<mpl_sequence_tag> | |
+ template <typename Dummy> | |
+ struct value_at_impl<mpl_sequence_tag, Dummy> | |
{ | |
template <typename Sequence, typename N> | |
struct apply : mpl::at<Sequence, N> {}; | |
Index: boost/fusion/adapted/mpl/detail/category_of_impl.hpp | |
=================================================================== | |
--- boost/fusion/adapted/mpl/detail/category_of_impl.hpp (revision 74355) | |
+++ boost/fusion/adapted/mpl/detail/category_of_impl.hpp (working copy) | |
@@ -8,6 +8,7 @@ | |
#if !defined(BOOST_FUSION_CATEGORY_OF_IMPL_20060217_2141) | |
#define BOOST_FUSION_CATEGORY_OF_IMPL_20060217_2141 | |
+#include <boost/fusion/support/category_of_fwd.hpp> | |
#include <boost/fusion/support/detail/mpl_iterator_category.hpp> | |
#include <boost/mpl/begin_end.hpp> | |
#include <boost/mpl/is_sequence.hpp> | |
@@ -37,11 +38,11 @@ | |
namespace extension | |
{ | |
- template<typename Tag> | |
+ template<typename Tag, typename Dummy> | |
struct category_of_impl; | |
- template<> | |
- struct category_of_impl<mpl_sequence_tag> | |
+ template<typename Dummy> | |
+ struct category_of_impl<mpl_sequence_tag, Dummy> | |
{ | |
template<typename T> | |
struct apply | |
Index: boost/fusion/adapted/mpl/detail/has_key_impl.hpp | |
=================================================================== | |
--- boost/fusion/adapted/mpl/detail/has_key_impl.hpp (revision 74355) | |
+++ boost/fusion/adapted/mpl/detail/has_key_impl.hpp (working copy) | |
@@ -16,11 +16,8 @@ | |
namespace extension | |
{ | |
- template <typename Tag> | |
- struct has_key_impl; | |
- | |
- template <> | |
- struct has_key_impl<mpl_sequence_tag> | |
+ template <typename Dummy> | |
+ struct has_key_impl<mpl_sequence_tag, Dummy> | |
{ | |
template <typename Sequence, typename Key> | |
struct apply : mpl::has_key<Sequence, Key> {}; | |
Index: boost/fusion/adapted/mpl/detail/is_sequence_impl.hpp | |
=================================================================== | |
--- boost/fusion/adapted/mpl/detail/is_sequence_impl.hpp (revision 74355) | |
+++ boost/fusion/adapted/mpl/detail/is_sequence_impl.hpp (working copy) | |
@@ -8,6 +8,7 @@ | |
#if !defined(BOOST_FUSION_IS_SEQUENCE_IMPL_31122005_1505) | |
#define BOOST_FUSION_IS_SEQUENCE_IMPL_31122005_1505 | |
+#include <boost/fusion/support/is_sequence_fwd.hpp> | |
#include <boost/mpl/bool.hpp> | |
namespace boost { namespace fusion | |
@@ -16,11 +17,8 @@ | |
namespace extension | |
{ | |
- template<typename Tag> | |
- struct is_sequence_impl; | |
- | |
- template<> | |
- struct is_sequence_impl<mpl_sequence_tag> | |
+ template<typename Dummy> | |
+ struct is_sequence_impl<mpl_sequence_tag, Dummy> | |
{ | |
template<typename T> | |
struct apply : mpl::true_ {}; | |
Index: boost/fusion/adapted/mpl/detail/at_impl.hpp | |
=================================================================== | |
--- boost/fusion/adapted/mpl/detail/at_impl.hpp (revision 74355) | |
+++ boost/fusion/adapted/mpl/detail/at_impl.hpp (working copy) | |
@@ -16,11 +16,8 @@ | |
namespace extension | |
{ | |
- template<typename Tag> | |
- struct at_impl; | |
- | |
- template <> | |
- struct at_impl<mpl_sequence_tag> | |
+ template <typename Dummy> | |
+ struct at_impl<mpl_sequence_tag, Dummy> | |
{ | |
template <typename Sequence, typename N> | |
struct apply | |
Index: boost/fusion/adapted/mpl/detail/begin_impl.hpp | |
=================================================================== | |
--- boost/fusion/adapted/mpl/detail/begin_impl.hpp (revision 74355) | |
+++ boost/fusion/adapted/mpl/detail/begin_impl.hpp (working copy) | |
@@ -11,6 +11,7 @@ | |
#include <boost/fusion/adapted/mpl/mpl_iterator.hpp> | |
#include <boost/mpl/begin.hpp> | |
#include <boost/type_traits/remove_const.hpp> | |
+#include <boost/fusion/sequence/intrinsic_fwd.hpp> | |
namespace boost { namespace fusion { | |
@@ -18,11 +19,8 @@ | |
namespace extension | |
{ | |
- template <typename Tag> | |
- struct begin_impl; | |
- | |
- template <> | |
- struct begin_impl<mpl_sequence_tag> | |
+ template <typename Dummy> | |
+ struct begin_impl<mpl_sequence_tag, Dummy> | |
{ | |
template <typename Sequence> | |
struct apply | |
Index: boost/fusion/adapted/mpl/detail/is_view_impl.hpp | |
=================================================================== | |
--- boost/fusion/adapted/mpl/detail/is_view_impl.hpp (revision 74355) | |
+++ boost/fusion/adapted/mpl/detail/is_view_impl.hpp (working copy) | |
@@ -8,6 +8,7 @@ | |
#if !defined(BOOST_FUSION_IS_VIEW_IMPL_03202006_0048) | |
#define BOOST_FUSION_IS_VIEW_IMPL_03202006_0048 | |
+#include <boost/fusion/support/is_view_fwd.hpp> | |
#include <boost/mpl/bool.hpp> | |
namespace boost { namespace fusion | |
@@ -16,11 +17,8 @@ | |
namespace extension | |
{ | |
- template<typename Tag> | |
- struct is_view_impl; | |
- | |
- template<> | |
- struct is_view_impl<mpl_sequence_tag> | |
+ template<typename Dummy> | |
+ struct is_view_impl<mpl_sequence_tag, Dummy> | |
{ | |
template<typename T> | |
struct apply : mpl::true_ | |
Index: boost/fusion/adapted/mpl/detail/end_impl.hpp | |
=================================================================== | |
--- boost/fusion/adapted/mpl/detail/end_impl.hpp (revision 74355) | |
+++ boost/fusion/adapted/mpl/detail/end_impl.hpp (working copy) | |
@@ -18,11 +18,8 @@ | |
namespace extension | |
{ | |
- template <typename Tag> | |
- struct end_impl; | |
- | |
- template <> | |
- struct end_impl<mpl_sequence_tag> | |
+ template <typename Dummy> | |
+ struct end_impl<mpl_sequence_tag, Dummy> | |
{ | |
template <typename Sequence> | |
struct apply | |
Index: boost/fusion/adapted/array/size_impl.hpp | |
=================================================================== | |
--- boost/fusion/adapted/array/size_impl.hpp (revision 74355) | |
+++ boost/fusion/adapted/array/size_impl.hpp (working copy) | |
@@ -10,14 +10,12 @@ | |
#include <boost/type_traits/rank.hpp> | |
#include <boost/type_traits/extent.hpp> | |
+#include <boost/fusion/sequence/intrinsic_fwd.hpp> | |
namespace boost { namespace fusion { namespace extension | |
{ | |
- template<typename> | |
- struct size_impl; | |
- | |
- template<> | |
- struct size_impl<po_array_tag> | |
+ template<typename Dummy> | |
+ struct size_impl<po_array_tag, Dummy> | |
{ | |
template<typename Seq> | |
struct apply | |
Index: boost/fusion/adapted/array/value_at_impl.hpp | |
=================================================================== | |
--- boost/fusion/adapted/array/value_at_impl.hpp (revision 74355) | |
+++ boost/fusion/adapted/array/value_at_impl.hpp (working copy) | |
@@ -12,11 +12,8 @@ | |
namespace boost { namespace fusion { namespace extension | |
{ | |
- template<typename> | |
- struct value_at_impl; | |
- | |
- template <> | |
- struct value_at_impl<po_array_tag> | |
+ template <typename Dummy> | |
+ struct value_at_impl<po_array_tag, Dummy> | |
{ | |
template <typename Seq, typename N> | |
struct apply | |
Index: boost/fusion/adapted/array/value_of_impl.hpp | |
=================================================================== | |
--- boost/fusion/adapted/array/value_of_impl.hpp (revision 74355) | |
+++ boost/fusion/adapted/array/value_of_impl.hpp (working copy) | |
@@ -12,11 +12,8 @@ | |
namespace boost { namespace fusion { namespace extension | |
{ | |
- template <typename> | |
- struct value_of_impl; | |
- | |
- template <> | |
- struct value_of_impl<po_array_iterator_tag> | |
+ template <typename Dummy> | |
+ struct value_of_impl<po_array_iterator_tag, Dummy> | |
{ | |
template <typename It> | |
struct apply | |
Index: boost/fusion/adapted/array/category_of_impl.hpp | |
=================================================================== | |
--- boost/fusion/adapted/array/category_of_impl.hpp (revision 74355) | |
+++ boost/fusion/adapted/array/category_of_impl.hpp (working copy) | |
@@ -8,17 +8,16 @@ | |
#ifndef BOOST_FUSION_ADAPTED_ARRAY_CATEGORY_OF_IMPL_HPP | |
#define BOOST_FUSION_ADAPTED_ARRAY_CATEGORY_OF_IMPL_HPP | |
+#include <boost/fusion/support/category_of_fwd.hpp> | |
+ | |
namespace boost { namespace fusion | |
{ | |
struct random_access_traversal_tag; | |
namespace extension | |
{ | |
- template<typename> | |
- struct category_of_impl; | |
- | |
- template<> | |
- struct category_of_impl<po_array_tag> | |
+ template<typename Dummy> | |
+ struct category_of_impl<po_array_tag, Dummy> | |
{ | |
template<typename Seq> | |
struct apply | |
Index: boost/fusion/adapted/array/is_sequence_impl.hpp | |
=================================================================== | |
--- boost/fusion/adapted/array/is_sequence_impl.hpp (revision 74355) | |
+++ boost/fusion/adapted/array/is_sequence_impl.hpp (working copy) | |
@@ -8,21 +8,24 @@ | |
#ifndef BOOST_FUSION_ADAPTED_ARRAY_IS_SEQUENCE_IMPL_HPP | |
#define BOOST_FUSION_ADAPTED_ARRAY_IS_SEQUENCE_IMPL_HPP | |
+#include <boost/fusion/support/is_sequence_fwd.hpp> | |
#include <boost/mpl/bool.hpp> | |
-namespace boost { namespace fusion { namespace extension | |
+namespace boost { namespace fusion | |
{ | |
- template<typename> | |
- struct is_sequence_impl; | |
+ struct po_array_tag; | |
- template<> | |
- struct is_sequence_impl<po_array_tag> | |
+ namespace extension | |
{ | |
- template<typename Seq> | |
- struct apply | |
- : mpl::true_ | |
- {}; | |
- }; | |
-}}} | |
+ template<typename Dummy> | |
+ struct is_sequence_impl<po_array_tag, Dummy> | |
+ { | |
+ template<typename Seq> | |
+ struct apply | |
+ : mpl::true_ | |
+ {}; | |
+ }; | |
+ } | |
+}} | |
#endif | |
Index: boost/fusion/adapted/array/at_impl.hpp | |
=================================================================== | |
--- boost/fusion/adapted/array/at_impl.hpp (revision 74355) | |
+++ boost/fusion/adapted/array/at_impl.hpp (working copy) | |
@@ -10,14 +10,12 @@ | |
#include <boost/type_traits/add_reference.hpp> | |
#include <boost/type_traits/remove_extent.hpp> | |
+#include <boost/fusion/sequence/intrinsic_fwd.hpp> | |
namespace boost { namespace fusion { namespace extension | |
{ | |
- template<typename> | |
- struct at_impl; | |
- | |
- template<> | |
- struct at_impl<po_array_tag> | |
+ template<typename Dummy> | |
+ struct at_impl<po_array_tag, Dummy> | |
{ | |
template<typename Seq, typename N> | |
struct apply | |
Index: boost/fusion/adapted/array/begin_impl.hpp | |
=================================================================== | |
--- boost/fusion/adapted/array/begin_impl.hpp (revision 74355) | |
+++ boost/fusion/adapted/array/begin_impl.hpp (working copy) | |
@@ -12,11 +12,8 @@ | |
namespace boost { namespace fusion { namespace extension | |
{ | |
- template<typename> | |
- struct begin_impl; | |
- | |
- template <> | |
- struct begin_impl<po_array_tag> | |
+ template <typename Dummy> | |
+ struct begin_impl<po_array_tag, Dummy> | |
{ | |
template <typename Seq> | |
struct apply | |
Index: boost/fusion/adapted/array/deref_impl.hpp | |
=================================================================== | |
--- boost/fusion/adapted/array/deref_impl.hpp (revision 74355) | |
+++ boost/fusion/adapted/array/deref_impl.hpp (working copy) | |
@@ -13,11 +13,8 @@ | |
namespace boost { namespace fusion { namespace extension | |
{ | |
- template <typename> | |
- struct deref_impl; | |
- | |
- template <> | |
- struct deref_impl<po_array_iterator_tag> | |
+ template <typename Dummy> | |
+ struct deref_impl<po_array_iterator_tag, Dummy> | |
{ | |
template <typename It> | |
struct apply | |
Index: boost/fusion/adapted/array/is_view_impl.hpp | |
=================================================================== | |
--- boost/fusion/adapted/array/is_view_impl.hpp (revision 74355) | |
+++ boost/fusion/adapted/array/is_view_impl.hpp (working copy) | |
@@ -8,15 +8,13 @@ | |
#ifndef BOOST_FUSION_ADAPTED_ARRAY_IS_VIEW_IMPL_HPP | |
#define BOOST_FUSION_ADAPTED_ARRAY_IS_VIEW_IMPL_HPP | |
+#include <boost/fusion/support/is_view_fwd.hpp> | |
#include <boost/mpl/bool.hpp> | |
namespace boost { namespace fusion { namespace extension | |
{ | |
- template<typename> | |
- struct is_view_impl; | |
- | |
- template<> | |
- struct is_view_impl<po_array_tag> | |
+ template<typename Dummy> | |
+ struct is_view_impl<po_array_tag, Dummy> | |
{ | |
template<typename Seq> | |
struct apply | |
Index: boost/fusion/adapted/array/end_impl.hpp | |
=================================================================== | |
--- boost/fusion/adapted/array/end_impl.hpp (revision 74355) | |
+++ boost/fusion/adapted/array/end_impl.hpp (working copy) | |
@@ -14,11 +14,8 @@ | |
namespace boost { namespace fusion { namespace extension | |
{ | |
- template <typename> | |
- struct end_impl; | |
- | |
- template <> | |
- struct end_impl<po_array_tag> | |
+ template <typename Dummy> | |
+ struct end_impl<po_array_tag, Dummy> | |
{ | |
template <typename Seq> | |
struct apply | |
Index: boost/fusion/sequence/intrinsic/empty.hpp | |
=================================================================== | |
--- boost/fusion/sequence/intrinsic/empty.hpp (revision 74355) | |
+++ boost/fusion/sequence/intrinsic/empty.hpp (working copy) | |
@@ -20,7 +20,7 @@ | |
namespace extension | |
{ | |
- template <typename Tag> | |
+ template <typename Tag, typename Dummy> | |
struct empty_impl | |
{ | |
template <typename Sequence> | |
@@ -29,15 +29,15 @@ | |
{}; | |
}; | |
- template <> | |
- struct empty_impl<sequence_facade_tag> | |
+ template <typename Dummy> | |
+ struct empty_impl<sequence_facade_tag, Dummy> | |
{ | |
template <typename Sequence> | |
struct apply : Sequence::template empty<Sequence> {}; | |
}; | |
- template <> | |
- struct empty_impl<mpl_sequence_tag>; | |
+ template <typename Dummy> | |
+ struct empty_impl<mpl_sequence_tag, Dummy>; | |
} | |
namespace result_of | |
Index: boost/fusion/sequence/intrinsic/value_at.hpp | |
=================================================================== | |
--- boost/fusion/sequence/intrinsic/value_at.hpp (revision 74355) | |
+++ boost/fusion/sequence/intrinsic/value_at.hpp (working copy) | |
@@ -22,31 +22,31 @@ | |
namespace extension | |
{ | |
- template <typename Tag> | |
+ template <typename Tag, typename Dummy> | |
struct value_at_impl | |
{ | |
template <typename Sequence, typename N> | |
struct apply; | |
}; | |
- template <> | |
- struct value_at_impl<sequence_facade_tag> | |
+ template <typename Dummy> | |
+ struct value_at_impl<sequence_facade_tag, Dummy> | |
{ | |
template <typename Sequence, typename N> | |
struct apply : Sequence::template value_at<Sequence, N> {}; | |
}; | |
- template <> | |
- struct value_at_impl<boost_tuple_tag>; | |
+ template <typename Dummy> | |
+ struct value_at_impl<boost_tuple_tag, Dummy>; | |
- template <> | |
- struct value_at_impl<boost_array_tag>; | |
+ template <typename Dummy> | |
+ struct value_at_impl<boost_array_tag, Dummy>; | |
- template <> | |
- struct value_at_impl<mpl_sequence_tag>; | |
+ template <typename Dummy> | |
+ struct value_at_impl<mpl_sequence_tag, Dummy>; | |
- template <> | |
- struct value_at_impl<std_pair_tag>; | |
+ template <typename Dummy> | |
+ struct value_at_impl<std_pair_tag, Dummy>; | |
} | |
namespace result_of | |
Index: boost/fusion/sequence/intrinsic/at.hpp | |
=================================================================== | |
--- boost/fusion/sequence/intrinsic/at.hpp (revision 74355) | |
+++ boost/fusion/sequence/intrinsic/at.hpp (working copy) | |
@@ -24,31 +24,31 @@ | |
namespace extension | |
{ | |
- template <typename Tag> | |
+ template <typename Tag, typename Dummy> | |
struct at_impl | |
{ | |
template <typename Sequence, typename N> | |
struct apply; | |
}; | |
- template <> | |
- struct at_impl<sequence_facade_tag> | |
+ template <typename Dummy> | |
+ struct at_impl<sequence_facade_tag, Dummy> | |
{ | |
template <typename Sequence, typename N> | |
struct apply : Sequence::template at<Sequence, N> {}; | |
}; | |
- template <> | |
- struct at_impl<boost_tuple_tag>; | |
+ template <typename Dummy> | |
+ struct at_impl<boost_tuple_tag, Dummy>; | |
- template <> | |
- struct at_impl<boost_array_tag>; | |
+ template <typename Dummy> | |
+ struct at_impl<boost_array_tag, Dummy>; | |
- template <> | |
- struct at_impl<mpl_sequence_tag>; | |
+ template <typename Dummy> | |
+ struct at_impl<mpl_sequence_tag, Dummy>; | |
- template <> | |
- struct at_impl<std_pair_tag>; | |
+ template <typename Dummy> | |
+ struct at_impl<std_pair_tag, Dummy>; | |
} | |
namespace result_of | |
Index: boost/fusion/sequence/intrinsic/end.hpp | |
=================================================================== | |
--- boost/fusion/sequence/intrinsic/end.hpp (revision 74355) | |
+++ boost/fusion/sequence/intrinsic/end.hpp (working copy) | |
@@ -27,7 +27,7 @@ | |
namespace extension | |
{ | |
- template <typename Tag> | |
+ template <typename Tag, typename Dummy> | |
struct end_impl | |
{ | |
template <typename Sequence> | |
@@ -40,24 +40,24 @@ | |
{}; | |
}; | |
- template <> | |
- struct end_impl<sequence_facade_tag> | |
+ template <typename Dummy> | |
+ struct end_impl<sequence_facade_tag, Dummy> | |
{ | |
template <typename Sequence> | |
struct apply : Sequence::template end<Sequence> {}; | |
}; | |
- template <> | |
- struct end_impl<boost_tuple_tag>; | |
+ template <typename Dummy> | |
+ struct end_impl<boost_tuple_tag, Dummy>; | |
- template <> | |
- struct end_impl<boost_array_tag>; | |
+ template <typename Dummy> | |
+ struct end_impl<boost_array_tag, Dummy>; | |
- template <> | |
- struct end_impl<mpl_sequence_tag>; | |
+ template <typename Dummy> | |
+ struct end_impl<mpl_sequence_tag, Dummy>; | |
- template <> | |
- struct end_impl<std_pair_tag>; | |
+ template <typename Dummy> | |
+ struct end_impl<std_pair_tag, Dummy>; | |
} | |
namespace result_of | |
Index: boost/fusion/sequence/intrinsic/value_at_key.hpp | |
=================================================================== | |
--- boost/fusion/sequence/intrinsic/value_at_key.hpp (revision 74355) | |
+++ boost/fusion/sequence/intrinsic/value_at_key.hpp (working copy) | |
@@ -24,7 +24,7 @@ | |
namespace extension | |
{ | |
- template <typename Tag> | |
+ template <typename Tag, typename Dummy> | |
struct value_at_key_impl | |
{ | |
template <typename Seq, typename Key> | |
@@ -35,21 +35,21 @@ | |
{}; | |
}; | |
- template <> | |
- struct value_at_key_impl<sequence_facade_tag> | |
+ template <typename Dummy> | |
+ struct value_at_key_impl<sequence_facade_tag, Dummy> | |
{ | |
template <typename Sequence, typename Key> | |
struct apply : Sequence::template value_at_key<Sequence, Key> {}; | |
}; | |
- template <> | |
- struct value_at_key_impl<boost_array_tag>; | |
+ template <typename Dummy> | |
+ struct value_at_key_impl<boost_array_tag, Dummy>; | |
- template <> | |
- struct value_at_key_impl<mpl_sequence_tag>; | |
+ template <typename Dummy> | |
+ struct value_at_key_impl<mpl_sequence_tag, Dummy>; | |
- template <> | |
- struct value_at_key_impl<std_pair_tag>; | |
+ template <typename Dummy> | |
+ struct value_at_key_impl<std_pair_tag, Dummy>; | |
} | |
namespace result_of | |
Index: boost/fusion/sequence/intrinsic/size.hpp | |
=================================================================== | |
--- boost/fusion/sequence/intrinsic/size.hpp (revision 74355) | |
+++ boost/fusion/sequence/intrinsic/size.hpp (working copy) | |
@@ -26,7 +26,7 @@ | |
namespace extension | |
{ | |
- template <typename Tag> | |
+ template <typename Tag, typename Dummy> | |
struct size_impl | |
{ | |
template<typename Sequence> | |
@@ -42,24 +42,24 @@ | |
{}; | |
}; | |
- template <> | |
- struct size_impl<sequence_facade_tag> | |
+ template <typename Dummy> | |
+ struct size_impl<sequence_facade_tag, Dummy> | |
{ | |
template <typename Sequence> | |
struct apply : Sequence::template size<Sequence> {}; | |
}; | |
- template <> | |
- struct size_impl<boost_tuple_tag>; | |
+ template <typename Dummy> | |
+ struct size_impl<boost_tuple_tag, Dummy>; | |
- template <> | |
- struct size_impl<boost_array_tag>; | |
+ template <typename Dummy> | |
+ struct size_impl<boost_array_tag, Dummy>; | |
- template <> | |
- struct size_impl<mpl_sequence_tag>; | |
+ template <typename Dummy> | |
+ struct size_impl<mpl_sequence_tag, Dummy>; | |
- template <> | |
- struct size_impl<std_pair_tag>; | |
+ template <typename Dummy> | |
+ struct size_impl<std_pair_tag, Dummy>; | |
} | |
namespace result_of | |
Index: boost/fusion/sequence/intrinsic/at_key.hpp | |
=================================================================== | |
--- boost/fusion/sequence/intrinsic/at_key.hpp (revision 74355) | |
+++ boost/fusion/sequence/intrinsic/at_key.hpp (working copy) | |
@@ -25,7 +25,7 @@ | |
namespace extension | |
{ | |
- template <typename Tag> | |
+ template <typename Tag, typename Dummy> | |
struct at_key_impl | |
{ | |
template <typename Seq, typename Key> | |
@@ -45,21 +45,21 @@ | |
}; | |
}; | |
- template <> | |
- struct at_key_impl<sequence_facade_tag> | |
+ template <typename Dummy> | |
+ struct at_key_impl<sequence_facade_tag, Dummy> | |
{ | |
template <typename Sequence, typename Key> | |
struct apply : Sequence::template at_key_impl<Sequence, Key> {}; | |
}; | |
- template <> | |
- struct at_key_impl<boost_array_tag>; | |
+ template <typename Dummy> | |
+ struct at_key_impl<boost_array_tag, Dummy>; | |
- template <> | |
- struct at_key_impl<mpl_sequence_tag>; | |
+ template <typename Dummy> | |
+ struct at_key_impl<mpl_sequence_tag, Dummy>; | |
- template <> | |
- struct at_key_impl<std_pair_tag>; | |
+ template <typename Dummy> | |
+ struct at_key_impl<std_pair_tag, Dummy>; | |
} | |
namespace result_of | |
Index: boost/fusion/sequence/intrinsic/has_key.hpp | |
=================================================================== | |
--- boost/fusion/sequence/intrinsic/has_key.hpp (revision 74355) | |
+++ boost/fusion/sequence/intrinsic/has_key.hpp (working copy) | |
@@ -26,7 +26,7 @@ | |
namespace extension | |
{ | |
- template <typename Tag> | |
+ template <typename Tag, typename Dummy> | |
struct has_key_impl | |
{ | |
template <typename Seq, typename Key> | |
@@ -40,21 +40,21 @@ | |
{}; | |
}; | |
- template <> | |
- struct has_key_impl<sequence_facade_tag> | |
+ template <typename Dummy> | |
+ struct has_key_impl<sequence_facade_tag, Dummy> | |
{ | |
template <typename Sequence, typename Key> | |
struct apply : Sequence::template has_key<Sequence, Key> {}; | |
}; | |
- template <> | |
- struct has_key_impl<boost_array_tag>; | |
+ template <typename Dummy> | |
+ struct has_key_impl<boost_array_tag, Dummy>; | |
- template <> | |
- struct has_key_impl<mpl_sequence_tag>; | |
+ template <typename Dummy> | |
+ struct has_key_impl<mpl_sequence_tag, Dummy>; | |
- template <> | |
- struct has_key_impl<std_pair_tag>; | |
+ template <typename Dummy> | |
+ struct has_key_impl<std_pair_tag, Dummy>; | |
} | |
namespace result_of | |
Index: boost/fusion/sequence/intrinsic/begin.hpp | |
=================================================================== | |
--- boost/fusion/sequence/intrinsic/begin.hpp (revision 74355) | |
+++ boost/fusion/sequence/intrinsic/begin.hpp (working copy) | |
@@ -27,7 +27,7 @@ | |
namespace extension | |
{ | |
- template <typename Tag> | |
+ template <typename Tag, typename Dummy> | |
struct begin_impl | |
{ | |
template <typename Sequence> | |
@@ -40,24 +40,24 @@ | |
{}; | |
}; | |
- template <> | |
- struct begin_impl<sequence_facade_tag> | |
+ template <typename Dummy> | |
+ struct begin_impl<sequence_facade_tag, Dummy> | |
{ | |
template <typename Sequence> | |
struct apply : Sequence::template begin<Sequence> {}; | |
}; | |
- template <> | |
- struct begin_impl<boost_tuple_tag>; | |
+ template <typename Dummy> | |
+ struct begin_impl<boost_tuple_tag, Dummy>; | |
- template <> | |
- struct begin_impl<boost_array_tag>; | |
+ template <typename Dummy> | |
+ struct begin_impl<boost_array_tag, Dummy>; | |
- template <> | |
- struct begin_impl<mpl_sequence_tag>; | |
+ template <typename Dummy> | |
+ struct begin_impl<mpl_sequence_tag, Dummy>; | |
- template <> | |
- struct begin_impl<std_pair_tag>; | |
+ template <typename Dummy> | |
+ struct begin_impl<std_pair_tag, Dummy>; | |
} | |
namespace result_of | |
Index: boost/fusion/sequence/intrinsic/segments.hpp | |
=================================================================== | |
--- boost/fusion/sequence/intrinsic/segments.hpp (revision 74355) | |
+++ boost/fusion/sequence/intrinsic/segments.hpp (working copy) | |
@@ -21,22 +21,22 @@ | |
// segments: returns a sequence of sequences | |
namespace extension | |
{ | |
- template <typename Tag> | |
+ template <typename Tag, typename Dummy> | |
struct segments_impl | |
{ | |
template <typename Sequence> | |
struct apply {}; | |
}; | |
- template <> | |
- struct segments_impl<sequence_facade_tag> | |
+ template <typename Dummy> | |
+ struct segments_impl<sequence_facade_tag, Dummy> | |
{ | |
template <typename Sequence> | |
struct apply : Sequence::template segments<Sequence> {}; | |
}; | |
- template <> | |
- struct segments_impl<iterator_range_tag>; | |
+ template <typename Dummy> | |
+ struct segments_impl<iterator_range_tag, Dummy>; | |
} | |
namespace result_of | |
Index: boost/fusion/sequence/convert.hpp | |
=================================================================== | |
--- boost/fusion/sequence/convert.hpp (revision 74355) | |
+++ boost/fusion/sequence/convert.hpp (working copy) | |
@@ -11,7 +11,7 @@ | |
{ | |
namespace extension | |
{ | |
- template <typename Tag> | |
+ template <typename Tag, typename Dummy = void> | |
struct convert_impl; | |
} | |
Index: boost/fusion/sequence/intrinsic_fwd.hpp | |
=================================================================== | |
--- boost/fusion/sequence/intrinsic_fwd.hpp (revision 74355) | |
+++ boost/fusion/sequence/intrinsic_fwd.hpp (working copy) | |
@@ -15,34 +15,34 @@ | |
{ | |
namespace extension | |
{ | |
- template <typename Tag> | |
+ template <typename Tag, typename Dummy = void> | |
struct at_impl; | |
- template <typename Tag> | |
+ template <typename Tag, typename Dummy = void> | |
struct begin_impl; | |
- template <typename Tag> | |
+ template <typename Tag, typename Dummy = void> | |
struct empty_impl; | |
- template <typename Tag> | |
+ template <typename Tag, typename Dummy = void> | |
struct end_impl; | |
- template <typename Tag> | |
+ template <typename Tag, typename Dummy = void> | |
struct has_key_impl; | |
- template <typename Tag> | |
+ template <typename Tag, typename Dummy = void> | |
struct segments_impl; | |
- template <typename Tag> | |
+ template <typename Tag, typename Dummy = void> | |
struct size_impl; | |
- template <typename Tag> | |
+ template <typename Tag, typename Dummy = void> | |
struct value_at_impl; | |
- template <typename Tag> | |
+ template <typename Tag, typename Dummy = void> | |
struct at_key_impl; | |
- template <typename Tag> | |
+ template <typename Tag, typename Dummy = void> | |
struct value_at_key_impl; | |
} | |
Index: boost/fusion/view/filter_view/detail/equal_to_impl.hpp | |
=================================================================== | |
--- boost/fusion/view/filter_view/detail/equal_to_impl.hpp (revision 74355) | |
+++ boost/fusion/view/filter_view/detail/equal_to_impl.hpp (working copy) | |
@@ -17,11 +17,8 @@ | |
template<typename I1, typename I2> | |
struct equal_to; | |
- template<typename Tag> | |
- struct equal_to_impl; | |
- | |
- template<> | |
- struct equal_to_impl<filter_view_iterator_tag> | |
+ template<typename Dummy> | |
+ struct equal_to_impl<filter_view_iterator_tag, Dummy> | |
{ | |
template<typename I1, typename I2> | |
struct apply | |
Index: boost/fusion/view/filter_view/detail/value_of_data_impl.hpp | |
=================================================================== | |
--- boost/fusion/view/filter_view/detail/value_of_data_impl.hpp (revision 74355) | |
+++ boost/fusion/view/filter_view/detail/value_of_data_impl.hpp (working copy) | |
@@ -12,11 +12,8 @@ | |
namespace boost { namespace fusion { namespace extension | |
{ | |
- template <typename> | |
- struct value_of_data_impl; | |
- | |
- template <> | |
- struct value_of_data_impl<filter_view_iterator_tag> | |
+ template <typename Dummy> | |
+ struct value_of_data_impl<filter_view_iterator_tag, Dummy> | |
{ | |
template <typename It> | |
struct apply | |
Index: boost/fusion/view/filter_view/detail/size_impl.hpp | |
=================================================================== | |
--- boost/fusion/view/filter_view/detail/size_impl.hpp (revision 74355) | |
+++ boost/fusion/view/filter_view/detail/size_impl.hpp (working copy) | |
@@ -8,6 +8,7 @@ | |
#define FUSION_SIZE_IMPL_09232005_1058 | |
#include <boost/fusion/iterator/distance.hpp> | |
+#include <boost/fusion/sequence/intrinsic_fwd.hpp> | |
#include <boost/fusion/sequence/intrinsic/begin.hpp> | |
#include <boost/fusion/sequence/intrinsic/end.hpp> | |
@@ -17,11 +18,8 @@ | |
namespace extension | |
{ | |
- template <typename Tag> | |
- struct size_impl; | |
- | |
- template <> | |
- struct size_impl<filter_view_tag> | |
+ template <typename Dummy> | |
+ struct size_impl<filter_view_tag, Dummy> | |
{ | |
template <typename Sequence> | |
struct apply | |
Index: boost/fusion/view/filter_view/detail/key_of_impl.hpp | |
=================================================================== | |
--- boost/fusion/view/filter_view/detail/key_of_impl.hpp (revision 74355) | |
+++ boost/fusion/view/filter_view/detail/key_of_impl.hpp (working copy) | |
@@ -12,11 +12,8 @@ | |
namespace boost { namespace fusion { namespace extension | |
{ | |
- template <typename> | |
- struct key_of_impl; | |
- | |
- template <> | |
- struct key_of_impl<filter_view_iterator_tag> | |
+ template <typename Dummy> | |
+ struct key_of_impl<filter_view_iterator_tag, Dummy> | |
{ | |
template <typename It> | |
struct apply | |
Index: boost/fusion/view/filter_view/detail/deref_data_impl.hpp | |
=================================================================== | |
--- boost/fusion/view/filter_view/detail/deref_data_impl.hpp (revision 74355) | |
+++ boost/fusion/view/filter_view/detail/deref_data_impl.hpp (working copy) | |
@@ -12,11 +12,8 @@ | |
namespace boost { namespace fusion { namespace extension | |
{ | |
- template <typename> | |
- struct deref_data_impl; | |
- | |
- template <> | |
- struct deref_data_impl<filter_view_iterator_tag> | |
+ template <typename Dummy> | |
+ struct deref_data_impl<filter_view_iterator_tag, Dummy> | |
{ | |
template <typename It> | |
struct apply | |
Index: boost/fusion/view/filter_view/detail/next_impl.hpp | |
=================================================================== | |
--- boost/fusion/view/filter_view/detail/next_impl.hpp (revision 74355) | |
+++ boost/fusion/view/filter_view/detail/next_impl.hpp (working copy) | |
@@ -25,11 +25,8 @@ | |
namespace extension | |
{ | |
- template <typename Tag> | |
- struct next_impl; | |
- | |
- template <> | |
- struct next_impl<filter_view_iterator_tag> | |
+ template <typename Dummy> | |
+ struct next_impl<filter_view_iterator_tag, Dummy> | |
{ | |
template <typename Iterator> | |
struct apply | |
Index: boost/fusion/view/filter_view/detail/value_of_impl.hpp | |
=================================================================== | |
--- boost/fusion/view/filter_view/detail/value_of_impl.hpp (revision 74355) | |
+++ boost/fusion/view/filter_view/detail/value_of_impl.hpp (working copy) | |
@@ -15,11 +15,8 @@ | |
namespace extension | |
{ | |
- template <typename Tag> | |
- struct value_of_impl; | |
- | |
- template <> | |
- struct value_of_impl<filter_view_iterator_tag> | |
+ template <typename Dummy> | |
+ struct value_of_impl<filter_view_iterator_tag, Dummy> | |
: detail::adapt_value_traits {}; | |
} | |
}} | |
Index: boost/fusion/view/filter_view/detail/begin_impl.hpp | |
=================================================================== | |
--- boost/fusion/view/filter_view/detail/begin_impl.hpp (revision 74355) | |
+++ boost/fusion/view/filter_view/detail/begin_impl.hpp (working copy) | |
@@ -16,11 +16,8 @@ | |
namespace extension | |
{ | |
- template <typename Tag> | |
- struct begin_impl; | |
- | |
- template <> | |
- struct begin_impl<filter_view_tag> | |
+ template <typename Dummy> | |
+ struct begin_impl<filter_view_tag, Dummy> | |
{ | |
template <typename Sequence> | |
struct apply | |
Index: boost/fusion/view/filter_view/detail/deref_impl.hpp | |
=================================================================== | |
--- boost/fusion/view/filter_view/detail/deref_impl.hpp (revision 74355) | |
+++ boost/fusion/view/filter_view/detail/deref_impl.hpp (working copy) | |
@@ -15,11 +15,8 @@ | |
namespace extension | |
{ | |
- template <typename Tag> | |
- struct deref_impl; | |
- | |
- template <> | |
- struct deref_impl<filter_view_iterator_tag> | |
+ template <typename Dummy> | |
+ struct deref_impl<filter_view_iterator_tag, Dummy> | |
: detail::adapt_deref_traits {}; | |
} | |
}} | |
Index: boost/fusion/view/filter_view/detail/end_impl.hpp | |
=================================================================== | |
--- boost/fusion/view/filter_view/detail/end_impl.hpp (revision 74355) | |
+++ boost/fusion/view/filter_view/detail/end_impl.hpp (working copy) | |
@@ -16,11 +16,8 @@ | |
namespace extension | |
{ | |
- template <typename Tag> | |
- struct end_impl; | |
- | |
- template <> | |
- struct end_impl<filter_view_tag> | |
+ template <typename Dummy> | |
+ struct end_impl<filter_view_tag, Dummy> | |
{ | |
template <typename Sequence> | |
struct apply | |
Index: boost/fusion/view/nview/detail/nview_impl.hpp | |
=================================================================== | |
--- boost/fusion/view/nview/detail/nview_impl.hpp (revision 74355) | |
+++ boost/fusion/view/nview/detail/nview_impl.hpp (working copy) | |
@@ -27,7 +27,7 @@ | |
namespace boost { namespace fusion { namespace result_of | |
{ | |
template <typename Sequence | |
- , BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT(FUSION_MAX_VECTOR_SIZE, int I, LONG_MAX)> | |
+ , BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT(FUSION_MAX_VECTOR_SIZE, int I, INT_MAX)> | |
struct as_nview | |
{ | |
typedef mpl::vector_c< | |
Index: boost/fusion/view/nview/detail/equal_to_impl.hpp | |
=================================================================== | |
--- boost/fusion/view/nview/detail/equal_to_impl.hpp (revision 74355) | |
+++ boost/fusion/view/nview/detail/equal_to_impl.hpp (working copy) | |
@@ -16,11 +16,8 @@ | |
namespace extension | |
{ | |
- template<typename Tag> | |
- struct equal_to_impl; | |
- | |
- template<> | |
- struct equal_to_impl<nview_iterator_tag> | |
+ template<typename Dummy> | |
+ struct equal_to_impl<nview_iterator_tag, Dummy> | |
{ | |
template<typename It1, typename It2> | |
struct apply | |
Index: boost/fusion/view/nview/detail/distance_impl.hpp | |
=================================================================== | |
--- boost/fusion/view/nview/detail/distance_impl.hpp (revision 74355) | |
+++ boost/fusion/view/nview/detail/distance_impl.hpp (working copy) | |
@@ -16,11 +16,8 @@ | |
namespace extension | |
{ | |
- template<typename Tag> | |
- struct distance_impl; | |
- | |
- template<> | |
- struct distance_impl<nview_iterator_tag> | |
+ template<typename Dummy> | |
+ struct distance_impl<nview_iterator_tag, Dummy> | |
{ | |
template<typename First, typename Last> | |
struct apply | |
Index: boost/fusion/view/nview/detail/size_impl.hpp | |
=================================================================== | |
--- boost/fusion/view/nview/detail/size_impl.hpp (revision 74355) | |
+++ boost/fusion/view/nview/detail/size_impl.hpp (working copy) | |
@@ -8,6 +8,7 @@ | |
#define FUSION_NVIEW_SIZE_IMPL_OCT_06_2009_0525PM | |
#include <boost/fusion/iterator/distance.hpp> | |
+#include <boost/fusion/sequence/intrinsic_fwd.hpp> | |
#include <boost/fusion/sequence/intrinsic/begin.hpp> | |
#include <boost/fusion/sequence/intrinsic/end.hpp> | |
@@ -17,11 +18,8 @@ | |
namespace extension | |
{ | |
- template <typename Tag> | |
- struct size_impl; | |
- | |
- template <> | |
- struct size_impl<nview_tag> | |
+ template <typename Dummy> | |
+ struct size_impl<nview_tag, Dummy> | |
{ | |
template <typename Sequence> | |
struct apply | |
Index: boost/fusion/view/nview/detail/prior_impl.hpp | |
=================================================================== | |
--- boost/fusion/view/nview/detail/prior_impl.hpp (revision 74355) | |
+++ boost/fusion/view/nview/detail/prior_impl.hpp (working copy) | |
@@ -19,11 +19,8 @@ | |
namespace extension | |
{ | |
- template <typename Tag> | |
- struct prior_impl; | |
- | |
- template <> | |
- struct prior_impl<nview_iterator_tag> | |
+ template <typename Dummy> | |
+ struct prior_impl<nview_iterator_tag, Dummy> | |
{ | |
template <typename Iterator> | |
struct apply | |
Index: boost/fusion/view/nview/detail/next_impl.hpp | |
=================================================================== | |
--- boost/fusion/view/nview/detail/next_impl.hpp (revision 74355) | |
+++ boost/fusion/view/nview/detail/next_impl.hpp (working copy) | |
@@ -19,11 +19,8 @@ | |
namespace extension | |
{ | |
- template <typename Tag> | |
- struct next_impl; | |
- | |
- template <> | |
- struct next_impl<nview_iterator_tag> | |
+ template <typename Dummy> | |
+ struct next_impl<nview_iterator_tag, Dummy> | |
{ | |
template <typename Iterator> | |
struct apply | |
Index: boost/fusion/view/nview/detail/value_at_impl.hpp | |
=================================================================== | |
--- boost/fusion/view/nview/detail/value_at_impl.hpp (revision 74355) | |
+++ boost/fusion/view/nview/detail/value_at_impl.hpp (working copy) | |
@@ -16,11 +16,8 @@ | |
namespace extension | |
{ | |
- template<typename Tag> | |
- struct value_at_impl; | |
- | |
- template<> | |
- struct value_at_impl<nview_tag> | |
+ template<typename Dummy> | |
+ struct value_at_impl<nview_tag, Dummy> | |
{ | |
template<typename Sequence, typename N> | |
struct apply | |
Index: boost/fusion/view/nview/detail/value_of_impl.hpp | |
=================================================================== | |
--- boost/fusion/view/nview/detail/value_of_impl.hpp (revision 74355) | |
+++ boost/fusion/view/nview/detail/value_of_impl.hpp (working copy) | |
@@ -20,11 +20,8 @@ | |
namespace extension | |
{ | |
- template <typename Tag> | |
- struct value_of_impl; | |
- | |
- template <> | |
- struct value_of_impl<nview_iterator_tag> | |
+ template <typename Dummy> | |
+ struct value_of_impl<nview_iterator_tag, Dummy> | |
{ | |
template <typename Iterator> | |
struct apply | |
Index: boost/fusion/view/nview/detail/advance_impl.hpp | |
=================================================================== | |
--- boost/fusion/view/nview/detail/advance_impl.hpp (revision 74355) | |
+++ boost/fusion/view/nview/detail/advance_impl.hpp (working copy) | |
@@ -20,11 +20,8 @@ | |
namespace extension | |
{ | |
- template<typename Tag> | |
- struct advance_impl; | |
- | |
- template<> | |
- struct advance_impl<nview_iterator_tag> | |
+ template<typename Dummy> | |
+ struct advance_impl<nview_iterator_tag, Dummy> | |
{ | |
template<typename Iterator, typename Dist> | |
struct apply | |
Index: boost/fusion/view/nview/detail/at_impl.hpp | |
=================================================================== | |
--- boost/fusion/view/nview/detail/at_impl.hpp (revision 74355) | |
+++ boost/fusion/view/nview/detail/at_impl.hpp (working copy) | |
@@ -16,11 +16,8 @@ | |
namespace extension | |
{ | |
- template<typename Tag> | |
- struct at_impl; | |
- | |
- template<> | |
- struct at_impl<nview_tag> | |
+ template<typename Dummy> | |
+ struct at_impl<nview_tag, Dummy> | |
{ | |
template<typename Sequence, typename N> | |
struct apply | |
Index: boost/fusion/view/nview/detail/begin_impl.hpp | |
=================================================================== | |
--- boost/fusion/view/nview/detail/begin_impl.hpp (revision 74355) | |
+++ boost/fusion/view/nview/detail/begin_impl.hpp (working copy) | |
@@ -20,11 +20,8 @@ | |
namespace extension | |
{ | |
- template<typename Tag> | |
- struct begin_impl; | |
- | |
- template<> | |
- struct begin_impl<nview_tag> | |
+ template<typename Dummy> | |
+ struct begin_impl<nview_tag, Dummy> | |
{ | |
template<typename Sequence> | |
struct apply | |
Index: boost/fusion/view/nview/detail/deref_impl.hpp | |
=================================================================== | |
--- boost/fusion/view/nview/detail/deref_impl.hpp (revision 74355) | |
+++ boost/fusion/view/nview/detail/deref_impl.hpp (working copy) | |
@@ -17,11 +17,8 @@ | |
namespace extension | |
{ | |
- template<typename Tag> | |
- struct deref_impl; | |
- | |
- template<> | |
- struct deref_impl<nview_iterator_tag> | |
+ template<typename Dummy> | |
+ struct deref_impl<nview_iterator_tag, Dummy> | |
{ | |
template<typename Iterator> | |
struct apply | |
Index: boost/fusion/view/nview/detail/end_impl.hpp | |
=================================================================== | |
--- boost/fusion/view/nview/detail/end_impl.hpp (revision 74355) | |
+++ boost/fusion/view/nview/detail/end_impl.hpp (working copy) | |
@@ -20,12 +20,9 @@ | |
namespace extension | |
{ | |
- template <typename Tag> | |
- struct end_impl; | |
- | |
// Unary Version | |
- template <> | |
- struct end_impl<nview_tag> | |
+ template <typename Dummy> | |
+ struct end_impl<nview_tag, Dummy> | |
{ | |
template <typename Sequence> | |
struct apply | |
Index: boost/fusion/view/zip_view/detail/equal_to_impl.hpp | |
=================================================================== | |
--- boost/fusion/view/zip_view/detail/equal_to_impl.hpp (revision 74355) | |
+++ boost/fusion/view/zip_view/detail/equal_to_impl.hpp (working copy) | |
@@ -45,11 +45,8 @@ | |
namespace extension | |
{ | |
- template<typename Tag> | |
- struct equal_to_impl; | |
- | |
- template<> | |
- struct equal_to_impl<zip_view_iterator_tag> | |
+ template<typename Dummy> | |
+ struct equal_to_impl<zip_view_iterator_tag, Dummy> | |
{ | |
template<typename It1, typename It2> | |
struct apply | |
Index: boost/fusion/view/zip_view/detail/distance_impl.hpp | |
=================================================================== | |
--- boost/fusion/view/zip_view/detail/distance_impl.hpp (revision 74355) | |
+++ boost/fusion/view/zip_view/detail/distance_impl.hpp (working copy) | |
@@ -59,11 +59,8 @@ | |
namespace extension | |
{ | |
- template<typename Tag> | |
- struct distance_impl; | |
- | |
- template<> | |
- struct distance_impl<zip_view_iterator_tag> | |
+ template<typename Dummy> | |
+ struct distance_impl<zip_view_iterator_tag, Dummy> | |
{ | |
template<typename It1, typename It2> | |
struct apply | |
Index: boost/fusion/view/zip_view/detail/size_impl.hpp | |
=================================================================== | |
--- boost/fusion/view/zip_view/detail/size_impl.hpp (revision 74355) | |
+++ boost/fusion/view/zip_view/detail/size_impl.hpp (working copy) | |
@@ -8,6 +8,8 @@ | |
#if !defined(FUSION_SIZE_IMPL_20060124_0800) | |
#define FUSION_SIZE_IMPL_20060124_0800 | |
+#include <boost/fusion/sequence/intrinsic_fwd.hpp> | |
+ | |
namespace boost { namespace fusion { | |
struct zip_view_tag; | |
@@ -17,11 +19,8 @@ | |
template<typename Sequence> | |
struct size; | |
- template<typename Tag> | |
- struct size_impl; | |
- | |
- template<> | |
- struct size_impl<zip_view_tag> | |
+ template<typename Dummy> | |
+ struct size_impl<zip_view_tag, Dummy> | |
{ | |
template<typename Sequence> | |
struct apply | |
Index: boost/fusion/view/zip_view/detail/prior_impl.hpp | |
=================================================================== | |
--- boost/fusion/view/zip_view/detail/prior_impl.hpp (revision 74355) | |
+++ boost/fusion/view/zip_view/detail/prior_impl.hpp (working copy) | |
@@ -55,11 +55,8 @@ | |
namespace extension | |
{ | |
- template<typename Tag> | |
- struct prior_impl; | |
- | |
- template<> | |
- struct prior_impl<zip_view_iterator_tag> | |
+ template<typename Dummy> | |
+ struct prior_impl<zip_view_iterator_tag, Dummy> | |
{ | |
template<typename Iterator> | |
struct apply | |
Index: boost/fusion/view/zip_view/detail/next_impl.hpp | |
=================================================================== | |
--- boost/fusion/view/zip_view/detail/next_impl.hpp (revision 74355) | |
+++ boost/fusion/view/zip_view/detail/next_impl.hpp (working copy) | |
@@ -56,11 +56,8 @@ | |
namespace extension | |
{ | |
- template<typename Tag> | |
- struct next_impl; | |
- | |
- template<> | |
- struct next_impl<zip_view_iterator_tag> | |
+ template<typename Dummy> | |
+ struct next_impl<zip_view_iterator_tag, Dummy> | |
{ | |
template<typename Iterator> | |
struct apply | |
Index: boost/fusion/view/zip_view/detail/value_at_impl.hpp | |
=================================================================== | |
--- boost/fusion/view/zip_view/detail/value_at_impl.hpp (revision 74355) | |
+++ boost/fusion/view/zip_view/detail/value_at_impl.hpp (working copy) | |
@@ -40,11 +40,8 @@ | |
namespace extension | |
{ | |
- template<typename Tag> | |
- struct value_at_impl; | |
- | |
- template<> | |
- struct value_at_impl<zip_view_tag> | |
+ template<typename Dummy> | |
+ struct value_at_impl<zip_view_tag, Dummy> | |
{ | |
template<typename Sequence, typename N> | |
struct apply | |
Index: boost/fusion/view/zip_view/detail/value_of_impl.hpp | |
=================================================================== | |
--- boost/fusion/view/zip_view/detail/value_of_impl.hpp (revision 74355) | |
+++ boost/fusion/view/zip_view/detail/value_of_impl.hpp (working copy) | |
@@ -39,11 +39,8 @@ | |
namespace extension | |
{ | |
- template<typename Tag> | |
- struct value_of_impl; | |
- | |
- template<> | |
- struct value_of_impl<zip_view_iterator_tag> | |
+ template<typename Dummy> | |
+ struct value_of_impl<zip_view_iterator_tag, Dummy> | |
{ | |
template<typename Iterator> | |
struct apply | |
Index: boost/fusion/view/zip_view/detail/advance_impl.hpp | |
=================================================================== | |
--- boost/fusion/view/zip_view/detail/advance_impl.hpp (revision 74355) | |
+++ boost/fusion/view/zip_view/detail/advance_impl.hpp (working copy) | |
@@ -43,11 +43,8 @@ | |
namespace extension | |
{ | |
- template<typename Tag> | |
- struct advance_impl; | |
- | |
- template<> | |
- struct advance_impl<zip_view_iterator_tag> | |
+ template<typename Dummy> | |
+ struct advance_impl<zip_view_iterator_tag, Dummy> | |
{ | |
template<typename It, typename N> | |
struct apply | |
Index: boost/fusion/view/zip_view/detail/at_impl.hpp | |
=================================================================== | |
--- boost/fusion/view/zip_view/detail/at_impl.hpp (revision 74355) | |
+++ boost/fusion/view/zip_view/detail/at_impl.hpp (working copy) | |
@@ -65,11 +65,8 @@ | |
namespace extension | |
{ | |
- template<typename Tag> | |
- struct at_impl; | |
- | |
- template<> | |
- struct at_impl<zip_view_tag> | |
+ template<typename Dummy> | |
+ struct at_impl<zip_view_tag, Dummy> | |
{ | |
template<typename Seq, typename N> | |
struct apply | |
Index: boost/fusion/view/zip_view/detail/begin_impl.hpp | |
=================================================================== | |
--- boost/fusion/view/zip_view/detail/begin_impl.hpp (revision 74355) | |
+++ boost/fusion/view/zip_view/detail/begin_impl.hpp (working copy) | |
@@ -62,11 +62,8 @@ | |
namespace extension | |
{ | |
- template<typename Tag> | |
- struct begin_impl; | |
- | |
- template<> | |
- struct begin_impl<zip_view_tag> | |
+ template<typename Dummy> | |
+ struct begin_impl<zip_view_tag, Dummy> | |
{ | |
template<typename Sequence> | |
struct apply | |
Index: boost/fusion/view/zip_view/detail/deref_impl.hpp | |
=================================================================== | |
--- boost/fusion/view/zip_view/detail/deref_impl.hpp (revision 74355) | |
+++ boost/fusion/view/zip_view/detail/deref_impl.hpp (working copy) | |
@@ -57,11 +57,8 @@ | |
namespace extension | |
{ | |
- template<typename Tag> | |
- struct deref_impl; | |
- | |
- template<> | |
- struct deref_impl<zip_view_iterator_tag> | |
+ template<typename Dummy> | |
+ struct deref_impl<zip_view_iterator_tag, Dummy> | |
{ | |
template<typename It> | |
struct apply | |
Index: boost/fusion/view/zip_view/detail/end_impl.hpp | |
=================================================================== | |
--- boost/fusion/view/zip_view/detail/end_impl.hpp (revision 74355) | |
+++ boost/fusion/view/zip_view/detail/end_impl.hpp (working copy) | |
@@ -76,11 +76,8 @@ | |
namespace extension | |
{ | |
- template<typename Tag> | |
- struct end_impl; | |
- | |
- template<> | |
- struct end_impl<zip_view_tag> | |
+ template<typename Dummy> | |
+ struct end_impl<zip_view_tag, Dummy> | |
{ | |
template<typename Sequence> | |
struct apply | |
Index: boost/fusion/view/transform_view/detail/equal_to_impl.hpp | |
=================================================================== | |
--- boost/fusion/view/transform_view/detail/equal_to_impl.hpp (revision 74355) | |
+++ boost/fusion/view/transform_view/detail/equal_to_impl.hpp (working copy) | |
@@ -16,11 +16,8 @@ | |
namespace extension | |
{ | |
- template<typename Tag> | |
- struct equal_to_impl; | |
- | |
- template<> | |
- struct equal_to_impl<transform_view_iterator_tag> | |
+ template<typename Dummy> | |
+ struct equal_to_impl<transform_view_iterator_tag, Dummy> | |
{ | |
template<typename It1, typename It2> | |
struct apply | |
@@ -28,8 +25,8 @@ | |
{}; | |
}; | |
- template<> | |
- struct equal_to_impl<transform_view_iterator2_tag> | |
+ template<typename Dummy> | |
+ struct equal_to_impl<transform_view_iterator2_tag, Dummy> | |
{ | |
template<typename It1, typename It2> | |
struct apply | |
Index: boost/fusion/view/transform_view/detail/distance_impl.hpp | |
=================================================================== | |
--- boost/fusion/view/transform_view/detail/distance_impl.hpp (revision 74355) | |
+++ boost/fusion/view/transform_view/detail/distance_impl.hpp (working copy) | |
@@ -17,12 +17,9 @@ | |
namespace extension | |
{ | |
- template<typename Tag> | |
- struct distance_impl; | |
- | |
// Unary Version | |
- template<> | |
- struct distance_impl<transform_view_iterator_tag> | |
+ template<typename Dummy> | |
+ struct distance_impl<transform_view_iterator_tag, Dummy> | |
{ | |
template<typename First, typename Last> | |
struct apply | |
@@ -38,8 +35,8 @@ | |
}; | |
// Binary Version | |
- template<> | |
- struct distance_impl<transform_view_iterator2_tag> | |
+ template<typename Dummy> | |
+ struct distance_impl<transform_view_iterator2_tag, Dummy> | |
{ | |
template<typename First, typename Last> | |
struct apply | |
Index: boost/fusion/view/transform_view/detail/prior_impl.hpp | |
=================================================================== | |
--- boost/fusion/view/transform_view/detail/prior_impl.hpp (revision 74355) | |
+++ boost/fusion/view/transform_view/detail/prior_impl.hpp (working copy) | |
@@ -23,12 +23,9 @@ | |
namespace extension | |
{ | |
- template<typename Tag> | |
- struct prior_impl; | |
- | |
// Unary Version | |
- template<> | |
- struct prior_impl<transform_view_iterator_tag> | |
+ template<typename Dummy> | |
+ struct prior_impl<transform_view_iterator_tag, Dummy> | |
{ | |
template<typename Iterator> | |
struct apply | |
@@ -47,8 +44,8 @@ | |
}; | |
// Binary Version | |
- template<> | |
- struct prior_impl<transform_view_iterator2_tag> | |
+ template<typename Dummy> | |
+ struct prior_impl<transform_view_iterator2_tag, Dummy> | |
{ | |
template<typename Iterator> | |
struct apply | |
Index: boost/fusion/view/transform_view/detail/next_impl.hpp | |
=================================================================== | |
--- boost/fusion/view/transform_view/detail/next_impl.hpp (revision 74355) | |
+++ boost/fusion/view/transform_view/detail/next_impl.hpp (working copy) | |
@@ -22,12 +22,9 @@ | |
namespace extension | |
{ | |
- template <typename Tag> | |
- struct next_impl; | |
- | |
// Unary Version | |
- template <> | |
- struct next_impl<transform_view_iterator_tag> | |
+ template <typename Dummy> | |
+ struct next_impl<transform_view_iterator_tag, Dummy> | |
{ | |
template <typename Iterator> | |
struct apply | |
@@ -46,8 +43,8 @@ | |
}; | |
// Binary Version | |
- template <> | |
- struct next_impl<transform_view_iterator2_tag> | |
+ template <typename Dummy> | |
+ struct next_impl<transform_view_iterator2_tag, Dummy> | |
{ | |
template <typename Iterator> | |
struct apply | |
Index: boost/fusion/view/transform_view/detail/value_at_impl.hpp | |
=================================================================== | |
--- boost/fusion/view/transform_view/detail/value_at_impl.hpp (revision 74355) | |
+++ boost/fusion/view/transform_view/detail/value_at_impl.hpp (working copy) | |
@@ -18,11 +18,8 @@ | |
namespace extension | |
{ | |
- template<typename Tag> | |
- struct value_at_impl; | |
- | |
- template<> | |
- struct value_at_impl<transform_view_tag> | |
+ template<typename Dummy> | |
+ struct value_at_impl<transform_view_tag, Dummy> | |
{ | |
template<typename Seq, typename N> | |
struct apply | |
@@ -34,8 +31,8 @@ | |
}; | |
}; | |
- template<> | |
- struct value_at_impl<transform_view2_tag> | |
+ template<typename Dummy> | |
+ struct value_at_impl<transform_view2_tag, Dummy> | |
{ | |
template<typename Seq, typename N> | |
struct apply | |
Index: boost/fusion/view/transform_view/detail/value_of_impl.hpp | |
=================================================================== | |
--- boost/fusion/view/transform_view/detail/value_of_impl.hpp (revision 74355) | |
+++ boost/fusion/view/transform_view/detail/value_of_impl.hpp (working copy) | |
@@ -18,12 +18,9 @@ | |
namespace extension | |
{ | |
- template <typename Tag> | |
- struct value_of_impl; | |
- | |
// Unary Version | |
- template <> | |
- struct value_of_impl<transform_view_iterator_tag> | |
+ template <typename Dummy> | |
+ struct value_of_impl<transform_view_iterator_tag, Dummy> | |
{ | |
template <typename Iterator> | |
struct apply | |
@@ -38,8 +35,8 @@ | |
}; | |
// Binary Version | |
- template <> | |
- struct value_of_impl<transform_view_iterator2_tag> | |
+ template <typename Dummy> | |
+ struct value_of_impl<transform_view_iterator2_tag, Dummy> | |
{ | |
template <typename Iterator> | |
struct apply | |
Index: boost/fusion/view/transform_view/detail/advance_impl.hpp | |
=================================================================== | |
--- boost/fusion/view/transform_view/detail/advance_impl.hpp (revision 74355) | |
+++ boost/fusion/view/transform_view/detail/advance_impl.hpp (working copy) | |
@@ -23,12 +23,9 @@ | |
namespace extension | |
{ | |
- template<typename Tag> | |
- struct advance_impl; | |
- | |
// Unary Version | |
- template<> | |
- struct advance_impl<transform_view_iterator_tag> | |
+ template<typename Dummy> | |
+ struct advance_impl<transform_view_iterator_tag, Dummy> | |
{ | |
template<typename Iterator, typename Dist> | |
struct apply | |
@@ -47,8 +44,8 @@ | |
}; | |
// Binary Version | |
- template<> | |
- struct advance_impl<transform_view_iterator2_tag> | |
+ template<typename Dummy> | |
+ struct advance_impl<transform_view_iterator2_tag, Dummy> | |
{ | |
template<typename Iterator, typename Dist> | |
struct apply | |
Index: boost/fusion/view/transform_view/detail/at_impl.hpp | |
=================================================================== | |
--- boost/fusion/view/transform_view/detail/at_impl.hpp (revision 74355) | |
+++ boost/fusion/view/transform_view/detail/at_impl.hpp (working copy) | |
@@ -18,11 +18,8 @@ | |
namespace extension | |
{ | |
- template<typename Tag> | |
- struct at_impl; | |
- | |
- template<> | |
- struct at_impl<transform_view_tag> | |
+ template<typename Dummy> | |
+ struct at_impl<transform_view_tag, Dummy> | |
{ | |
template<typename Seq, typename N> | |
struct apply | |
@@ -39,8 +36,8 @@ | |
}; | |
}; | |
- template<> | |
- struct at_impl<transform_view2_tag> | |
+ template<typename Dummy> | |
+ struct at_impl<transform_view2_tag, Dummy> | |
{ | |
template<typename Seq, typename N> | |
struct apply | |
Index: boost/fusion/view/transform_view/detail/begin_impl.hpp | |
=================================================================== | |
--- boost/fusion/view/transform_view/detail/begin_impl.hpp (revision 74355) | |
+++ boost/fusion/view/transform_view/detail/begin_impl.hpp (working copy) | |
@@ -19,12 +19,9 @@ | |
namespace extension | |
{ | |
- template <typename Tag> | |
- struct begin_impl; | |
- | |
// Unary Version | |
- template <> | |
- struct begin_impl<transform_view_tag> | |
+ template <typename Dummy> | |
+ struct begin_impl<transform_view_tag, Dummy> | |
{ | |
template <typename Sequence> | |
struct apply | |
@@ -42,8 +39,8 @@ | |
}; | |
// Binary Version | |
- template <> | |
- struct begin_impl<transform_view2_tag> | |
+ template <typename Dummy> | |
+ struct begin_impl<transform_view2_tag, Dummy> | |
{ | |
template <typename Sequence> | |
struct apply | |
Index: boost/fusion/view/transform_view/detail/deref_impl.hpp | |
=================================================================== | |
--- boost/fusion/view/transform_view/detail/deref_impl.hpp (revision 74355) | |
+++ boost/fusion/view/transform_view/detail/deref_impl.hpp (working copy) | |
@@ -19,12 +19,9 @@ | |
namespace extension | |
{ | |
- template <typename Tag> | |
- struct deref_impl; | |
- | |
// Unary Version | |
- template <> | |
- struct deref_impl<transform_view_iterator_tag> | |
+ template <typename Dummy> | |
+ struct deref_impl<transform_view_iterator_tag, Dummy> | |
{ | |
template <typename Iterator> | |
struct apply | |
@@ -45,8 +42,8 @@ | |
}; | |
// Binary Version | |
- template <> | |
- struct deref_impl<transform_view_iterator2_tag> | |
+ template <typename Dummy> | |
+ struct deref_impl<transform_view_iterator2_tag, Dummy> | |
{ | |
template <typename Iterator> | |
struct apply | |
Index: boost/fusion/view/transform_view/detail/end_impl.hpp | |
=================================================================== | |
--- boost/fusion/view/transform_view/detail/end_impl.hpp (revision 74355) | |
+++ boost/fusion/view/transform_view/detail/end_impl.hpp (working copy) | |
@@ -19,12 +19,9 @@ | |
namespace extension | |
{ | |
- template <typename Tag> | |
- struct end_impl; | |
- | |
// Unary Version | |
- template <> | |
- struct end_impl<transform_view_tag> | |
+ template <typename Dummy> | |
+ struct end_impl<transform_view_tag, Dummy> | |
{ | |
template <typename Sequence> | |
struct apply | |
@@ -42,8 +39,8 @@ | |
}; | |
// Binary Version | |
- template <> | |
- struct end_impl<transform_view2_tag> | |
+ template <typename Dummy> | |
+ struct end_impl<transform_view2_tag, Dummy> | |
{ | |
template <typename Sequence> | |
struct apply | |
Index: boost/fusion/view/iterator_range/detail/size_impl.hpp | |
=================================================================== | |
--- boost/fusion/view/iterator_range/detail/size_impl.hpp (revision 74355) | |
+++ boost/fusion/view/iterator_range/detail/size_impl.hpp (working copy) | |
@@ -9,6 +9,7 @@ | |
#define BOOST_FUSION_ITERATOR_RANGE_SIZE_IMPL_HPP_INCLUDED | |
#include <boost/fusion/iterator/distance.hpp> | |
+#include <boost/fusion/sequence/intrinsic_fwd.hpp> | |
namespace boost { namespace fusion | |
{ | |
@@ -16,11 +17,8 @@ | |
namespace extension | |
{ | |
- template <typename Tag> | |
- struct size_impl; | |
- | |
- template <> | |
- struct size_impl<iterator_range_tag> | |
+ template <typename Dummy> | |
+ struct size_impl<iterator_range_tag, Dummy> | |
{ | |
template <typename Seq> | |
struct apply | |
Index: boost/fusion/view/iterator_range/detail/value_at_impl.hpp | |
=================================================================== | |
--- boost/fusion/view/iterator_range/detail/value_at_impl.hpp (revision 74355) | |
+++ boost/fusion/view/iterator_range/detail/value_at_impl.hpp (working copy) | |
@@ -17,11 +17,8 @@ | |
namespace extension | |
{ | |
- template <typename Tag> | |
- struct value_at_impl; | |
- | |
- template <> | |
- struct value_at_impl<iterator_range_tag> | |
+ template <typename Dummy> | |
+ struct value_at_impl<iterator_range_tag, Dummy> | |
{ | |
template <typename Seq, typename N> | |
struct apply | |
Index: boost/fusion/view/iterator_range/detail/at_impl.hpp | |
=================================================================== | |
--- boost/fusion/view/iterator_range/detail/at_impl.hpp (revision 74355) | |
+++ boost/fusion/view/iterator_range/detail/at_impl.hpp (working copy) | |
@@ -17,11 +17,8 @@ | |
namespace extension | |
{ | |
- template <typename Tag> | |
- struct at_impl; | |
- | |
- template <> | |
- struct at_impl<iterator_range_tag> | |
+ template <typename Dummy> | |
+ struct at_impl<iterator_range_tag, Dummy> | |
{ | |
template <typename Seq, typename N> | |
struct apply | |
Index: boost/fusion/view/iterator_range/detail/begin_impl.hpp | |
=================================================================== | |
--- boost/fusion/view/iterator_range/detail/begin_impl.hpp (revision 74355) | |
+++ boost/fusion/view/iterator_range/detail/begin_impl.hpp (working copy) | |
@@ -13,11 +13,8 @@ | |
namespace extension | |
{ | |
- template <typename Tag> | |
- struct begin_impl; | |
- | |
- template <> | |
- struct begin_impl<iterator_range_tag> | |
+ template <typename Dummy> | |
+ struct begin_impl<iterator_range_tag, Dummy> | |
{ | |
template <typename Sequence> | |
struct apply | |
Index: boost/fusion/view/iterator_range/detail/segments_impl.hpp | |
=================================================================== | |
--- boost/fusion/view/iterator_range/detail/segments_impl.hpp (revision 74355) | |
+++ boost/fusion/view/iterator_range/detail/segments_impl.hpp (working copy) | |
@@ -18,11 +18,8 @@ | |
namespace extension | |
{ | |
- template <typename Tag> | |
- struct segments_impl; | |
- | |
- template <> | |
- struct segments_impl<iterator_range_tag> | |
+ template <typename Dummy> | |
+ struct segments_impl<iterator_range_tag, Dummy> | |
{ | |
template <typename Sequence> | |
struct apply | |
Index: boost/fusion/view/iterator_range/detail/end_impl.hpp | |
=================================================================== | |
--- boost/fusion/view/iterator_range/detail/end_impl.hpp (revision 74355) | |
+++ boost/fusion/view/iterator_range/detail/end_impl.hpp (working copy) | |
@@ -13,11 +13,8 @@ | |
namespace extension | |
{ | |
- template <typename Tag> | |
- struct end_impl; | |
- | |
- template <> | |
- struct end_impl<iterator_range_tag> | |
+ template <typename Dummy> | |
+ struct end_impl<iterator_range_tag, Dummy> | |
{ | |
template <typename Sequence> | |
struct apply | |
Index: boost/fusion/view/iterator_range/detail/is_segmented_impl.hpp | |
=================================================================== | |
--- boost/fusion/view/iterator_range/detail/is_segmented_impl.hpp (revision 74355) | |
+++ boost/fusion/view/iterator_range/detail/is_segmented_impl.hpp (working copy) | |
@@ -19,12 +19,9 @@ | |
namespace extension | |
{ | |
- template <typename Tag> | |
- struct is_segmented_impl; | |
- | |
// An iterator_range of segmented_iterators is segmented | |
- template <> | |
- struct is_segmented_impl<iterator_range_tag> | |
+ template <typename Dummy> | |
+ struct is_segmented_impl<iterator_range_tag, Dummy> | |
{ | |
private: | |
template <typename Iterator> | |
Index: boost/fusion/view/reverse_view/detail/value_of_data_impl.hpp | |
=================================================================== | |
--- boost/fusion/view/reverse_view/detail/value_of_data_impl.hpp (revision 74355) | |
+++ boost/fusion/view/reverse_view/detail/value_of_data_impl.hpp (working copy) | |
@@ -12,11 +12,8 @@ | |
namespace boost { namespace fusion { namespace extension | |
{ | |
- template <typename> | |
- struct value_of_data_impl; | |
- | |
- template <> | |
- struct value_of_data_impl<reverse_view_iterator_tag> | |
+ template <typename Dummy> | |
+ struct value_of_data_impl<reverse_view_iterator_tag, Dummy> | |
{ | |
template <typename It> | |
struct apply | |
Index: boost/fusion/view/reverse_view/detail/distance_impl.hpp | |
=================================================================== | |
--- boost/fusion/view/reverse_view/detail/distance_impl.hpp (revision 74355) | |
+++ boost/fusion/view/reverse_view/detail/distance_impl.hpp (working copy) | |
@@ -19,11 +19,8 @@ | |
namespace extension | |
{ | |
- template<typename Tag> | |
- struct distance_impl; | |
- | |
- template<> | |
- struct distance_impl<reverse_view_iterator_tag> | |
+ template<typename Dummy> | |
+ struct distance_impl<reverse_view_iterator_tag, Dummy> | |
{ | |
template<typename First, typename Last> | |
struct apply | |
Index: boost/fusion/view/reverse_view/detail/prior_impl.hpp | |
=================================================================== | |
--- boost/fusion/view/reverse_view/detail/prior_impl.hpp (revision 74355) | |
+++ boost/fusion/view/reverse_view/detail/prior_impl.hpp (working copy) | |
@@ -19,8 +19,8 @@ | |
namespace extension | |
{ | |
- template <> | |
- struct prior_impl<reverse_view_iterator_tag> | |
+ template <typename Dummy> | |
+ struct prior_impl<reverse_view_iterator_tag, Dummy> | |
{ | |
template <typename Iterator> | |
struct apply | |
Index: boost/fusion/view/reverse_view/detail/key_of_impl.hpp | |
=================================================================== | |
--- boost/fusion/view/reverse_view/detail/key_of_impl.hpp (revision 74355) | |
+++ boost/fusion/view/reverse_view/detail/key_of_impl.hpp (working copy) | |
@@ -12,11 +12,8 @@ | |
namespace boost { namespace fusion { namespace extension | |
{ | |
- template <typename> | |
- struct key_of_impl; | |
- | |
- template <> | |
- struct key_of_impl<reverse_view_iterator_tag> | |
+ template <typename Dummy> | |
+ struct key_of_impl<reverse_view_iterator_tag, Dummy> | |
{ | |
template <typename It> | |
struct apply | |
Index: boost/fusion/view/reverse_view/detail/deref_data_impl.hpp | |
=================================================================== | |
--- boost/fusion/view/reverse_view/detail/deref_data_impl.hpp (revision 74355) | |
+++ boost/fusion/view/reverse_view/detail/deref_data_impl.hpp (working copy) | |
@@ -12,11 +12,8 @@ | |
namespace boost { namespace fusion { namespace extension | |
{ | |
- template <typename> | |
- struct deref_data_impl; | |
- | |
- template <> | |
- struct deref_data_impl<reverse_view_iterator_tag> | |
+ template <typename Dummy> | |
+ struct deref_data_impl<reverse_view_iterator_tag, Dummy> | |
{ | |
template <typename It> | |
struct apply | |
Index: boost/fusion/view/reverse_view/detail/next_impl.hpp | |
=================================================================== | |
--- boost/fusion/view/reverse_view/detail/next_impl.hpp (revision 74355) | |
+++ boost/fusion/view/reverse_view/detail/next_impl.hpp (working copy) | |
@@ -19,8 +19,8 @@ | |
namespace extension | |
{ | |
- template <> | |
- struct next_impl<reverse_view_iterator_tag> | |
+ template <typename Dummy> | |
+ struct next_impl<reverse_view_iterator_tag, Dummy> | |
{ | |
template <typename Iterator> | |
struct apply | |
Index: boost/fusion/view/reverse_view/detail/value_at_impl.hpp | |
=================================================================== | |
--- boost/fusion/view/reverse_view/detail/value_at_impl.hpp (revision 74355) | |
+++ boost/fusion/view/reverse_view/detail/value_at_impl.hpp (working copy) | |
@@ -14,11 +14,8 @@ | |
namespace boost { namespace fusion { namespace extension | |
{ | |
- template <typename> | |
- struct value_at_impl; | |
- | |
- template <> | |
- struct value_at_impl<reverse_view_tag> | |
+ template <typename Dummy> | |
+ struct value_at_impl<reverse_view_tag, Dummy> | |
{ | |
template <typename Seq, typename N> | |
struct apply | |
Index: boost/fusion/view/reverse_view/detail/value_of_impl.hpp | |
=================================================================== | |
--- boost/fusion/view/reverse_view/detail/value_of_impl.hpp (revision 74355) | |
+++ boost/fusion/view/reverse_view/detail/value_of_impl.hpp (working copy) | |
@@ -16,11 +16,8 @@ | |
namespace extension | |
{ | |
- template <typename Tag> | |
- struct value_of_impl; | |
- | |
- template <> | |
- struct value_of_impl<reverse_view_iterator_tag> | |
+ template <typename Dummy> | |
+ struct value_of_impl<reverse_view_iterator_tag, Dummy> | |
{ | |
template <typename Iterator> | |
struct apply | |
Index: boost/fusion/view/reverse_view/detail/advance_impl.hpp | |
=================================================================== | |
--- boost/fusion/view/reverse_view/detail/advance_impl.hpp (revision 74355) | |
+++ boost/fusion/view/reverse_view/detail/advance_impl.hpp (working copy) | |
@@ -20,11 +20,8 @@ | |
namespace extension | |
{ | |
- template<typename Tag> | |
- struct advance_impl; | |
- | |
- template<> | |
- struct advance_impl<reverse_view_iterator_tag> | |
+ template<typename Dummy> | |
+ struct advance_impl<reverse_view_iterator_tag, Dummy> | |
{ | |
template<typename Iterator, typename Dist> | |
struct apply | |
Index: boost/fusion/view/reverse_view/detail/at_impl.hpp | |
=================================================================== | |
--- boost/fusion/view/reverse_view/detail/at_impl.hpp (revision 74355) | |
+++ boost/fusion/view/reverse_view/detail/at_impl.hpp (working copy) | |
@@ -14,11 +14,8 @@ | |
namespace boost { namespace fusion { namespace extension | |
{ | |
- template <typename> | |
- struct at_impl; | |
- | |
- template <> | |
- struct at_impl<reverse_view_tag> | |
+ template <typename Dummy> | |
+ struct at_impl<reverse_view_tag, Dummy> | |
{ | |
template <typename Seq, typename N> | |
struct apply | |
Index: boost/fusion/view/reverse_view/detail/begin_impl.hpp | |
=================================================================== | |
--- boost/fusion/view/reverse_view/detail/begin_impl.hpp (revision 74355) | |
+++ boost/fusion/view/reverse_view/detail/begin_impl.hpp (working copy) | |
@@ -16,11 +16,8 @@ | |
namespace extension | |
{ | |
- template <typename Tag> | |
- struct begin_impl; | |
- | |
- template <> | |
- struct begin_impl<reverse_view_tag> | |
+ template <typename Dummy> | |
+ struct begin_impl<reverse_view_tag, Dummy> | |
{ | |
template <typename Sequence> | |
struct apply | |
Index: boost/fusion/view/reverse_view/detail/deref_impl.hpp | |
=================================================================== | |
--- boost/fusion/view/reverse_view/detail/deref_impl.hpp (revision 74355) | |
+++ boost/fusion/view/reverse_view/detail/deref_impl.hpp (working copy) | |
@@ -16,11 +16,8 @@ | |
namespace extension | |
{ | |
- template <typename Tag> | |
- struct deref_impl; | |
- | |
- template <> | |
- struct deref_impl<reverse_view_iterator_tag> | |
+ template <typename Dummy> | |
+ struct deref_impl<reverse_view_iterator_tag, Dummy> | |
{ | |
template <typename Iterator> | |
struct apply | |
Index: boost/fusion/view/reverse_view/detail/end_impl.hpp | |
=================================================================== | |
--- boost/fusion/view/reverse_view/detail/end_impl.hpp (revision 74355) | |
+++ boost/fusion/view/reverse_view/detail/end_impl.hpp (working copy) | |
@@ -16,11 +16,8 @@ | |
namespace extension | |
{ | |
- template <typename Tag> | |
- struct end_impl; | |
- | |
- template <> | |
- struct end_impl<reverse_view_tag> | |
+ template <typename Dummy> | |
+ struct end_impl<reverse_view_tag, Dummy> | |
{ | |
template <typename Sequence> | |
struct apply | |
Index: boost/fusion/view/repetitive_view/detail/next_impl.hpp | |
=================================================================== | |
--- boost/fusion/view/repetitive_view/detail/next_impl.hpp (revision 74355) | |
+++ boost/fusion/view/repetitive_view/detail/next_impl.hpp (working copy) | |
@@ -20,11 +20,8 @@ | |
namespace extension | |
{ | |
- template <typename Tag> | |
- struct next_impl; | |
- | |
- template <> | |
- struct next_impl<repetitive_view_iterator_tag> | |
+ template <typename Dummy> | |
+ struct next_impl<repetitive_view_iterator_tag, Dummy> | |
{ | |
template<typename Iterator, | |
bool Last = result_of::equal_to<typename Iterator::end_type, | |
Index: boost/fusion/view/repetitive_view/detail/value_of_impl.hpp | |
=================================================================== | |
--- boost/fusion/view/repetitive_view/detail/value_of_impl.hpp (revision 74355) | |
+++ boost/fusion/view/repetitive_view/detail/value_of_impl.hpp (working copy) | |
@@ -16,11 +16,8 @@ | |
namespace extension | |
{ | |
- template<typename Tag> | |
- struct value_of_impl; | |
- | |
- template<> | |
- struct value_of_impl<repetitive_view_iterator_tag> | |
+ template<typename Dummy> | |
+ struct value_of_impl<repetitive_view_iterator_tag, Dummy> | |
{ | |
template<typename Iterator> | |
struct apply | |
Index: boost/fusion/view/repetitive_view/detail/begin_impl.hpp | |
=================================================================== | |
--- boost/fusion/view/repetitive_view/detail/begin_impl.hpp (revision 74355) | |
+++ boost/fusion/view/repetitive_view/detail/begin_impl.hpp (working copy) | |
@@ -20,11 +20,8 @@ | |
namespace extension | |
{ | |
- template<typename Tag> | |
- struct begin_impl; | |
- | |
- template<> | |
- struct begin_impl<repetitive_view_tag> | |
+ template<typename Dummy> | |
+ struct begin_impl<repetitive_view_tag, Dummy> | |
{ | |
template<typename View> | |
struct apply | |
Index: boost/fusion/view/repetitive_view/detail/deref_impl.hpp | |
=================================================================== | |
--- boost/fusion/view/repetitive_view/detail/deref_impl.hpp (revision 74355) | |
+++ boost/fusion/view/repetitive_view/detail/deref_impl.hpp (working copy) | |
@@ -16,11 +16,8 @@ | |
namespace extension | |
{ | |
- template<typename Tag> | |
- struct deref_impl; | |
- | |
- template<> | |
- struct deref_impl<repetitive_view_iterator_tag> | |
+ template<typename Dummy> | |
+ struct deref_impl<repetitive_view_iterator_tag, Dummy> | |
{ | |
template<typename Iterator> | |
struct apply | |
Index: boost/fusion/view/repetitive_view/detail/end_impl.hpp | |
=================================================================== | |
--- boost/fusion/view/repetitive_view/detail/end_impl.hpp (revision 74355) | |
+++ boost/fusion/view/repetitive_view/detail/end_impl.hpp (working copy) | |
@@ -20,11 +20,8 @@ | |
namespace extension | |
{ | |
- template<typename Tag> | |
- struct end_impl; | |
- | |
- template<> | |
- struct end_impl<repetitive_view_tag> | |
+ template<typename Dummy> | |
+ struct end_impl<repetitive_view_tag, Dummy> | |
{ | |
template<typename View> | |
struct apply | |
Index: boost/fusion/view/single_view/detail/equal_to_impl.hpp | |
=================================================================== | |
--- boost/fusion/view/single_view/detail/equal_to_impl.hpp (revision 74355) | |
+++ boost/fusion/view/single_view/detail/equal_to_impl.hpp (working copy) | |
@@ -19,11 +19,8 @@ | |
namespace extension | |
{ | |
- template<typename Tag> | |
- struct equal_to_impl; | |
- | |
- template<> | |
- struct equal_to_impl<single_view_iterator_tag> | |
+ template<typename Dummy> | |
+ struct equal_to_impl<single_view_iterator_tag, Dummy> | |
{ | |
template<typename It1, typename It2> | |
struct apply | |
Index: boost/fusion/view/single_view/detail/distance_impl.hpp | |
=================================================================== | |
--- boost/fusion/view/single_view/detail/distance_impl.hpp (revision 74355) | |
+++ boost/fusion/view/single_view/detail/distance_impl.hpp (working copy) | |
@@ -16,11 +16,8 @@ | |
namespace extension | |
{ | |
- template<typename Tag> | |
- struct distance_impl; | |
- | |
- template<> | |
- struct distance_impl<single_view_iterator_tag> | |
+ template<typename Dummy> | |
+ struct distance_impl<single_view_iterator_tag, Dummy> | |
{ | |
template<typename First, typename Last> | |
struct apply | |
Index: boost/fusion/view/single_view/detail/size_impl.hpp | |
=================================================================== | |
--- boost/fusion/view/single_view/detail/size_impl.hpp (revision 74355) | |
+++ boost/fusion/view/single_view/detail/size_impl.hpp (working copy) | |
@@ -7,17 +7,16 @@ | |
#if !defined(FUSION_SINGLE_VIEW_SIZE_IMPL_JUL_07_2011_1348PM) | |
#define FUSION_SINGLE_VIEW_SIZE_IMPL_JUL_07_2011_1348PM | |
+#include <boost/fusion/sequence/intrinsic_fwd.hpp> | |
+ | |
namespace boost { namespace fusion | |
{ | |
struct single_view_tag; | |
namespace extension | |
{ | |
- template <typename Tag> | |
- struct size_impl; | |
- | |
- template <> | |
- struct size_impl<single_view_tag> | |
+ template <typename Dummy> | |
+ struct size_impl<single_view_tag, Dummy> | |
{ | |
template <typename Sequence> | |
struct apply | |
Index: boost/fusion/view/single_view/detail/prior_impl.hpp | |
=================================================================== | |
--- boost/fusion/view/single_view/detail/prior_impl.hpp (revision 74355) | |
+++ boost/fusion/view/single_view/detail/prior_impl.hpp (working copy) | |
@@ -18,11 +18,8 @@ | |
namespace extension | |
{ | |
- template <typename Tag> | |
- struct prior_impl; | |
- | |
- template <> | |
- struct prior_impl<single_view_iterator_tag> | |
+ template <typename Dummy> | |
+ struct prior_impl<single_view_iterator_tag, Dummy> | |
{ | |
template <typename Iterator> | |
struct apply | |
Index: boost/fusion/view/single_view/detail/next_impl.hpp | |
=================================================================== | |
--- boost/fusion/view/single_view/detail/next_impl.hpp (revision 74355) | |
+++ boost/fusion/view/single_view/detail/next_impl.hpp (working copy) | |
@@ -20,11 +20,8 @@ | |
namespace extension | |
{ | |
- template <typename Tag> | |
- struct next_impl; | |
- | |
- template <> | |
- struct next_impl<single_view_iterator_tag> | |
+ template <typename Dummy> | |
+ struct next_impl<single_view_iterator_tag, Dummy> | |
{ | |
template <typename Iterator> | |
struct apply | |
Index: boost/fusion/view/single_view/detail/value_of_impl.hpp | |
=================================================================== | |
--- boost/fusion/view/single_view/detail/value_of_impl.hpp (revision 74355) | |
+++ boost/fusion/view/single_view/detail/value_of_impl.hpp (working copy) | |
@@ -18,11 +18,8 @@ | |
namespace extension | |
{ | |
- template <typename Tag> | |
- struct value_of_impl; | |
- | |
- template <> | |
- struct value_of_impl<single_view_iterator_tag> | |
+ template <typename Dummy> | |
+ struct value_of_impl<single_view_iterator_tag, Dummy> | |
{ | |
template <typename Iterator> | |
struct apply | |
Index: boost/fusion/view/single_view/detail/value_at_impl.hpp | |
=================================================================== | |
--- boost/fusion/view/single_view/detail/value_at_impl.hpp (revision 74355) | |
+++ boost/fusion/view/single_view/detail/value_at_impl.hpp (working copy) | |
@@ -19,11 +19,8 @@ | |
namespace extension | |
{ | |
- template<typename Tag> | |
- struct value_at_impl; | |
- | |
- template<> | |
- struct value_at_impl<single_view_tag> | |
+ template<typename Dummy> | |
+ struct value_at_impl<single_view_tag, Dummy> | |
{ | |
template<typename Sequence, typename N> | |
struct apply | |
Index: boost/fusion/view/single_view/detail/advance_impl.hpp | |
=================================================================== | |
--- boost/fusion/view/single_view/detail/advance_impl.hpp (revision 74355) | |
+++ boost/fusion/view/single_view/detail/advance_impl.hpp (working copy) | |
@@ -19,11 +19,8 @@ | |
namespace extension | |
{ | |
- template<typename Tag> | |
- struct advance_impl; | |
- | |
- template<> | |
- struct advance_impl<single_view_iterator_tag> | |
+ template<typename Dummy> | |
+ struct advance_impl<single_view_iterator_tag, Dummy> | |
{ | |
template<typename Iterator, typename Dist> | |
struct apply | |
Index: boost/fusion/view/single_view/detail/begin_impl.hpp | |
=================================================================== | |
--- boost/fusion/view/single_view/detail/begin_impl.hpp (revision 74355) | |
+++ boost/fusion/view/single_view/detail/begin_impl.hpp (working copy) | |
@@ -19,11 +19,8 @@ | |
namespace extension | |
{ | |
- template <typename Tag> | |
- struct begin_impl; | |
- | |
- template <> | |
- struct begin_impl<single_view_tag> | |
+ template <typename Dummy> | |
+ struct begin_impl<single_view_tag, Dummy> | |
{ | |
template <typename Sequence> | |
struct apply | |
Index: boost/fusion/view/single_view/detail/at_impl.hpp | |
=================================================================== | |
--- boost/fusion/view/single_view/detail/at_impl.hpp (revision 74355) | |
+++ boost/fusion/view/single_view/detail/at_impl.hpp (working copy) | |
@@ -18,11 +18,8 @@ | |
namespace extension | |
{ | |
- template<typename Tag> | |
- struct at_impl; | |
- | |
- template<> | |
- struct at_impl<single_view_tag> | |
+ template<typename Dummy> | |
+ struct at_impl<single_view_tag, Dummy> | |
{ | |
template<typename Sequence, typename N> | |
struct apply | |
Index: boost/fusion/view/single_view/detail/deref_impl.hpp | |
=================================================================== | |
--- boost/fusion/view/single_view/detail/deref_impl.hpp (revision 74355) | |
+++ boost/fusion/view/single_view/detail/deref_impl.hpp (working copy) | |
@@ -18,11 +18,8 @@ | |
namespace extension | |
{ | |
- template <typename Tag> | |
- struct deref_impl; | |
- | |
- template <> | |
- struct deref_impl<single_view_iterator_tag> | |
+ template <typename Dummy> | |
+ struct deref_impl<single_view_iterator_tag, Dummy> | |
{ | |
template <typename Iterator> | |
struct apply | |
Index: boost/fusion/view/single_view/detail/end_impl.hpp | |
=================================================================== | |
--- boost/fusion/view/single_view/detail/end_impl.hpp (revision 74355) | |
+++ boost/fusion/view/single_view/detail/end_impl.hpp (working copy) | |
@@ -19,11 +19,8 @@ | |
namespace extension | |
{ | |
- template <typename Tag> | |
- struct end_impl; | |
- | |
- template <> | |
- struct end_impl<single_view_tag> | |
+ template <typename Dummy> | |
+ struct end_impl<single_view_tag, Dummy> | |
{ | |
template <typename Sequence> | |
struct apply | |
Index: boost/fusion/view/joint_view/detail/value_of_data_impl.hpp | |
=================================================================== | |
--- boost/fusion/view/joint_view/detail/value_of_data_impl.hpp (revision 74355) | |
+++ boost/fusion/view/joint_view/detail/value_of_data_impl.hpp (working copy) | |
@@ -12,11 +12,8 @@ | |
namespace boost { namespace fusion { namespace extension | |
{ | |
- template <typename> | |
- struct value_of_data_impl; | |
- | |
- template <> | |
- struct value_of_data_impl<joint_view_iterator_tag> | |
+ template <typename Dummy> | |
+ struct value_of_data_impl<joint_view_iterator_tag, Dummy> | |
{ | |
template <typename It> | |
struct apply | |
Index: boost/fusion/view/joint_view/detail/key_of_impl.hpp | |
=================================================================== | |
--- boost/fusion/view/joint_view/detail/key_of_impl.hpp (revision 74355) | |
+++ boost/fusion/view/joint_view/detail/key_of_impl.hpp (working copy) | |
@@ -12,11 +12,8 @@ | |
namespace boost { namespace fusion { namespace extension | |
{ | |
- template <typename> | |
- struct key_of_impl; | |
- | |
- template <> | |
- struct key_of_impl<joint_view_iterator_tag> | |
+ template <typename Dummy> | |
+ struct key_of_impl<joint_view_iterator_tag, Dummy> | |
{ | |
template <typename It> | |
struct apply | |
Index: boost/fusion/view/joint_view/detail/deref_data_impl.hpp | |
=================================================================== | |
--- boost/fusion/view/joint_view/detail/deref_data_impl.hpp (revision 74355) | |
+++ boost/fusion/view/joint_view/detail/deref_data_impl.hpp (working copy) | |
@@ -12,11 +12,8 @@ | |
namespace boost { namespace fusion { namespace extension | |
{ | |
- template <typename> | |
- struct deref_data_impl; | |
- | |
- template <> | |
- struct deref_data_impl<joint_view_iterator_tag> | |
+ template <typename Dummy> | |
+ struct deref_data_impl<joint_view_iterator_tag, Dummy> | |
{ | |
template <typename It> | |
struct apply | |
Index: boost/fusion/view/joint_view/detail/next_impl.hpp | |
=================================================================== | |
--- boost/fusion/view/joint_view/detail/next_impl.hpp (revision 74355) | |
+++ boost/fusion/view/joint_view/detail/next_impl.hpp (working copy) | |
@@ -20,11 +20,8 @@ | |
namespace extension | |
{ | |
- template <typename Tag> | |
- struct next_impl; | |
- | |
- template <> | |
- struct next_impl<joint_view_iterator_tag> | |
+ template <typename Dummy> | |
+ struct next_impl<joint_view_iterator_tag, Dummy> | |
{ | |
template <typename Iterator> | |
struct apply | |
Index: boost/fusion/view/joint_view/detail/value_of_impl.hpp | |
=================================================================== | |
--- boost/fusion/view/joint_view/detail/value_of_impl.hpp (revision 74355) | |
+++ boost/fusion/view/joint_view/detail/value_of_impl.hpp (working copy) | |
@@ -15,11 +15,8 @@ | |
namespace extension | |
{ | |
- template <typename Tag> | |
- struct value_of_impl; | |
- | |
- template <> | |
- struct value_of_impl<joint_view_iterator_tag> | |
+ template <typename Dummy> | |
+ struct value_of_impl<joint_view_iterator_tag, Dummy> | |
: detail::adapt_value_traits {}; | |
} | |
}} | |
Index: boost/fusion/view/joint_view/detail/begin_impl.hpp | |
=================================================================== | |
--- boost/fusion/view/joint_view/detail/begin_impl.hpp (revision 74355) | |
+++ boost/fusion/view/joint_view/detail/begin_impl.hpp (working copy) | |
@@ -19,11 +19,8 @@ | |
namespace extension | |
{ | |
- template <typename Tag> | |
- struct begin_impl; | |
- | |
- template <> | |
- struct begin_impl<joint_view_tag> | |
+ template <typename Dummy> | |
+ struct begin_impl<joint_view_tag, Dummy> | |
{ | |
template <typename Sequence> | |
struct apply | |
Index: boost/fusion/view/joint_view/detail/deref_impl.hpp | |
=================================================================== | |
--- boost/fusion/view/joint_view/detail/deref_impl.hpp (revision 74355) | |
+++ boost/fusion/view/joint_view/detail/deref_impl.hpp (working copy) | |
@@ -15,11 +15,8 @@ | |
namespace extension | |
{ | |
- template <typename Tag> | |
- struct deref_impl; | |
- | |
- template <> | |
- struct deref_impl<joint_view_iterator_tag> | |
+ template <typename Dummy> | |
+ struct deref_impl<joint_view_iterator_tag, Dummy> | |
: detail::adapt_deref_traits {}; | |
} | |
}} | |
Index: boost/fusion/view/joint_view/detail/end_impl.hpp | |
=================================================================== | |
--- boost/fusion/view/joint_view/detail/end_impl.hpp (revision 74355) | |
+++ boost/fusion/view/joint_view/detail/end_impl.hpp (working copy) | |
@@ -16,11 +16,8 @@ | |
namespace extension | |
{ | |
- template <typename Tag> | |
- struct end_impl; | |
- | |
- template <> | |
- struct end_impl<joint_view_tag> | |
+ template <typename Dummy> | |
+ struct end_impl<joint_view_tag, Dummy> | |
{ | |
template <typename Sequence> | |
struct apply | |
Index: boost/fusion/support/category_of.hpp | |
=================================================================== | |
--- boost/fusion/support/category_of.hpp (revision 74355) | |
+++ boost/fusion/support/category_of.hpp (working copy) | |
@@ -9,6 +9,7 @@ | |
#include <boost/fusion/support/detail/category_of.hpp> | |
#include <boost/fusion/support/tag_of.hpp> | |
+#include <boost/fusion/support/category_of_fwd.hpp> | |
#include <boost/type_traits/is_base_of.hpp> | |
namespace boost { namespace fusion | |
@@ -37,24 +38,24 @@ | |
namespace extension | |
{ | |
- template<typename Tag> | |
+ template<typename Tag, typename Dummy> | |
struct category_of_impl | |
{ | |
template<typename T> | |
struct apply : detail::fusion_category_of<T> {}; | |
}; | |
- template <> | |
- struct category_of_impl<boost_tuple_tag>; | |
+ template <typename Dummy> | |
+ struct category_of_impl<boost_tuple_tag, Dummy>; | |
- template <> | |
- struct category_of_impl<boost_array_tag>; | |
+ template <typename Dummy> | |
+ struct category_of_impl<boost_array_tag, Dummy>; | |
- template <> | |
- struct category_of_impl<mpl_sequence_tag>; | |
+ template <typename Dummy> | |
+ struct category_of_impl<mpl_sequence_tag, Dummy>; | |
- template <> | |
- struct category_of_impl<std_pair_tag>; | |
+ template <typename Dummy> | |
+ struct category_of_impl<std_pair_tag, Dummy>; | |
} | |
namespace traits | |
Index: boost/fusion/support/category_of_fwd.hpp | |
=================================================================== | |
--- boost/fusion/support/category_of_fwd.hpp (revision 0) | |
+++ boost/fusion/support/category_of_fwd.hpp (revision 0) | |
@@ -0,0 +1,19 @@ | |
+/*============================================================================= | |
+ Copyright (c) 2001-2006 Joel de Guzman | |
+ | |
+ Distributed under the Boost Software License, Version 1.0. (See accompanying | |
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) | |
+==============================================================================*/ | |
+#if !defined(FUSION_CATEGORY_OF_FWD_07202005_0308) | |
+#define FUSION_CATEGORY_OF_FWD_07202005_0308 | |
+ | |
+namespace boost { namespace fusion | |
+{ | |
+ namespace extension | |
+ { | |
+ template<typename Tag, typename Dummy = void> | |
+ struct category_of_impl; | |
+ } | |
+}} | |
+ | |
+#endif | |
Property changes on: boost/fusion/support/category_of_fwd.hpp | |
___________________________________________________________________ | |
Added: svn:mime-type | |
+ text/plain | |
Added: svn:keywords | |
+ Id | |
Added: svn:eol-style | |
+ native | |
Index: boost/fusion/support/is_sequence_fwd.hpp | |
=================================================================== | |
--- boost/fusion/support/is_sequence_fwd.hpp (revision 0) | |
+++ boost/fusion/support/is_sequence_fwd.hpp (revision 0) | |
@@ -0,0 +1,20 @@ | |
+ | |
+/*============================================================================= | |
+ Copyright (c) 2001-2006 Joel de Guzman | |
+ | |
+ Distributed under the Boost Software License, Version 1.0. (See accompanying | |
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) | |
+==============================================================================*/ | |
+#if !defined(FUSION_IS_SEQUENCE_FWD_05052005_1002) | |
+#define FUSION_IS_SEQUENCE_FWD_05052005_1002 | |
+ | |
+namespace boost { namespace fusion | |
+{ | |
+ namespace extension | |
+ { | |
+ template <typename T, typename Dummy = void> | |
+ struct is_sequence_impl; | |
+ } | |
+}} | |
+ | |
+#endif | |
Property changes on: boost/fusion/support/is_sequence_fwd.hpp | |
___________________________________________________________________ | |
Added: svn:mime-type | |
+ text/plain | |
Added: svn:keywords | |
+ Id | |
Added: svn:eol-style | |
+ native | |
Index: boost/fusion/support/is_sequence.hpp | |
=================================================================== | |
--- boost/fusion/support/is_sequence.hpp (revision 74355) | |
+++ boost/fusion/support/is_sequence.hpp (working copy) | |
@@ -7,6 +7,7 @@ | |
#if !defined(FUSION_IS_SEQUENCE_05052005_1002) | |
#define FUSION_IS_SEQUENCE_05052005_1002 | |
+#include <boost/fusion/support/is_sequence_fwd.hpp> | |
#include <boost/fusion/support/sequence_base.hpp> | |
#include <boost/fusion/support/tag_of.hpp> | |
#include <boost/mpl/is_sequence.hpp> | |
@@ -26,7 +27,7 @@ | |
namespace extension | |
{ | |
- template <typename T> | |
+ template <typename T, typename Dummy> | |
struct is_sequence_impl | |
{ | |
template <typename Sequence> | |
@@ -35,24 +36,24 @@ | |
{}; | |
}; | |
- template <> | |
- struct is_sequence_impl<non_fusion_tag> | |
+ template <typename Dummy> | |
+ struct is_sequence_impl<non_fusion_tag, Dummy> | |
{ | |
template <typename T> | |
struct apply : mpl::false_ {}; | |
}; | |
- template <> | |
- struct is_sequence_impl<boost_tuple_tag>; | |
+ template <typename Dummy> | |
+ struct is_sequence_impl<boost_tuple_tag, Dummy>; | |
- template <> | |
- struct is_sequence_impl<boost_array_tag>; | |
+ template <typename Dummy> | |
+ struct is_sequence_impl<boost_array_tag, Dummy>; | |
- template <> | |
- struct is_sequence_impl<mpl_sequence_tag>; | |
+ template <typename Dummy> | |
+ struct is_sequence_impl<mpl_sequence_tag, Dummy>; | |
- template <> | |
- struct is_sequence_impl<std_pair_tag>; | |
+ template <typename Dummy> | |
+ struct is_sequence_impl<std_pair_tag, Dummy>; | |
} | |
namespace traits | |
Index: boost/fusion/support/is_view.hpp | |
=================================================================== | |
--- boost/fusion/support/is_view.hpp (revision 74355) | |
+++ boost/fusion/support/is_view.hpp (working copy) | |
@@ -9,6 +9,7 @@ | |
#include <boost/fusion/support/detail/is_view.hpp> | |
#include <boost/fusion/support/tag_of.hpp> | |
+#include <boost/fusion/support/is_view_fwd.hpp> | |
namespace boost { namespace fusion | |
{ | |
@@ -21,7 +22,7 @@ | |
namespace extension | |
{ | |
- template<typename Tag> | |
+ template<typename Tag, typename Dummy> | |
struct is_view_impl | |
{ | |
template <typename T> | |
@@ -30,24 +31,24 @@ | |
{}; | |
}; | |
- template <> | |
- struct is_view_impl<sequence_facade_tag> | |
+ template <typename Dummy> | |
+ struct is_view_impl<sequence_facade_tag, Dummy> | |
{ | |
template <typename Sequence> | |
struct apply : Sequence::is_view {}; | |
}; | |
- template <> | |
- struct is_view_impl<boost_tuple_tag>; | |
+ template <typename Dummy> | |
+ struct is_view_impl<boost_tuple_tag, Dummy>; | |
- template <> | |
- struct is_view_impl<boost_array_tag>; | |
+ template <typename Dummy> | |
+ struct is_view_impl<boost_array_tag, Dummy>; | |
- template <> | |
- struct is_view_impl<mpl_sequence_tag>; | |
+ template <typename Dummy> | |
+ struct is_view_impl<mpl_sequence_tag, Dummy>; | |
- template <> | |
- struct is_view_impl<std_pair_tag>; | |
+ template <typename Dummy> | |
+ struct is_view_impl<std_pair_tag, Dummy>; | |
} | |
namespace traits | |
Index: boost/fusion/support/is_view_fwd.hpp | |
=================================================================== | |
--- boost/fusion/support/is_view_fwd.hpp (revision 0) | |
+++ boost/fusion/support/is_view_fwd.hpp (revision 0) | |
@@ -0,0 +1,21 @@ | |
+/*============================================================================= | |
+ Copyright (c) 2001-2006 Joel de Guzman | |
+ | |
+ Distributed under the Boost Software License, Version 1.0. (See accompanying | |
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) | |
+==============================================================================*/ | |
+#if !defined(FUSION_IS_VIEW_FWD_03202006_0015) | |
+#define FUSION_IS_VIEW_FWD_03202006_0015 | |
+ | |
+#include <boost/fusion/support/is_view_fwd.hpp> | |
+ | |
+namespace boost { namespace fusion | |
+{ | |
+ namespace extension | |
+ { | |
+ template<typename Tag, typename Dummy = void> | |
+ struct is_view_impl; | |
+ } | |
+}} | |
+ | |
+#endif | |
Property changes on: boost/fusion/support/is_view_fwd.hpp | |
___________________________________________________________________ | |
Added: svn:mime-type | |
+ text/plain | |
Added: svn:keywords | |
+ Id | |
Added: svn:eol-style | |
+ native | |
Index: boost/fusion/support/is_segmented.hpp | |
=================================================================== | |
--- boost/fusion/support/is_segmented.hpp (revision 74355) | |
+++ boost/fusion/support/is_segmented.hpp (working copy) | |
@@ -8,16 +8,13 @@ | |
#define FUSION_IS_SEGMENTED_03202006_0015 | |
#include <boost/fusion/support/tag_of.hpp> | |
+#include <boost/fusion/support/is_segmented_fwd.hpp> | |
namespace boost { namespace fusion | |
{ | |
- // Special tags: | |
- struct sequence_facade_tag; | |
- struct iterator_range_tag; | |
- | |
namespace extension | |
{ | |
- template <typename Tag> | |
+ template <typename Tag, typename Dummy> | |
struct is_segmented_impl | |
{ | |
template <typename Sequence> | |
@@ -26,15 +23,15 @@ | |
{}; | |
}; | |
- template <> | |
- struct is_segmented_impl<sequence_facade_tag> | |
+ template <typename Dummy> | |
+ struct is_segmented_impl<sequence_facade_tag, Dummy> | |
{ | |
template <typename Sequence> | |
struct apply : Sequence::is_segmented {}; | |
}; | |
- template <> | |
- struct is_segmented_impl<iterator_range_tag>; | |
+ template <typename Dummy> | |
+ struct is_segmented_impl<iterator_range_tag, Dummy>; | |
} | |
namespace traits | |
Index: boost/fusion/support/is_segmented_fwd.hpp | |
=================================================================== | |
--- boost/fusion/support/is_segmented_fwd.hpp (revision 0) | |
+++ boost/fusion/support/is_segmented_fwd.hpp (revision 0) | |
@@ -0,0 +1,23 @@ | |
+/*============================================================================= | |
+ Copyright (c) 2006 Eric Niebler | |
+ | |
+ Distributed under the Boost Software License, Version 1.0. (See accompanying | |
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) | |
+==============================================================================*/ | |
+ | |
+#if !defined(FUSION_IS_SEGMENTED_FWD_03202006_0015) | |
+#define FUSION_IS_SEGMENTED_FWD_03202006_0015 | |
+ | |
+namespace boost { namespace fusion { | |
+ // Special tags: | |
+ struct sequence_facade_tag; | |
+ struct iterator_range_tag; | |
+ | |
+ namespace extension | |
+ { | |
+ template <typename Tag, typename Dummy = void> | |
+ struct is_segmented_impl; | |
+ } | |
+}} | |
+ | |
+#endif | |
Property changes on: boost/fusion/support/is_segmented_fwd.hpp | |
___________________________________________________________________ | |
Added: svn:mime-type | |
+ text/plain | |
Added: svn:keywords | |
+ Id | |
Added: svn:eol-style | |
+ native | |
Index: boost/proto/fusion.hpp | |
=================================================================== | |
--- boost/proto/fusion.hpp (revision 74355) | |
+++ boost/proto/fusion.hpp (working copy) | |
@@ -23,6 +23,8 @@ | |
#include <boost/fusion/include/single_view.hpp> | |
#include <boost/fusion/include/transform_view.hpp> | |
#include <boost/fusion/include/is_segmented.hpp> | |
+#include <boost/fusion/support/is_sequence_fwd.hpp> | |
+#include <boost/fusion/support/is_view_fwd.hpp> | |
#include <boost/fusion/sequence/comparison/enable_comparison.hpp> | |
#include <boost/proto/proto_fwd.hpp> | |
#include <boost/proto/traits.hpp> | |
@@ -249,11 +251,8 @@ | |
{ | |
namespace extension | |
{ | |
- template<typename Tag> | |
- struct is_sequence_impl; | |
- | |
- template<> | |
- struct is_sequence_impl<proto::tag::proto_flat_view> | |
+ template<typename Dummy> | |
+ struct is_sequence_impl<proto::tag::proto_flat_view, Dummy> | |
{ | |
template<typename Sequence> | |
struct apply | |
@@ -261,8 +260,8 @@ | |
{}; | |
}; | |
- template<> | |
- struct is_sequence_impl<proto::tag::proto_expr> | |
+ template<typename Dummy> | |
+ struct is_sequence_impl<proto::tag::proto_expr, Dummy> | |
{ | |
template<typename Sequence> | |
struct apply | |
@@ -270,11 +269,8 @@ | |
{}; | |
}; | |
- template<typename Tag> | |
- struct is_view_impl; | |
- | |
- template<> | |
- struct is_view_impl<proto::tag::proto_flat_view> | |
+ template<typename Dummy> | |
+ struct is_view_impl<proto::tag::proto_flat_view, Dummy> | |
{ | |
template<typename Sequence> | |
struct apply | |
@@ -282,8 +278,8 @@ | |
{}; | |
}; | |
- template<> | |
- struct is_view_impl<proto::tag::proto_expr> | |
+ template<typename Dummy> | |
+ struct is_view_impl<proto::tag::proto_expr, Dummy> | |
{ | |
template<typename Sequence> | |
struct apply | |
@@ -291,11 +287,8 @@ | |
{}; | |
}; | |
- template<typename Tag> | |
- struct value_of_impl; | |
- | |
- template<> | |
- struct value_of_impl<proto::tag::proto_expr_iterator> | |
+ template<typename Dummy> | |
+ struct value_of_impl<proto::tag::proto_expr_iterator, Dummy> | |
{ | |
template< | |
typename Iterator | |
@@ -322,11 +315,8 @@ | |
}; | |
}; | |
- template<typename Tag> | |
- struct deref_impl; | |
- | |
- template<> | |
- struct deref_impl<proto::tag::proto_expr_iterator> | |
+ template<typename Dummy> | |
+ struct deref_impl<proto::tag::proto_expr_iterator, Dummy> | |
{ | |
template< | |
typename Iterator | |
@@ -363,11 +353,8 @@ | |
}; | |
}; | |
- template<typename Tag> | |
- struct advance_impl; | |
- | |
- template<> | |
- struct advance_impl<proto::tag::proto_expr_iterator> | |
+ template<typename Dummy> | |
+ struct advance_impl<proto::tag::proto_expr_iterator, Dummy> | |
{ | |
template<typename Iterator, typename N> | |
struct apply | |
@@ -386,11 +373,8 @@ | |
}; | |
}; | |
- template<typename Tag> | |
- struct distance_impl; | |
- | |
- template<> | |
- struct distance_impl<proto::tag::proto_expr_iterator> | |
+ template<typename Dummy> | |
+ struct distance_impl<proto::tag::proto_expr_iterator, Dummy> | |
{ | |
template<typename IteratorFrom, typename IteratorTo> | |
struct apply | |
@@ -398,11 +382,8 @@ | |
{}; | |
}; | |
- template<typename Tag> | |
- struct next_impl; | |
- | |
- template<> | |
- struct next_impl<proto::tag::proto_expr_iterator> | |
+ template<typename Dummy> | |
+ struct next_impl<proto::tag::proto_expr_iterator, Dummy> | |
{ | |
template<typename Iterator> | |
struct apply | |
@@ -410,11 +391,8 @@ | |
{}; | |
}; | |
- template<typename Tag> | |
- struct prior_impl; | |
- | |
- template<> | |
- struct prior_impl<proto::tag::proto_expr_iterator> | |
+ template<typename Dummy> | |
+ struct prior_impl<proto::tag::proto_expr_iterator, Dummy> | |
{ | |
template<typename Iterator> | |
struct apply | |
@@ -422,11 +400,8 @@ | |
{}; | |
}; | |
- template<typename Tag> | |
- struct category_of_impl; | |
- | |
- template<> | |
- struct category_of_impl<proto::tag::proto_expr> | |
+ template<typename Dummy> | |
+ struct category_of_impl<proto::tag::proto_expr, Dummy> | |
{ | |
template<typename Sequence> | |
struct apply | |
@@ -435,11 +410,8 @@ | |
}; | |
}; | |
- template<typename Tag> | |
- struct size_impl; | |
- | |
- template<> | |
- struct size_impl<proto::tag::proto_expr> | |
+ template<typename Dummy> | |
+ struct size_impl<proto::tag::proto_expr, Dummy> | |
{ | |
template<typename Sequence> | |
struct apply | |
@@ -447,11 +419,8 @@ | |
{}; | |
}; | |
- template<typename Tag> | |
- struct begin_impl; | |
- | |
- template<> | |
- struct begin_impl<proto::tag::proto_expr> | |
+ template<typename Dummy> | |
+ struct begin_impl<proto::tag::proto_expr, Dummy> | |
{ | |
template<typename Sequence> | |
struct apply | |
@@ -465,11 +434,8 @@ | |
}; | |
}; | |
- template<typename Tag> | |
- struct end_impl; | |
- | |
- template<> | |
- struct end_impl<proto::tag::proto_expr> | |
+ template<typename Dummy> | |
+ struct end_impl<proto::tag::proto_expr, Dummy> | |
{ | |
template<typename Sequence> | |
struct apply | |
@@ -488,11 +454,8 @@ | |
}; | |
}; | |
- template<typename Tag> | |
- struct value_at_impl; | |
- | |
- template<> | |
- struct value_at_impl<proto::tag::proto_expr> | |
+ template<typename Dummy> | |
+ struct value_at_impl<proto::tag::proto_expr, Dummy> | |
{ | |
template< | |
typename Sequence | |
@@ -520,11 +483,8 @@ | |
}; | |
}; | |
- template<typename Tag> | |
- struct at_impl; | |
- | |
- template<> | |
- struct at_impl<proto::tag::proto_expr> | |
+ template<typename Dummy> | |
+ struct at_impl<proto::tag::proto_expr, Dummy> | |
{ | |
template< | |
typename Sequence | |
@@ -562,11 +522,8 @@ | |
}; | |
}; | |
- template<typename Tag> | |
- struct is_segmented_impl; | |
- | |
- template<> | |
- struct is_segmented_impl<proto::tag::proto_flat_view> | |
+ template<typename Dummy> | |
+ struct is_segmented_impl<proto::tag::proto_flat_view, Dummy> | |
{ | |
template<typename Iterator> | |
struct apply | |
@@ -574,11 +531,8 @@ | |
{}; | |
}; | |
- template<typename Tag> | |
- struct segments_impl; | |
- | |
- template<> | |
- struct segments_impl<proto::tag::proto_flat_view> | |
+ template<typename Dummy> | |
+ struct segments_impl<proto::tag::proto_flat_view, Dummy> | |
{ | |
template<typename Sequence> | |
struct apply | |
@@ -597,8 +551,8 @@ | |
}; | |
}; | |
- template<> | |
- struct category_of_impl<proto::tag::proto_flat_view> | |
+ template<typename Dummy> | |
+ struct category_of_impl<proto::tag::proto_flat_view, Dummy> | |
{ | |
template<typename Sequence> | |
struct apply |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment