Interface Documentation
Version: invalid
unit.hh
Go to the documentation of this file.
1 /*
2  @@@@@@@@ @@ @@@@@@ @@@@@@@@ @@
3  /@@///// /@@ @@////@@ @@////// /@@
4  /@@ /@@ @@@@@ @@ // /@@ /@@
5  /@@@@@@@ /@@ @@///@@/@@ /@@@@@@@@@/@@
6  /@@//// /@@/@@@@@@@/@@ ////////@@/@@
7  /@@ /@@/@@//// //@@ @@ /@@/@@
8  /@@ @@@//@@@@@@ //@@@@@@ @@@@@@@@ /@@
9  // /// ////// ////// //////// //
10 
11  Copyright (c) 2016, Triad National Security, LLC
12  All rights reserved.
13  */
14 #pragma once
15 
18 #ifndef __FLECSI_PRIVATE__
19 #define __FLECSI_PRIVATE__
20 #endif
21 
22 #include "flecsi/control.hh"
23 #include "flecsi/execution.hh"
24 #include "flecsi/flog.hh"
25 #include "flecsi/util/unit/types.hh"
26 
27 #include <tuple>
28 
29 namespace flecsi {
30 namespace unit {
31 
38 enum class test_control_points {
40  driver,
42 }; // enum test_control_points
43 
44 inline const char * operator*(test_control_points cp) {
45  switch(cp) {
46  case test_control_points::initialization:
47  return "initialization";
48  case test_control_points::driver:
49  return "driver";
50  case test_control_points::finalization:
51  return "finalization";
52  }
53  flog_fatal("invalid unit test control point");
54 }
55 
63 
65 
66  struct node_policy {};
67 
68  template<auto CP>
70 
71  using control_points =
72  std::tuple<control_point<control_points_enum::initialization>,
75 
76 }; // struct control_policy
77 
79 
80 template<control::target_type Target>
81 using initialization =
83 
84 template<control::target_type Target>
86 
87 template<control::target_type Target>
89 
90 } // namespace unit
91 } // namespace flecsi
test_control_points
Definition: unit.hh:38
Definition: control.hh:206
Definition: constant.hh:22
#define flog_fatal(message)
Definition: flog.hh:358
Definition: control.hh:74
Definition: unit.hh:62
Definition: control.hh:31