Merge branch 'develop'

Apply some fixes from develop.
This commit is contained in:
K. Noel Belcourt
2014-05-11 10:43:16 -06:00
4 changed files with 2 additions and 34 deletions

3
include/boost/concept/assert.hpp Executable file → Normal file
View File

@@ -18,8 +18,7 @@
# if !defined(BOOST_NO_OLD_CONCEPT_SUPPORT) \ # if !defined(BOOST_NO_OLD_CONCEPT_SUPPORT) \
&& !defined(BOOST_NO_SFINAE) \ && !defined(BOOST_NO_SFINAE) \
\ \
&& !(BOOST_WORKAROUND(__GNUC__, == 3) && BOOST_WORKAROUND(__GNUC_MINOR__, < 4)) \ && !(BOOST_WORKAROUND(__GNUC__, == 3) && BOOST_WORKAROUND(__GNUC_MINOR__, < 4))
&& !(BOOST_WORKAROUND(__GNUC__, == 2))
// Note: gcc-2.96 through 3.3.x have some SFINAE, but no ability to // Note: gcc-2.96 through 3.3.x have some SFINAE, but no ability to
// check for the presence of particularmember functions. // check for the presence of particularmember functions.

17
include/boost/concept/detail/concept_def.hpp Executable file → Normal file
View File

@@ -15,22 +15,6 @@
// //
// Also defines an equivalent SomeNameConcept for backward compatibility. // Also defines an equivalent SomeNameConcept for backward compatibility.
// Maybe in the next release we can kill off the "Concept" suffix for good. // 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) \ # define BOOST_concept(name, params) \
template < BOOST_PP_SEQ_FOR_EACH_I(BOOST_CONCEPT_typename,~,params) > \ template < BOOST_PP_SEQ_FOR_EACH_I(BOOST_CONCEPT_typename,~,params) > \
struct name; /* forward declaration */ \ struct name; /* forward declaration */ \
@@ -43,7 +27,6 @@
\ \
template < BOOST_PP_SEQ_FOR_EACH_I(BOOST_CONCEPT_typename,~,params) > \ template < BOOST_PP_SEQ_FOR_EACH_I(BOOST_CONCEPT_typename,~,params) > \
struct name struct name
#endif
// Helper for BOOST_concept, above. // Helper for BOOST_concept, above.
# define BOOST_CONCEPT_typename(r, ignored, index, t) \ # define BOOST_CONCEPT_typename(r, ignored, index, t) \

View File

@@ -15,9 +15,6 @@ namespace boost {
template <class Model, class More> template <class Model, class More>
struct requires_ : More struct requires_ : More
{ {
# if BOOST_WORKAROUND(BOOST_MSVC, <= 1300)
typedef typename More::type type;
# endif
BOOST_CONCEPT_ASSERT((Model)); BOOST_CONCEPT_ASSERT((Model));
}; };
@@ -34,9 +31,6 @@ struct _requires_
template <int check, class Result> template <int check, class Result>
struct Requires_ : ::boost::parameter::aux::unaryfunptr_arg_type<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)) # 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) # define BOOST_CONCEPT_REQUIRES_(r,data,t) + (::boost::_requires_<void(*)t>::value)
# endif # endif
#if defined(NDEBUG) || BOOST_WORKAROUND(BOOST_MSVC, < 1300) #if defined(NDEBUG)
# define BOOST_CONCEPT_REQUIRES(models, result) \ # define BOOST_CONCEPT_REQUIRES(models, result) \
typename ::boost::parameter::aux::unaryfunptr_arg_type<void(*)result>::type typename ::boost::parameter::aux::unaryfunptr_arg_type<void(*)result>::type

View File

@@ -10,12 +10,6 @@
namespace boost { namespace concepts { namespace boost { namespace concepts {
# if BOOST_WORKAROUND(__GNUC__, == 2)
# define BOOST_CONCEPT_USAGE(model) ~model()
# else
template <class Model> template <class Model>
struct usage_requirements struct usage_requirements
{ {
@@ -37,8 +31,6 @@ struct usage_requirements
# endif # endif
# endif
}} // namespace boost::concepts }} // namespace boost::concepts
#endif // BOOST_CONCEPT_USAGE_DWA2006919_HPP #endif // BOOST_CONCEPT_USAGE_DWA2006919_HPP