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