Iguana 0.0.0
Implementation Guardian of Analysis Algorithms
|
Preprocessor macros to generate standardized algorithm boilerplate code.
Definition in file AlgorithmBoilerplate.h.
Go to the source code of this file.
Macros | |
#define | CONSTRUCT_IGUANA_ALGORITHM(ALGO_NAME, BASE_NAME) |
#define | DESTROY_IGUANA_ALGORITHM(ALGO_NAME) |
#define | IGUANA_ALGORITHM_PUBLIC_MEMBERS(ALGO_NAME, ALGO_FULL_NAME, BASE_NAME) |
#define | IGUANA_ALGORITHM_PRIVATE_MEMBERS static bool s_registered; |
Define the private members of an algorithm. | |
#define | DEFINE_IGUANA_ALGORITHM_IMPL(ALGO_NAME, ALGO_FULL_NAME, BASE_NAME) |
#define | DEFINE_IGUANA_ALGORITHM(ALGO_NAME, ALGO_FULL_NAME) |
#define | DEFINE_IGUANA_VALIDATOR(VDOR_NAME, VDOR_FULL_NAME) |
#define | REGISTER_IGUANA_ALGORITHM(ALGO_NAME, ...) |
#define | REGISTER_IGUANA_VALIDATOR(VDOR_NAME) |
#define CONSTRUCT_IGUANA_ALGORITHM | ( | ALGO_NAME, | |
BASE_NAME ) |
Generate an algorithm constructor
ALGO_NAME | the name of the algorithm class |
BASE_NAME | the name of the base class |
Definition at line 7 of file AlgorithmBoilerplate.h.
#define DEFINE_IGUANA_ALGORITHM | ( | ALGO_NAME, | |
ALGO_FULL_NAME ) |
Define the public and private members of an algorithm, along with its constructor and destructor; this macro should be called in the class
body in the algorithm's header file
ALGO_NAME | the name of the algorithm class |
ALGO_FULL_NAME | the full name of this algorithm, used by iguana::AlgorithmFactory |
Definition at line 57 of file AlgorithmBoilerplate.h.
#define DEFINE_IGUANA_ALGORITHM_IMPL | ( | ALGO_NAME, | |
ALGO_FULL_NAME, | |||
BASE_NAME ) |
Implementation for definining the public and private members of an Algorithm
-derived class
ALGO_NAME | the name of the algorithm class |
ALGO_FULL_NAME | the full name of this algorithm, used by iguana::AlgorithmFactory |
BASE_NAME | the name of the base class, which may be Algorithm or one of its derived classes |
Definition at line 45 of file AlgorithmBoilerplate.h.
#define DEFINE_IGUANA_VALIDATOR | ( | VDOR_NAME, | |
VDOR_FULL_NAME ) |
Define the public and private members of a validator, along with its constructor and destructor; this macro should be called in the class
body in the validator's header file
VDOR_NAME | the name of the validator class |
VDOR_FULL_NAME | the full name of this validator, used by iguana::AlgorithmFactory |
Definition at line 64 of file AlgorithmBoilerplate.h.
#define DESTROY_IGUANA_ALGORITHM | ( | ALGO_NAME | ) |
Generate an algorithm destructor
ALGO_NAME | the name of the algorithm class |
Definition at line 17 of file AlgorithmBoilerplate.h.
#define IGUANA_ALGORITHM_PRIVATE_MEMBERS static bool s_registered; |
Define the private members of an algorithm.
Definition at line 36 of file AlgorithmBoilerplate.h.
#define IGUANA_ALGORITHM_PUBLIC_MEMBERS | ( | ALGO_NAME, | |
ALGO_FULL_NAME, | |||
BASE_NAME ) |
Define the public members of an algorithm
ALGO_NAME | the name of the algorithm class |
ALGO_FULL_NAME | the full name of this algorithm, used by iguana::AlgorithmFactory |
BASE_NAME | the name of the base class |
Definition at line 26 of file AlgorithmBoilerplate.h.
#define REGISTER_IGUANA_ALGORITHM | ( | ALGO_NAME, | |
... ) |
Register an algorithm for the iguana::AlgorithmFactory
; this macro should be called in the algorithm's implementation
ALGO_NAME | the name of the algorithm class |
... | if this algorithm creates new banks, add their names here; this is a variadic parameter, so you may list as many as needed, or none. |
Definition at line 73 of file AlgorithmBoilerplate.h.
#define REGISTER_IGUANA_VALIDATOR | ( | VDOR_NAME | ) |
Register a validator for the iguana::AlgorithmFactory
, similar to REGISTER_IGUANA_ALGORITHM
VDOR_NAME | the name of the validator class |
Definition at line 78 of file AlgorithmBoilerplate.h.