blueprints.hpp
Go to the documentation of this file.
1 
8 /*****************************************************************************
9 ** Ifdefs
10 *****************************************************************************/
11 
12 #ifndef ECL_CONCEPTS_BLUEPRINTS_HPP_
13 #define ECL_CONCEPTS_BLUEPRINTS_HPP_
14 
15 /*****************************************************************************
16 ** Includes
17 *****************************************************************************/
18 
19 #include "macros.hpp"
20 
21 /*****************************************************************************
22 ** Namespaces
23 *****************************************************************************/
24 
25 namespace ecl {
26 
27 /*****************************************************************************
28 ** Concept [BluePrint]
29 *****************************************************************************/
30 
34 template <typename Implementation>
36 public:
46  {
47  target = blue_print.instantiate();
48  blue_print.apply(target);
49  }
50 
51 private:
52  typename Implementation::base_type target;
53  Implementation blue_print;
54 };
55 
56 }; // namespace ecl
57 
58 #endif /* ECL_CONCEPTS_BLUEPRINTS_HPP_ */
ecl_compile_time_concept_test(BluePrintConcept)
Implements a concept test for blueprints.
Definition: blueprints.hpp:45
Embedded control libraries.
Implementation::base_type target
Definition: blueprints.hpp:52
Implementation blue_print
Definition: blueprints.hpp:53
Mechanisms enabling compile time checking of metaprogramming concepts.
Defines validating functionality for the blueprint concept.
Definition: blueprints.hpp:35


ecl_concepts
Author(s): Daniel Stonier
autogenerated on Mon Feb 28 2022 22:18:33