#define ecl_compile_time_concept_check(Model)   enum { ecl_concept_check_name(__LINE__) = ecl::concepts::CONCEPT_CHECK< Model >::instantiate }
 Compile time concept checking assertion. More...
#define ecl_compile_time_concept_test(Model)
 Convenient notational macro for setting up a concept testing function. More...

Detailed Description

Macro Definition Documentation

#define ecl_compile_time_concept_check (   Model)    enum { ecl_concept_check_name(__LINE__) = ecl::concepts::CONCEPT_CHECK< Model >::instantiate }

Compile time concept checking assertion.

This macro checks a class to verify if it conforms to a compile time metaprogramming concept.


The input argument to this macro function is the concept class type with the testing class as its template parameter.

1 ecl_compile_time_concept_check(MyConcept<A>);

Definition at line 92 of file macros.hpp.

#define ecl_compile_time_concept_test (   Model)
#define ecl_compile_time_concept_check(Model)
Compile time concept checking assertion.
Definition: macros.hpp:92

Convenient notational macro for setting up a concept testing function.

The actual mechanics of concept testing has to be implemented in the concept class' destructor. This macro is purely just a notational convenience that makes it clear when programming the precise meaning of what is intended for your concept class.


1 class MyConcept {
2  public:
3  ecl_compile_time_concept_test(MyConcept)
4  {
5  // compile time concept checks here.
6  }
7 };

Definition at line 116 of file macros.hpp.

Author(s): Daniel Stonier
autogenerated on Mon Jun 10 2019 13:08:20