Iguana
0.8.0
Implementation Guardian of Analysis Algorithms
Toggle main menu visibility
Main Page
Related Pages
Topics
Namespaces
Namespace List
Namespace Members
All
a
c
g
i
m
n
o
p
t
v
Functions
Variables
Typedefs
Enumerations
Classes
Class List
Class Index
Class Hierarchy
Class Members
All
a
c
d
e
f
g
h
i
l
m
n
o
p
q
r
s
t
v
w
y
Functions
a
c
d
e
f
g
h
i
l
n
o
p
q
r
s
t
v
w
y
Variables
Typedefs
Enumerations
Files
File List
File Members
All
Functions
Macros
▼
Iguana
►
Iguana User's Guide
List of all Algorithms
List of all Action Functions
Deprecated List
►
Topics
►
Namespaces
►
Classes
▼
Files
▼
File List
▼
iguana_src
►
bind
►
examples
▼
src
▼
iguana
▼
algorithms
►
clas12
►
example
►
physics
Algorithm.h
►
AlgorithmBoilerplate.h
AlgorithmSequence.h
►
TypeDefs.h
Validator.h
►
bankdefs
►
bindings
►
services
►
tests
►
File Members
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Macros
Modules
Pages
Loading...
Searching...
No Matches
AlgorithmBoilerplate.h
Go to the documentation of this file.
1
3
7
#define CONSTRUCT_IGUANA_ALGORITHM(ALGO_NAME, BASE_NAME) \
8
ALGO_NAME(std::string_view name = "") \
9
: BASE_NAME(name == "" ? GetClassName() : name) \
10
{ \
11
m_default_config_file = GetDefaultConfigFile(); \
12
m_class_name = GetClassName(); \
13
}
7
#define CONSTRUCT_IGUANA_ALGORITHM(ALGO_NAME, BASE_NAME) \
…
14
17
#define DESTROY_IGUANA_ALGORITHM(ALGO_NAME) \
18
~ALGO_NAME() {}
17
#define DESTROY_IGUANA_ALGORITHM(ALGO_NAME) \
…
19
21
26
#define IGUANA_ALGORITHM_PUBLIC_MEMBERS(ALGO_NAME, ALGO_FULL_NAME, BASE_NAME) \
27
using BASE_NAME::Start; \
28
static algo_t Creator() { return std::make_unique<ALGO_NAME>(); } \
29
static std::string GetClassName() { return #ALGO_FULL_NAME; } \
30
static std::string GetDefaultConfigFile() \
31
{ \
32
return ConfigFileReader::ConvertAlgoNameToConfigName(#ALGO_FULL_NAME); \
33
}
26
#define IGUANA_ALGORITHM_PUBLIC_MEMBERS(ALGO_NAME, ALGO_FULL_NAME, BASE_NAME) \
…
34
36
#define IGUANA_ALGORITHM_PRIVATE_MEMBERS \
37
static bool s_registered;
36
#define IGUANA_ALGORITHM_PRIVATE_MEMBERS \
…
38
40
45
#define DEFINE_IGUANA_ALGORITHM_IMPL(ALGO_NAME, ALGO_FULL_NAME, BASE_NAME) \
46
private: \
47
IGUANA_ALGORITHM_PRIVATE_MEMBERS \
48
public: \
49
CONSTRUCT_IGUANA_ALGORITHM(ALGO_NAME, BASE_NAME) \
50
DESTROY_IGUANA_ALGORITHM(ALGO_NAME) \
51
IGUANA_ALGORITHM_PUBLIC_MEMBERS(ALGO_NAME, ALGO_FULL_NAME, BASE_NAME)
45
#define DEFINE_IGUANA_ALGORITHM_IMPL(ALGO_NAME, ALGO_FULL_NAME, BASE_NAME) \
…
52
57
#define DEFINE_IGUANA_ALGORITHM(ALGO_NAME, ALGO_FULL_NAME) \
58
DEFINE_IGUANA_ALGORITHM_IMPL(ALGO_NAME, ALGO_FULL_NAME, Algorithm)
57
#define DEFINE_IGUANA_ALGORITHM(ALGO_NAME, ALGO_FULL_NAME) \
…
59
64
#define DEFINE_IGUANA_VALIDATOR(VDOR_NAME, VDOR_FULL_NAME) \
65
DEFINE_IGUANA_ALGORITHM_IMPL(VDOR_NAME, VDOR_FULL_NAME, Validator)
64
#define DEFINE_IGUANA_VALIDATOR(VDOR_NAME, VDOR_FULL_NAME) \
…
66
68
73
#define REGISTER_IGUANA_ALGORITHM(ALGO_NAME, ...) \
74
bool ALGO_NAME::s_registered = AlgorithmFactory::Register(ALGO_NAME::GetClassName(), ALGO_NAME::Creator, {__VA_ARGS__});
73
#define REGISTER_IGUANA_ALGORITHM(ALGO_NAME, ...) \
…
75
78
#define REGISTER_IGUANA_VALIDATOR(VDOR_NAME) \
79
REGISTER_IGUANA_ALGORITHM(VDOR_NAME)
78
#define REGISTER_IGUANA_VALIDATOR(VDOR_NAME) \
…
iguana_src
src
iguana
algorithms
AlgorithmBoilerplate.h
Generated by
1.13.2