mirror of
https://github.com/boostorg/mpl.git
synced 2025-08-01 05:44:37 +02:00
Remove BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
Process #ifdef...#endif blocks. [SVN r86243]
This commit is contained in:
@@ -94,28 +94,6 @@ namespace boost { namespace mpl {
|
||||
#include BOOST_PP_ITERATE()
|
||||
|
||||
// real C++ version is already taken care of
|
||||
# if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
|
||||
|
||||
namespace aux {
|
||||
// apply_count_args
|
||||
#define AUX778076_COUNT_ARGS_PREFIX apply
|
||||
#define AUX778076_COUNT_ARGS_DEFAULT na
|
||||
#define AUX778076_COUNT_ARGS_ARITY BOOST_MPL_LIMIT_METAFUNCTION_ARITY
|
||||
#include <boost/mpl/aux_/count_args.hpp>
|
||||
}
|
||||
|
||||
|
||||
template<
|
||||
typename F, AUX778076_APPLY_DEF_PARAMS(typename T, na)
|
||||
>
|
||||
struct apply
|
||||
: aux::apply_chooser<
|
||||
aux::apply_count_args< AUX778076_APPLY_PARAMS(T) >::value
|
||||
>::template result_< F, AUX778076_APPLY_PARAMS(T) >::type
|
||||
{
|
||||
};
|
||||
|
||||
# endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
|
||||
|
||||
# undef AUX778076_APPLY_N_SPEC_PARAMS
|
||||
# undef AUX778076_APPLY_N_PARTIAL_SPEC_PARAMS
|
||||
|
@@ -19,10 +19,6 @@
|
||||
# include <boost/mpl/apply.hpp>
|
||||
# include <boost/mpl/deref.hpp>
|
||||
# include <boost/mpl/aux_/config/ctps.hpp>
|
||||
# if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
|
||||
# include <boost/mpl/if.hpp>
|
||||
# include <boost/type_traits/is_same.hpp>
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#include <boost/mpl/aux_/config/use_preprocessed.hpp>
|
||||
|
@@ -18,10 +18,6 @@
|
||||
# include <boost/mpl/next_prior.hpp>
|
||||
# include <boost/mpl/apply.hpp>
|
||||
# include <boost/mpl/aux_/config/ctps.hpp>
|
||||
# if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
|
||||
# include <boost/mpl/if.hpp>
|
||||
# include <boost/type_traits/is_same.hpp>
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#include <boost/mpl/aux_/config/use_preprocessed.hpp>
|
||||
|
@@ -20,9 +20,6 @@
|
||||
#include <boost/mpl/aux_/lambda_spec.hpp>
|
||||
#include <boost/mpl/aux_/config/ctps.hpp>
|
||||
|
||||
#if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
|
||||
# include <boost/type_traits/is_same.hpp>
|
||||
#endif
|
||||
|
||||
namespace boost { namespace mpl {
|
||||
|
||||
|
@@ -33,10 +33,6 @@ template< typename N > struct r_iter
|
||||
typedef random_access_iterator_tag category;
|
||||
typedef N type;
|
||||
|
||||
#if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
|
||||
typedef r_iter< typename mpl::next<N>::type > next;
|
||||
typedef r_iter< typename mpl::prior<N>::type > prior;
|
||||
#endif
|
||||
};
|
||||
|
||||
#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
|
||||
|
@@ -163,47 +163,6 @@ struct BOOST_PP_CAT(AUX778076_SEQUENCE_NAME,_chooser);
|
||||
#include BOOST_PP_ITERATE()
|
||||
|
||||
// real C++ version is already taken care of
|
||||
#if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
|
||||
|
||||
namespace aux {
|
||||
// ???_count_args
|
||||
#define AUX778076_COUNT_ARGS_PREFIX AUX778076_SEQUENCE_NAME
|
||||
#define AUX778076_COUNT_ARGS_DEFAULT AUX778076_SEQUENCE_DEFAULT
|
||||
#define AUX778076_COUNT_ARGS_PARAM_NAME AUX778076_SEQUENCE_PARAM_NAME
|
||||
#define AUX778076_COUNT_ARGS_TEMPLATE_PARAM AUX778076_SEQUENCE_TEMPLATE_PARAM
|
||||
#define AUX778076_COUNT_ARGS_ARITY AUX778076_SEQUENCE_LIMIT
|
||||
#define AUX778076_COUNT_ARGS_USE_STANDARD_PP_PRIMITIVES
|
||||
#include <boost/mpl/aux_/count_args.hpp>
|
||||
|
||||
template<
|
||||
AUX778076_SEQUENCE_PARAMS()
|
||||
>
|
||||
struct BOOST_PP_CAT(AUX778076_SEQUENCE_NAME,_impl)
|
||||
{
|
||||
typedef aux::BOOST_PP_CAT(AUX778076_SEQUENCE_NAME,_count_args)<
|
||||
BOOST_PP_ENUM_PARAMS(AUX778076_SEQUENCE_LIMIT, AUX778076_SEQUENCE_PARAM_NAME)
|
||||
> arg_num_;
|
||||
|
||||
typedef typename aux::BOOST_PP_CAT(AUX778076_SEQUENCE_NAME,_chooser)< arg_num_::value >
|
||||
::template result_< AUX778076_SEQUENCE_ARGS() >::type type;
|
||||
};
|
||||
|
||||
} // namespace aux
|
||||
|
||||
template<
|
||||
AUX778076_SEQUENCE_DEFAULT_PARAMS()
|
||||
>
|
||||
struct AUX778076_SEQUENCE_NAME
|
||||
: aux::BOOST_PP_CAT(AUX778076_SEQUENCE_NAME,_impl)<
|
||||
AUX778076_SEQUENCE_ARGS()
|
||||
>::type
|
||||
{
|
||||
typedef typename aux::BOOST_PP_CAT(AUX778076_SEQUENCE_NAME,_impl)<
|
||||
AUX778076_SEQUENCE_ARGS()
|
||||
>::type type;
|
||||
};
|
||||
|
||||
#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
|
||||
|
||||
# undef AUX778076_SEQUENCE_N_PARTIAL_SPEC_ARGS
|
||||
# undef AUX778076_SEQUENCE_N_ARGS
|
||||
|
@@ -30,9 +30,6 @@
|
||||
# include <boost/mpl/aux_/arity_spec.hpp>
|
||||
# include <boost/mpl/aux_/type_wrapper.hpp>
|
||||
# include <boost/mpl/aux_/yes_no.hpp>
|
||||
# if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
|
||||
# include <boost/type_traits/is_reference.hpp>
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#include <boost/mpl/aux_/config/bind.hpp>
|
||||
|
@@ -63,10 +63,6 @@ template<> struct l_iter<l_end>
|
||||
{
|
||||
typedef aux::l_iter_tag tag;
|
||||
typedef forward_iterator_tag category;
|
||||
#if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
|
||||
typedef na type;
|
||||
typedef l_iter next;
|
||||
#endif
|
||||
};
|
||||
|
||||
BOOST_MPL_AUX_PASS_THROUGH_LAMBDA_SPEC(1, l_iter)
|
||||
|
@@ -32,30 +32,6 @@ namespace boost { namespace mpl {
|
||||
namespace aux {
|
||||
struct pair_iter_tag;
|
||||
|
||||
#if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
|
||||
|
||||
template< typename Iter1, typename Iter2, typename Category >
|
||||
struct pair_iter;
|
||||
|
||||
template< typename Category > struct prior_pair_iter
|
||||
{
|
||||
template< typename Iter1, typename Iter2 > struct apply
|
||||
{
|
||||
typedef typename mpl::prior<Iter1>::type i1_;
|
||||
typedef typename mpl::prior<Iter2>::type i2_;
|
||||
typedef pair_iter<i1_,i2_,Category> type;
|
||||
};
|
||||
};
|
||||
|
||||
template<> struct prior_pair_iter<forward_iterator_tag>
|
||||
{
|
||||
template< typename Iter1, typename Iter2 > struct apply
|
||||
{
|
||||
typedef pair_iter<Iter1,Iter2,forward_iterator_tag> type;
|
||||
};
|
||||
};
|
||||
|
||||
#endif
|
||||
}
|
||||
|
||||
template<
|
||||
@@ -70,18 +46,6 @@ struct pair_iter
|
||||
typedef Iter1 first;
|
||||
typedef Iter2 second;
|
||||
|
||||
#if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
|
||||
typedef pair<
|
||||
typename deref<Iter1>::type
|
||||
, typename deref<Iter2>::type
|
||||
> type;
|
||||
|
||||
typedef typename mpl::next<Iter1>::type i1_;
|
||||
typedef typename mpl::next<Iter2>::type i2_;
|
||||
typedef pair_iter<i1_,i2_,Category> next;
|
||||
|
||||
typedef apply_wrap2< aux::prior_pair_iter<Category>,Iter1,Iter2 >::type prior;
|
||||
#endif
|
||||
};
|
||||
|
||||
|
||||
|
@@ -44,9 +44,6 @@ template< typename Set, typename Tail > struct s_iter_impl
|
||||
typedef forward_iterator_tag category;
|
||||
typedef typename Tail::item_type_ type;
|
||||
|
||||
#if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
|
||||
typedef typename s_iter_get< Set,typename Tail::base >::type next;
|
||||
#endif
|
||||
};
|
||||
|
||||
#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
|
||||
|
@@ -41,16 +41,6 @@ struct v_iter
|
||||
typedef Vector vector_;
|
||||
typedef mpl::long_<n_> pos;
|
||||
|
||||
#if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
|
||||
enum {
|
||||
next_ = n_ + 1
|
||||
, prior_ = n_ - 1
|
||||
, pos_ = n_
|
||||
};
|
||||
|
||||
typedef v_iter<Vector,next_> next;
|
||||
typedef v_iter<Vector,prior_> prior;
|
||||
#endif
|
||||
|
||||
};
|
||||
|
||||
|
Reference in New Issue
Block a user