forked from boostorg/concept_check
Merge branch 'develop'
Apply some fixes from develop.
This commit is contained in:
3
include/boost/concept/assert.hpp
Executable file → Normal file
3
include/boost/concept/assert.hpp
Executable file → Normal file
@@ -18,8 +18,7 @@
|
||||
# if !defined(BOOST_NO_OLD_CONCEPT_SUPPORT) \
|
||||
&& !defined(BOOST_NO_SFINAE) \
|
||||
\
|
||||
&& !(BOOST_WORKAROUND(__GNUC__, == 3) && BOOST_WORKAROUND(__GNUC_MINOR__, < 4)) \
|
||||
&& !(BOOST_WORKAROUND(__GNUC__, == 2))
|
||||
&& !(BOOST_WORKAROUND(__GNUC__, == 3) && BOOST_WORKAROUND(__GNUC_MINOR__, < 4))
|
||||
|
||||
// Note: gcc-2.96 through 3.3.x have some SFINAE, but no ability to
|
||||
// check for the presence of particularmember functions.
|
||||
|
17
include/boost/concept/detail/concept_def.hpp
Executable file → Normal file
17
include/boost/concept/detail/concept_def.hpp
Executable file → Normal file
@@ -15,22 +15,6 @@
|
||||
//
|
||||
// Also defines an equivalent SomeNameConcept for backward compatibility.
|
||||
// Maybe in the next release we can kill off the "Concept" suffix for good.
|
||||
#if BOOST_WORKAROUND(__GNUC__, <= 3)
|
||||
# define BOOST_concept(name, params) \
|
||||
template < BOOST_PP_SEQ_FOR_EACH_I(BOOST_CONCEPT_typename,~,params) > \
|
||||
struct name; /* forward declaration */ \
|
||||
\
|
||||
template < BOOST_PP_SEQ_FOR_EACH_I(BOOST_CONCEPT_typename,~,params) > \
|
||||
struct BOOST_PP_CAT(name,Concept) \
|
||||
: name< BOOST_PP_SEQ_ENUM(params) > \
|
||||
{ \
|
||||
/* at least 2.96 and 3.4.3 both need this */ \
|
||||
BOOST_PP_CAT(name,Concept)(); \
|
||||
}; \
|
||||
\
|
||||
template < BOOST_PP_SEQ_FOR_EACH_I(BOOST_CONCEPT_typename,~,params) > \
|
||||
struct name
|
||||
#else
|
||||
# define BOOST_concept(name, params) \
|
||||
template < BOOST_PP_SEQ_FOR_EACH_I(BOOST_CONCEPT_typename,~,params) > \
|
||||
struct name; /* forward declaration */ \
|
||||
@@ -43,7 +27,6 @@
|
||||
\
|
||||
template < BOOST_PP_SEQ_FOR_EACH_I(BOOST_CONCEPT_typename,~,params) > \
|
||||
struct name
|
||||
#endif
|
||||
|
||||
// Helper for BOOST_concept, above.
|
||||
# define BOOST_CONCEPT_typename(r, ignored, index, t) \
|
||||
|
@@ -15,9 +15,6 @@ namespace boost {
|
||||
template <class Model, class More>
|
||||
struct requires_ : More
|
||||
{
|
||||
# if BOOST_WORKAROUND(BOOST_MSVC, <= 1300)
|
||||
typedef typename More::type type;
|
||||
# endif
|
||||
BOOST_CONCEPT_ASSERT((Model));
|
||||
};
|
||||
|
||||
@@ -34,9 +31,6 @@ struct _requires_
|
||||
template <int check, class Result>
|
||||
struct Requires_ : ::boost::parameter::aux::unaryfunptr_arg_type<Result>
|
||||
{
|
||||
# if BOOST_WORKAROUND(BOOST_MSVC, <= 1300)
|
||||
typedef typename ::boost::parameter::aux::unaryfunptr_arg_type<Result>::type type;
|
||||
# endif
|
||||
};
|
||||
|
||||
# if BOOST_WORKAROUND(BOOST_INTEL_WIN, BOOST_TESTED_AT(1010))
|
||||
@@ -45,7 +39,7 @@ struct Requires_ : ::boost::parameter::aux::unaryfunptr_arg_type<Result>
|
||||
# define BOOST_CONCEPT_REQUIRES_(r,data,t) + (::boost::_requires_<void(*)t>::value)
|
||||
# endif
|
||||
|
||||
#if defined(NDEBUG) || BOOST_WORKAROUND(BOOST_MSVC, < 1300)
|
||||
#if defined(NDEBUG)
|
||||
|
||||
# define BOOST_CONCEPT_REQUIRES(models, result) \
|
||||
typename ::boost::parameter::aux::unaryfunptr_arg_type<void(*)result>::type
|
||||
|
@@ -10,12 +10,6 @@
|
||||
|
||||
namespace boost { namespace concepts {
|
||||
|
||||
# if BOOST_WORKAROUND(__GNUC__, == 2)
|
||||
|
||||
# define BOOST_CONCEPT_USAGE(model) ~model()
|
||||
|
||||
# else
|
||||
|
||||
template <class Model>
|
||||
struct usage_requirements
|
||||
{
|
||||
@@ -37,8 +31,6 @@ struct usage_requirements
|
||||
|
||||
# endif
|
||||
|
||||
# endif
|
||||
|
||||
}} // namespace boost::concepts
|
||||
|
||||
#endif // BOOST_CONCEPT_USAGE_DWA2006919_HPP
|
||||
|
Reference in New Issue
Block a user