mirror of
https://github.com/boostorg/mpl.git
synced 2025-08-02 06:15:23 +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()
|
#include BOOST_PP_ITERATE()
|
||||||
|
|
||||||
// real C++ version is already taken care of
|
// 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_SPEC_PARAMS
|
||||||
# undef AUX778076_APPLY_N_PARTIAL_SPEC_PARAMS
|
# undef AUX778076_APPLY_N_PARTIAL_SPEC_PARAMS
|
||||||
|
@@ -19,10 +19,6 @@
|
|||||||
# include <boost/mpl/apply.hpp>
|
# include <boost/mpl/apply.hpp>
|
||||||
# include <boost/mpl/deref.hpp>
|
# include <boost/mpl/deref.hpp>
|
||||||
# include <boost/mpl/aux_/config/ctps.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
|
#endif
|
||||||
|
|
||||||
#include <boost/mpl/aux_/config/use_preprocessed.hpp>
|
#include <boost/mpl/aux_/config/use_preprocessed.hpp>
|
||||||
|
@@ -18,10 +18,6 @@
|
|||||||
# include <boost/mpl/next_prior.hpp>
|
# include <boost/mpl/next_prior.hpp>
|
||||||
# include <boost/mpl/apply.hpp>
|
# include <boost/mpl/apply.hpp>
|
||||||
# include <boost/mpl/aux_/config/ctps.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
|
#endif
|
||||||
|
|
||||||
#include <boost/mpl/aux_/config/use_preprocessed.hpp>
|
#include <boost/mpl/aux_/config/use_preprocessed.hpp>
|
||||||
|
@@ -20,9 +20,6 @@
|
|||||||
#include <boost/mpl/aux_/lambda_spec.hpp>
|
#include <boost/mpl/aux_/lambda_spec.hpp>
|
||||||
#include <boost/mpl/aux_/config/ctps.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 {
|
namespace boost { namespace mpl {
|
||||||
|
|
||||||
|
@@ -33,10 +33,6 @@ template< typename N > struct r_iter
|
|||||||
typedef random_access_iterator_tag category;
|
typedef random_access_iterator_tag category;
|
||||||
typedef N type;
|
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)
|
#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
|
||||||
|
@@ -163,47 +163,6 @@ struct BOOST_PP_CAT(AUX778076_SEQUENCE_NAME,_chooser);
|
|||||||
#include BOOST_PP_ITERATE()
|
#include BOOST_PP_ITERATE()
|
||||||
|
|
||||||
// real C++ version is already taken care of
|
// 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_PARTIAL_SPEC_ARGS
|
||||||
# undef AUX778076_SEQUENCE_N_ARGS
|
# undef AUX778076_SEQUENCE_N_ARGS
|
||||||
|
@@ -30,9 +30,6 @@
|
|||||||
# include <boost/mpl/aux_/arity_spec.hpp>
|
# include <boost/mpl/aux_/arity_spec.hpp>
|
||||||
# include <boost/mpl/aux_/type_wrapper.hpp>
|
# include <boost/mpl/aux_/type_wrapper.hpp>
|
||||||
# include <boost/mpl/aux_/yes_no.hpp>
|
# include <boost/mpl/aux_/yes_no.hpp>
|
||||||
# if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
|
|
||||||
# include <boost/type_traits/is_reference.hpp>
|
|
||||||
# endif
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <boost/mpl/aux_/config/bind.hpp>
|
#include <boost/mpl/aux_/config/bind.hpp>
|
||||||
|
@@ -63,10 +63,6 @@ template<> struct l_iter<l_end>
|
|||||||
{
|
{
|
||||||
typedef aux::l_iter_tag tag;
|
typedef aux::l_iter_tag tag;
|
||||||
typedef forward_iterator_tag category;
|
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)
|
BOOST_MPL_AUX_PASS_THROUGH_LAMBDA_SPEC(1, l_iter)
|
||||||
|
@@ -32,30 +32,6 @@ namespace boost { namespace mpl {
|
|||||||
namespace aux {
|
namespace aux {
|
||||||
struct pair_iter_tag;
|
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<
|
template<
|
||||||
@@ -70,18 +46,6 @@ struct pair_iter
|
|||||||
typedef Iter1 first;
|
typedef Iter1 first;
|
||||||
typedef Iter2 second;
|
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 forward_iterator_tag category;
|
||||||
typedef typename Tail::item_type_ type;
|
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)
|
#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
|
||||||
|
@@ -41,16 +41,6 @@ struct v_iter
|
|||||||
typedef Vector vector_;
|
typedef Vector vector_;
|
||||||
typedef mpl::long_<n_> pos;
|
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