From 50574588aee9ae5d8a5b0ea58997fd163472b7bb Mon Sep 17 00:00:00 2001 From: Peter Dimov Date: Mon, 9 Jun 2014 04:29:52 +0300 Subject: [PATCH] Remove include of boost/parameter/aux_/parenthesized_type.hpp. --- include/boost/concept/requires.hpp | 29 +++++++++++++++++++++++++---- 1 file changed, 25 insertions(+), 4 deletions(-) diff --git a/include/boost/concept/requires.hpp b/include/boost/concept/requires.hpp index 7a74d2f..365ce10 100644 --- a/include/boost/concept/requires.hpp +++ b/include/boost/concept/requires.hpp @@ -5,12 +5,33 @@ # define BOOST_CONCEPT_REQUIRES_DWA2006430_HPP # include -# include # include # include namespace boost { +// unaryfunptr_arg_type from parameter/aux_/parenthesized_type.hpp + +namespace ccheck_aux { + +// A metafunction that transforms void(*)(T) -> T +template +struct unaryfunptr_arg_type; + +template +struct unaryfunptr_arg_type +{ + typedef Arg type; +}; + +template <> +struct unaryfunptr_arg_type +{ + typedef void type; +}; + +} // namespace ccheck_aux + // Template for use in handwritten assertions template struct requires_ : More @@ -29,7 +50,7 @@ struct _requires_ }; template -struct Requires_ : ::boost::parameter::aux::unaryfunptr_arg_type +struct Requires_ : ::boost::ccheck_aux::unaryfunptr_arg_type { }; @@ -42,7 +63,7 @@ struct Requires_ : ::boost::parameter::aux::unaryfunptr_arg_type #if defined(NDEBUG) # define BOOST_CONCEPT_REQUIRES(models, result) \ - typename ::boost::parameter::aux::unaryfunptr_arg_type::type + typename ::boost::ccheck_aux::unaryfunptr_arg_type::type #elif BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564)) @@ -50,7 +71,7 @@ struct Requires_ : ::boost::parameter::aux::unaryfunptr_arg_type # define BOOST_CONCEPT_REQUIRES(models, result) \ ::boost::Requires_< \ (0 BOOST_PP_SEQ_FOR_EACH(BOOST_CONCEPT_REQUIRES_, ~, models)), \ - ::boost::parameter::aux::unaryfunptr_arg_type \ + ::boost::ccheck_aux::unaryfunptr_arg_type \ >::type #else