src/lemon/concept_check.h
changeset 1022 567f392d1d2e
parent 989 ca95f8b5c931
equal deleted inserted replaced
2:cf0d6e4af12f 3:5e51bd0f9008
    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_> \