equal
deleted
inserted
replaced
39 #endif |
39 #endif |
40 } |
40 } |
41 |
41 |
42 template <typename Concept, typename Type> |
42 template <typename Concept, typename Type> |
43 inline void checkConcept() { |
43 inline void checkConcept() { |
44 function_requires<typename Concept::template Constraints<Type> >(); |
44 #if !defined(NDEBUG) |
|
45 typedef typename Concept::template Constraints<Type> ConceptCheck; |
|
46 void (ConceptCheck::*x)() = & ConceptCheck::constraints; |
|
47 ignore_unused_variable_warning(x); |
|
48 #endif |
45 } |
49 } |
46 |
50 |
47 #define BOOST_CLASS_REQUIRE(type_var, ns, concept) \ |
51 #define BOOST_CLASS_REQUIRE(type_var, ns, concept) \ |
48 typedef void (ns::concept <type_var>::* func##type_var##concept)(); \ |
52 typedef void (ns::concept <type_var>::* func##type_var##concept)(); \ |
49 template <func##type_var##concept Tp1_> \ |
53 template <func##type_var##concept Tp1_> \ |