# HG changeset patch # User Peter Kovacs # Date 1199835442 -3600 # Node ID afb5325d6211762a0821465cdf6c925896934c83 # Parent ea3056daad71efb29c587a633381165152562538 Removed BOOST_CLASS_REQUIRE macros + added file description. diff -r ea3056daad71 -r afb5325d6211 lemon/concept_check.h --- a/lemon/concept_check.h Tue Jan 08 20:29:41 2008 +0100 +++ b/lemon/concept_check.h Wed Jan 09 00:37:22 2008 +0100 @@ -33,8 +33,14 @@ // See http://www.boost.org/libs/concept_check for documentation. -#ifndef LEMON_CONCEPT_CHECKS_H -#define LEMON_CONCEPT_CHECKS_H +///\file +///\brief Basic utilities for concept checking. +/// +///\todo Are we still using BOOST concept checking utility? +///Is the BOOST copyright notice necessary? + +#ifndef LEMON_CONCEPT_CHECK_H +#define LEMON_CONCEPT_CHECK_H namespace lemon { @@ -46,6 +52,7 @@ template inline void ignore_unused_variable_warning(const T&) { } + ///\e template inline void function_requires() { @@ -55,6 +62,7 @@ #endif } + ///\e template inline void checkConcept() { #if !defined(NDEBUG) @@ -64,42 +72,6 @@ #endif } -#define BOOST_CLASS_REQUIRE(type_var, ns, concept) \ - typedef void (ns::concept ::* func##type_var##concept)(); \ - template \ - struct concept_checking_##type_var##concept { }; \ - typedef concept_checking_##type_var##concept< \ - BOOST_FPTR ns::concept::constraints> \ - concept_checking_typedef_##type_var##concept - -#define BOOST_CLASS_REQUIRE2(type_var1, type_var2, ns, concept) \ - typedef void (ns::concept ::* \ - func##type_var1##type_var2##concept)(); \ - template \ - struct concept_checking_##type_var1##type_var2##concept { }; \ - typedef concept_checking_##type_var1##type_var2##concept< \ - BOOST_FPTR ns::concept::constraints> \ - concept_checking_typedef_##type_var1##type_var2##concept - -#define BOOST_CLASS_REQUIRE3(tv1, tv2, tv3, ns, concept) \ - typedef void (ns::concept ::* \ - func##tv1##tv2##tv3##concept)(); \ - template \ - struct concept_checking_##tv1##tv2##tv3##concept { }; \ - typedef concept_checking_##tv1##tv2##tv3##concept< \ - BOOST_FPTR ns::concept::constraints> \ - concept_checking_typedef_##tv1##tv2##tv3##concept - -#define BOOST_CLASS_REQUIRE4(tv1, tv2, tv3, tv4, ns, concept) \ - typedef void (ns::concept ::* \ - func##tv1##tv2##tv3##tv4##concept)(); \ - template \ - struct concept_checking_##tv1##tv2##tv3##tv4##concept { }; \ - typedef concept_checking_##tv1##tv2##tv3##tv4##concept< \ - BOOST_FPTR ns::concept::constraints> \ - concept_checking_typedef_##tv1##tv2##tv3##tv4##concept - - } // namespace lemon -#endif // LEMON_CONCEPT_CHECKS_H +#endif // LEMON_CONCEPT_CHECK_H