include
ecl
concepts
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>
35
class
BluePrintConcept {
36
public
:
45
ecl_compile_time_concept_test
(BluePrintConcept)
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::BluePrintConcept::blue_print
Implementation blue_print
Definition:
blueprints.hpp:67
ecl::BluePrintConcept::target
Implementation::base_type target
Definition:
blueprints.hpp:66
macros.hpp
Mechanisms enabling compile time checking of metaprogramming concepts.
ecl::BluePrintConcept::ecl_compile_time_concept_test
ecl_compile_time_concept_test(BluePrintConcept)
Implements a concept test for blueprints.
Definition:
blueprints.hpp:59
ecl
Embedded control libraries.
ecl_concepts
Author(s): Daniel Stonier
autogenerated on Wed Mar 2 2022 00:16:24