Defines
Macros

Defines

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

Define 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.

Usage:

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

Definition at line 92 of file macros.hpp.

#define ecl_compile_time_concept_test (   Model)
Value:
ecl_compile_time_concept_check( Model ); \
    ~Model()

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.

Usage:

 class MyConcept {
     public:
         ecl_compile_time_concept_test(MyConcept)
         {
             // compile time concept checks here.
         }
 };

Definition at line 116 of file macros.hpp.



ecl_concepts
Author(s): Daniel Stonier
autogenerated on Thu Jun 6 2019 21:17:33