mirror of
https://github.com/boostorg/mpl.git
synced 2025-08-02 22:34:31 +02:00
gcc ADL fixes
[SVN r17811]
This commit is contained in:
@@ -68,6 +68,8 @@ struct advance_impl<ra_iter_tag_,Iterator,N>
|
||||
|
||||
} // namespace aux
|
||||
|
||||
BOOST_MPL_AUX_AGLORITHM_NAMESPACE_BEGIN
|
||||
|
||||
template<
|
||||
typename BOOST_MPL_AUX_VOID_SPEC_PARAM(Iterator)
|
||||
, typename BOOST_MPL_AUX_VOID_SPEC_PARAM(N)
|
||||
@@ -81,6 +83,8 @@ struct advance
|
||||
>::type type;
|
||||
};
|
||||
|
||||
BOOST_MPL_AUX_AGLORITHM_NAMESPACE_END
|
||||
|
||||
template<
|
||||
typename Iterator
|
||||
, BOOST_MPL_AUX_NTTP_DECL(long, N)
|
||||
@@ -148,6 +152,8 @@ struct advance_impl<ra_iter_tag_>
|
||||
|
||||
} // namespace aux
|
||||
|
||||
BOOST_MPL_AUX_AGLORITHM_NAMESPACE_BEGIN
|
||||
|
||||
template<
|
||||
typename BOOST_MPL_AUX_VOID_SPEC_PARAM(Iterator)
|
||||
, typename BOOST_MPL_AUX_VOID_SPEC_PARAM(N)
|
||||
@@ -162,6 +168,8 @@ struct advance
|
||||
>::type type;
|
||||
};
|
||||
|
||||
BOOST_MPL_AUX_AGLORITHM_NAMESPACE_END
|
||||
|
||||
template<
|
||||
typename Iterator
|
||||
, BOOST_MPL_AUX_NTTP_DECL(long, N)
|
||||
@@ -178,7 +186,7 @@ struct advance_c
|
||||
|
||||
#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
|
||||
|
||||
BOOST_MPL_AUX_VOID_SPEC(2, advance)
|
||||
BOOST_MPL_AUX_ALGORITHM_VOID_SPEC(2, advance)
|
||||
|
||||
} // namespace mpl
|
||||
} // namespace boost
|
||||
|
@@ -23,6 +23,8 @@
|
||||
namespace boost {
|
||||
namespace mpl {
|
||||
|
||||
BOOST_MPL_AUX_AGLORITHM_NAMESPACE_BEGIN
|
||||
|
||||
template<
|
||||
typename BOOST_MPL_AUX_VOID_SPEC_PARAM(Sequence)
|
||||
, typename BOOST_MPL_AUX_VOID_SPEC_PARAM(State)
|
||||
@@ -33,7 +35,9 @@ struct copy
|
||||
{
|
||||
};
|
||||
|
||||
BOOST_MPL_AUX_VOID_SPEC(3, copy)
|
||||
BOOST_MPL_AUX_AGLORITHM_NAMESPACE_END
|
||||
|
||||
BOOST_MPL_AUX_ALGORITHM_VOID_SPEC(3, copy)
|
||||
|
||||
} // namespace mpl
|
||||
} // namespace boost
|
||||
|
@@ -26,6 +26,8 @@
|
||||
namespace boost {
|
||||
namespace mpl {
|
||||
|
||||
BOOST_MPL_AUX_AGLORITHM_NAMESPACE_BEGIN
|
||||
|
||||
template<
|
||||
typename BOOST_MPL_AUX_VOID_SPEC_PARAM(Sequence)
|
||||
, typename BOOST_MPL_AUX_VOID_SPEC_PARAM(State)
|
||||
@@ -46,7 +48,9 @@ struct copy_backward_if
|
||||
>::type type;
|
||||
};
|
||||
|
||||
BOOST_MPL_AUX_VOID_SPEC(4, copy_backward_if)
|
||||
BOOST_MPL_AUX_AGLORITHM_NAMESPACE_END
|
||||
|
||||
BOOST_MPL_AUX_ALGORITHM_VOID_SPEC(4, copy_backward_if)
|
||||
|
||||
} // namespace mpl
|
||||
} // namespace boost
|
||||
|
@@ -26,6 +26,8 @@
|
||||
namespace boost {
|
||||
namespace mpl {
|
||||
|
||||
BOOST_MPL_AUX_AGLORITHM_NAMESPACE_BEGIN
|
||||
|
||||
template<
|
||||
typename BOOST_MPL_AUX_VOID_SPEC_PARAM(Sequence)
|
||||
, typename BOOST_MPL_AUX_VOID_SPEC_PARAM(State)
|
||||
@@ -46,7 +48,9 @@ struct copy_if
|
||||
>::type type;
|
||||
};
|
||||
|
||||
BOOST_MPL_AUX_VOID_SPEC(4, copy_if)
|
||||
BOOST_MPL_AUX_AGLORITHM_NAMESPACE_END
|
||||
|
||||
BOOST_MPL_AUX_ALGORITHM_VOID_SPEC(4, copy_if)
|
||||
|
||||
} // namespace mpl
|
||||
} // namespace boost
|
||||
|
@@ -25,6 +25,8 @@
|
||||
namespace boost {
|
||||
namespace mpl {
|
||||
|
||||
BOOST_MPL_AUX_AGLORITHM_NAMESPACE_BEGIN
|
||||
|
||||
template<
|
||||
typename BOOST_MPL_AUX_VOID_SPEC_PARAM(Sequence)
|
||||
, typename BOOST_MPL_AUX_VOID_SPEC_PARAM(T)
|
||||
@@ -35,7 +37,9 @@ struct count
|
||||
BOOST_MPL_AUX_LAMBDA_SUPPORT(2,count,(Sequence,T))
|
||||
};
|
||||
|
||||
BOOST_MPL_AUX_VOID_SPEC(2, count)
|
||||
BOOST_MPL_AUX_AGLORITHM_NAMESPACE_END
|
||||
|
||||
BOOST_MPL_AUX_ALGORITHM_VOID_SPEC(2, count)
|
||||
|
||||
} // namespace mpl
|
||||
} // namespace boost
|
||||
|
@@ -52,6 +52,8 @@ struct next_if
|
||||
|
||||
} // namespace aux
|
||||
|
||||
BOOST_MPL_AUX_AGLORITHM_NAMESPACE_BEGIN
|
||||
|
||||
template<
|
||||
typename BOOST_MPL_AUX_VOID_SPEC_PARAM(Sequence)
|
||||
, typename BOOST_MPL_AUX_VOID_SPEC_PARAM(Predicate)
|
||||
@@ -71,7 +73,9 @@ struct count_if
|
||||
BOOST_MPL_AUX_LAMBDA_SUPPORT(2,count_if,(Sequence,Predicate))
|
||||
};
|
||||
|
||||
BOOST_MPL_AUX_VOID_SPEC(2, count_if)
|
||||
BOOST_MPL_AUX_AGLORITHM_NAMESPACE_END
|
||||
|
||||
BOOST_MPL_AUX_ALGORITHM_VOID_SPEC(2, count_if)
|
||||
|
||||
} // namespace mpl
|
||||
} // namespace boost
|
||||
|
@@ -56,6 +56,8 @@ struct distance_impl<ra_iter_tag_,First,Last>
|
||||
|
||||
} // namespace aux
|
||||
|
||||
BOOST_MPL_AUX_AGLORITHM_NAMESPACE_BEGIN
|
||||
|
||||
template<
|
||||
typename BOOST_MPL_AUX_VOID_SPEC_PARAM(First)
|
||||
, typename BOOST_MPL_AUX_VOID_SPEC_PARAM(Last)
|
||||
@@ -70,6 +72,8 @@ struct distance
|
||||
>::type type;
|
||||
};
|
||||
|
||||
BOOST_MPL_AUX_AGLORITHM_NAMESPACE_END
|
||||
|
||||
#else
|
||||
|
||||
namespace aux {
|
||||
@@ -99,6 +103,8 @@ struct distance_impl<ra_iter_tag_>
|
||||
|
||||
} // namespace aux
|
||||
|
||||
BOOST_MPL_AUX_AGLORITHM_NAMESPACE_BEGIN
|
||||
|
||||
template<
|
||||
typename BOOST_MPL_AUX_VOID_SPEC_PARAM(First)
|
||||
, typename BOOST_MPL_AUX_VOID_SPEC_PARAM(Last)
|
||||
@@ -113,9 +119,11 @@ struct distance
|
||||
{
|
||||
};
|
||||
|
||||
BOOST_MPL_AUX_AGLORITHM_NAMESPACE_END
|
||||
|
||||
#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
|
||||
|
||||
BOOST_MPL_AUX_VOID_SPEC(2, distance)
|
||||
BOOST_MPL_AUX_ALGORITHM_VOID_SPEC(2, distance)
|
||||
|
||||
} // namespace mpl
|
||||
} // namespace boost
|
||||
|
@@ -61,6 +61,8 @@ struct equal_pred
|
||||
|
||||
} // namespace aux
|
||||
|
||||
BOOST_MPL_AUX_AGLORITHM_NAMESPACE_BEGIN
|
||||
|
||||
template<
|
||||
typename BOOST_MPL_AUX_VOID_SPEC_PARAM(Sequence1)
|
||||
, typename BOOST_MPL_AUX_VOID_SPEC_PARAM(Sequence2)
|
||||
@@ -97,7 +99,9 @@ struct equal
|
||||
BOOST_MPL_AUX_LAMBDA_SUPPORT(2,equal,(Sequence1,Sequence2))
|
||||
};
|
||||
|
||||
BOOST_MPL_AUX_VOID_SPEC(2, equal)
|
||||
BOOST_MPL_AUX_AGLORITHM_NAMESPACE_END
|
||||
|
||||
BOOST_MPL_AUX_ALGORITHM_VOID_SPEC(2, equal)
|
||||
|
||||
} // namespace mpl
|
||||
} // namespace boost
|
||||
|
@@ -25,6 +25,8 @@
|
||||
namespace boost {
|
||||
namespace mpl {
|
||||
|
||||
BOOST_MPL_AUX_AGLORITHM_NAMESPACE_BEGIN
|
||||
|
||||
template<
|
||||
typename BOOST_MPL_AUX_VOID_SPEC_PARAM(Sequence)
|
||||
, typename BOOST_MPL_AUX_VOID_SPEC_PARAM(T)
|
||||
@@ -35,7 +37,9 @@ struct find
|
||||
BOOST_MPL_AUX_LAMBDA_SUPPORT(2,find,(Sequence,T))
|
||||
};
|
||||
|
||||
BOOST_MPL_AUX_VOID_SPEC(2, find)
|
||||
BOOST_MPL_AUX_AGLORITHM_NAMESPACE_END
|
||||
|
||||
BOOST_MPL_AUX_ALGORITHM_VOID_SPEC(2, find)
|
||||
|
||||
} // namespace mpl
|
||||
} // namespace boost
|
||||
|
@@ -54,6 +54,8 @@ struct find_if_pred
|
||||
|
||||
} // namespace aux
|
||||
|
||||
BOOST_MPL_AUX_AGLORITHM_NAMESPACE_BEGIN
|
||||
|
||||
template<
|
||||
typename BOOST_MPL_AUX_VOID_SPEC_PARAM(Sequence)
|
||||
, typename BOOST_MPL_AUX_VOID_SPEC_PARAM(Predicate)
|
||||
@@ -78,7 +80,9 @@ struct find_if
|
||||
BOOST_MPL_AUX_LAMBDA_SUPPORT(2,find_if,(Sequence,Predicate))
|
||||
};
|
||||
|
||||
BOOST_MPL_AUX_VOID_SPEC(2,find_if)
|
||||
BOOST_MPL_AUX_AGLORITHM_NAMESPACE_END
|
||||
|
||||
BOOST_MPL_AUX_ALGORITHM_VOID_SPEC(2,find_if)
|
||||
|
||||
} // namespace mpl
|
||||
} // namespace boost
|
||||
|
@@ -51,6 +51,8 @@ namespace mpl {
|
||||
|
||||
#if defined(BOOST_MPL_CFG_STRIPPED_DOWN_LOWER_BOUND_IMPL)
|
||||
|
||||
BOOST_MPL_AUX_AGLORITHM_NAMESPACE_BEGIN
|
||||
|
||||
// agurt 23/oct/02: has a wrong complexity etc., but at least it works
|
||||
// feel free to contribute a better implementation!
|
||||
template<
|
||||
@@ -64,6 +66,8 @@ struct lower_bound
|
||||
{
|
||||
};
|
||||
|
||||
BOOST_MPL_AUX_AGLORITHM_NAMESPACE_END
|
||||
|
||||
#else
|
||||
|
||||
namespace aux {
|
||||
@@ -121,6 +125,8 @@ struct lower_bound_step_impl
|
||||
|
||||
} // namespace aux
|
||||
|
||||
BOOST_MPL_AUX_AGLORITHM_NAMESPACE_BEGIN
|
||||
|
||||
template<
|
||||
typename BOOST_MPL_AUX_VOID_SPEC_PARAM(Sequence)
|
||||
, typename BOOST_MPL_AUX_VOID_SPEC_PARAM(T)
|
||||
@@ -138,9 +144,11 @@ struct lower_bound
|
||||
>::type type;
|
||||
};
|
||||
|
||||
BOOST_MPL_AUX_AGLORITHM_NAMESPACE_END
|
||||
|
||||
#endif // BOOST_MPL_CFG_STRIPPED_DOWN_LOWER_BOUND_IMPL
|
||||
|
||||
BOOST_MPL_AUX_VOID_SPEC(2, lower_bound)
|
||||
BOOST_MPL_AUX_ALGORITHM_VOID_SPEC(2, lower_bound)
|
||||
|
||||
} // namespace mpl
|
||||
} // namespace boost
|
||||
|
@@ -52,6 +52,9 @@ struct select_max
|
||||
|
||||
} // namespace aux
|
||||
|
||||
|
||||
BOOST_MPL_AUX_AGLORITHM_NAMESPACE_BEGIN
|
||||
|
||||
template<
|
||||
typename BOOST_MPL_AUX_VOID_SPEC_PARAM(Sequence)
|
||||
, typename Predicate = less<_,_>
|
||||
@@ -69,7 +72,9 @@ struct max_element
|
||||
>::type type;
|
||||
};
|
||||
|
||||
BOOST_MPL_AUX_VOID_SPEC(1, max_element)
|
||||
BOOST_MPL_AUX_AGLORITHM_NAMESPACE_END
|
||||
|
||||
BOOST_MPL_AUX_ALGORITHM_VOID_SPEC(1, max_element)
|
||||
|
||||
} // namespace mpl
|
||||
} // namespace boost
|
||||
|
@@ -24,6 +24,8 @@
|
||||
namespace boost {
|
||||
namespace mpl {
|
||||
|
||||
BOOST_MPL_AUX_AGLORITHM_NAMESPACE_BEGIN
|
||||
|
||||
template<
|
||||
typename BOOST_MPL_AUX_VOID_SPEC_PARAM(Sequence)
|
||||
, typename BOOST_MPL_AUX_VOID_SPEC_PARAM(T)
|
||||
@@ -33,7 +35,9 @@ struct remove
|
||||
{
|
||||
};
|
||||
|
||||
BOOST_MPL_AUX_VOID_SPEC(2, remove)
|
||||
BOOST_MPL_AUX_AGLORITHM_NAMESPACE_END
|
||||
|
||||
BOOST_MPL_AUX_ALGORITHM_VOID_SPEC(2, remove)
|
||||
|
||||
} // namespace mpl
|
||||
} // namespace boost
|
||||
|
@@ -45,6 +45,8 @@ template< typename Pred > struct remove_if_helper
|
||||
|
||||
} // namespace aux
|
||||
|
||||
BOOST_MPL_AUX_AGLORITHM_NAMESPACE_BEGIN
|
||||
|
||||
template<
|
||||
typename BOOST_MPL_AUX_VOID_SPEC_PARAM(Sequence)
|
||||
, typename BOOST_MPL_AUX_VOID_SPEC_PARAM(Predicate)
|
||||
@@ -62,7 +64,9 @@ struct remove_if
|
||||
>::type type;
|
||||
};
|
||||
|
||||
BOOST_MPL_AUX_VOID_SPEC(2, remove_if)
|
||||
BOOST_MPL_AUX_AGLORITHM_NAMESPACE_END
|
||||
|
||||
BOOST_MPL_AUX_ALGORITHM_VOID_SPEC(2, remove_if)
|
||||
|
||||
} // namespace mpl
|
||||
} // namespace boost
|
||||
|
@@ -24,6 +24,8 @@
|
||||
namespace boost {
|
||||
namespace mpl {
|
||||
|
||||
BOOST_MPL_AUX_AGLORITHM_NAMESPACE_BEGIN
|
||||
|
||||
template<
|
||||
typename BOOST_MPL_AUX_VOID_SPEC_PARAM(Sequence)
|
||||
, typename BOOST_MPL_AUX_VOID_SPEC_PARAM(OldType)
|
||||
@@ -34,7 +36,9 @@ struct replace
|
||||
{
|
||||
};
|
||||
|
||||
BOOST_MPL_AUX_VOID_SPEC(3, replace)
|
||||
BOOST_MPL_AUX_AGLORITHM_NAMESPACE_END
|
||||
|
||||
BOOST_MPL_AUX_ALGORITHM_VOID_SPEC(3, replace)
|
||||
|
||||
} // namespace mpl
|
||||
} // namespace boost
|
||||
|
@@ -44,6 +44,8 @@ struct replace_if_op
|
||||
|
||||
} // namespace aux
|
||||
|
||||
BOOST_MPL_AUX_AGLORITHM_NAMESPACE_BEGIN
|
||||
|
||||
template<
|
||||
typename BOOST_MPL_AUX_VOID_SPEC_PARAM(Sequence)
|
||||
, typename BOOST_MPL_AUX_VOID_SPEC_PARAM(Predicate)
|
||||
@@ -61,7 +63,9 @@ struct replace_if
|
||||
>::type type;
|
||||
};
|
||||
|
||||
BOOST_MPL_AUX_VOID_SPEC(3, replace_if)
|
||||
BOOST_MPL_AUX_AGLORITHM_NAMESPACE_END
|
||||
|
||||
BOOST_MPL_AUX_ALGORITHM_VOID_SPEC(3, replace_if)
|
||||
|
||||
} // namespace mpl
|
||||
} // namespace boost
|
||||
|
@@ -25,6 +25,8 @@
|
||||
namespace boost {
|
||||
namespace mpl {
|
||||
|
||||
BOOST_MPL_AUX_AGLORITHM_NAMESPACE_BEGIN
|
||||
|
||||
template<
|
||||
typename BOOST_MPL_AUX_VOID_SPEC_PARAM(Sequence)
|
||||
>
|
||||
@@ -41,7 +43,9 @@ struct reverse
|
||||
>::type type;
|
||||
};
|
||||
|
||||
BOOST_MPL_AUX_VOID_SPEC(1, reverse)
|
||||
BOOST_MPL_AUX_AGLORITHM_NAMESPACE_END
|
||||
|
||||
BOOST_MPL_AUX_ALGORITHM_VOID_SPEC(1, reverse)
|
||||
|
||||
} // namespace mpl
|
||||
} // namespace boost
|
||||
|
@@ -44,6 +44,8 @@ struct transform_op
|
||||
|
||||
} // namespace aux
|
||||
|
||||
BOOST_MPL_AUX_AGLORITHM_NAMESPACE_BEGIN
|
||||
|
||||
template<
|
||||
typename BOOST_MPL_AUX_VOID_SPEC_PARAM(Sequence)
|
||||
, typename BOOST_MPL_AUX_VOID_SPEC_PARAM(Operation)
|
||||
@@ -62,7 +64,9 @@ struct transform
|
||||
>::type type;
|
||||
};
|
||||
|
||||
BOOST_MPL_AUX_VOID_SPEC(2, transform)
|
||||
BOOST_MPL_AUX_AGLORITHM_NAMESPACE_END
|
||||
|
||||
BOOST_MPL_AUX_ALGORITHM_VOID_SPEC(2, transform)
|
||||
|
||||
} // namespace mpl
|
||||
} // namespace boost
|
||||
|
@@ -59,6 +59,8 @@ struct unique_op
|
||||
|
||||
BOOST_MPL_AUX_PASS_THROUGH_LAMBDA_SPEC(1,aux::unique_op)
|
||||
|
||||
BOOST_MPL_AUX_AGLORITHM_NAMESPACE_BEGIN
|
||||
|
||||
template<
|
||||
typename BOOST_MPL_AUX_VOID_SPEC_PARAM(Sequence)
|
||||
, typename Predicate = is_same<_,_>
|
||||
@@ -85,7 +87,9 @@ struct unique
|
||||
#endif
|
||||
};
|
||||
|
||||
BOOST_MPL_AUX_VOID_SPEC(1, unique)
|
||||
BOOST_MPL_AUX_AGLORITHM_NAMESPACE_END
|
||||
|
||||
BOOST_MPL_AUX_ALGORITHM_VOID_SPEC(1, unique)
|
||||
|
||||
} // namespace mpl
|
||||
} // namespace boost
|
||||
|
@@ -50,6 +50,8 @@ namespace mpl {
|
||||
|
||||
#if defined(BOOST_MPL_CFG_STRIPPED_DOWN_UPPER_BOUND_IMPL)
|
||||
|
||||
BOOST_MPL_AUX_AGLORITHM_NAMESPACE_BEGIN
|
||||
|
||||
// agurt 23/oct/02: has a wrong complexity etc., but at least it works;
|
||||
// feel free to contribute a better implementation!
|
||||
template<
|
||||
@@ -63,6 +65,8 @@ struct upper_bound
|
||||
{
|
||||
};
|
||||
|
||||
BOOST_MPL_AUX_AGLORITHM_NAMESPACE_END
|
||||
|
||||
#else
|
||||
|
||||
namespace aux {
|
||||
@@ -119,6 +123,8 @@ struct upper_bound_step_impl
|
||||
|
||||
} // namespace aux
|
||||
|
||||
BOOST_MPL_AUX_AGLORITHM_NAMESPACE_BEGIN
|
||||
|
||||
template<
|
||||
typename BOOST_MPL_AUX_VOID_SPEC_PARAM(Sequence)
|
||||
, typename BOOST_MPL_AUX_VOID_SPEC_PARAM(T)
|
||||
@@ -136,9 +142,11 @@ struct upper_bound
|
||||
>::type type;
|
||||
};
|
||||
|
||||
BOOST_MPL_AUX_AGLORITHM_NAMESPACE_END
|
||||
|
||||
#endif // BOOST_MPL_CFG_STRIPPED_DOWN_UPPER_BOUND_IMPL
|
||||
|
||||
BOOST_MPL_AUX_VOID_SPEC(2, upper_bound)
|
||||
BOOST_MPL_AUX_ALGORITHM_VOID_SPEC(2, upper_bound)
|
||||
|
||||
} // namespace mpl
|
||||
} // namespace boost
|
||||
|
Reference in New Issue
Block a user