Macros
Macros

Macros

#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

◆ ecl_compile_time_concept_check

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

◆ ecl_compile_time_concept_test

#define ecl_compile_time_concept_test (   Model)
Value:
~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:
{
// compile time concept checks here.
}
};

Definition at line 116 of file macros.hpp.

ecl_compile_time_concept_check
#define ecl_compile_time_concept_check(Model)
Compile time concept checking assertion.
Definition: macros.hpp:92
ecl_compile_time_concept_test
#define ecl_compile_time_concept_test(Model)
Convenient notational macro for setting up a concept testing function.
Definition: macros.hpp:116


ecl_concepts
Author(s): Daniel Stonier
autogenerated on Sun Aug 2 2020 03:12:08