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_compile_time_concept_test(BluePrintConcept)
Implementation::base_type target


xbot_node
Author(s): Roc, wangpeng@droid.ac.cn
autogenerated on Sat Oct 10 2020 03:28:13