Develop Biology
The language of life
|
#include "ClassMethodsLoopMacros.h"
Go to the source code of this file.
Macros | |
#define | BIO_CALL_CLASS_METHOD_LOOP_WITH_MACRO(loopName, iterationsMacro, ns, caller, argsMacro) |
#define | BIO_CLASS_METHOD(ns, caller, functionSignature, functionCall) |
#define | BIO_CLASS_METHOD_WITH_MACRO(ns, caller, macro) BIO_CLASS_METHOD(ns, BIO_EXPAND_TUPLE caller, macro) |
#define | BIO_DISAMBIGUATE_ALL_CLASS_METHODS(ns, caller) |
#define | BIO_DISAMBIGUATE_OPTIONAL_CLASS_METHODS(ns, caller) |
#define | BIO_DISAMBIGUATE_REQUIRED_CLASS_METHODS(ns, caller) |
#define BIO_CALL_CLASS_METHOD_LOOP_WITH_MACRO | ( | loopName, | |
iterationsMacro, | |||
ns, | |||
caller, | |||
argsMacro | |||
) |
Calls a loop with the appropriate number of args
loopName | base name of loop to call (e.g. BIO_DEFINE_CLASS_METHODS_LOOP) |
iterationsMacro | macro that gives the number of iterations to loop over. |
ns | the namespace for the given class |
caller | a tuple containing the class |
argsMacro | the arguments to be looped over (1 per iteration). |
Definition at line 52 of file ClassMethodMacros.h.
#define BIO_CLASS_METHOD | ( | ns, | |
caller, | |||
functionSignature, | |||
functionCall | |||
) |
Define a virtual function that forwards to a Class. Currently only works for functions that have a non-void return type.
Definition at line 30 of file ClassMethodMacros.h.
#define BIO_CLASS_METHOD_WITH_MACRO | ( | ns, | |
caller, | |||
macro | |||
) | BIO_CLASS_METHOD(ns, BIO_EXPAND_TUPLE caller, macro) |
Definition at line 40 of file ClassMethodMacros.h.
#define BIO_DISAMBIGUATE_ALL_CLASS_METHODS | ( | ns, | |
caller | |||
) |
Ease of use wrapper for defining REQUIRED and OPTIONAL CLASS_METHODS.
ns | the namespace of the class. |
caller | the name of the class. |
Definition at line 111 of file ClassMethodMacros.h.
#define BIO_DISAMBIGUATE_OPTIONAL_CLASS_METHODS | ( | ns, | |
caller | |||
) |
Calls the appropriate loop to define up to 99 class methods from BIO_GET_CLASS_OPTIONAL_METHODS_FOR_... NOTE: We call BIO_GET_OPTIONAL_CLASS_METHODS_FOR_##ns() with this. ns is lowercase. This deviates from the Biology macro naming scheme but improves usability, since we don't need to provide ns in lowercase and in uppercase.
ns | the namespace of the class. |
caller | the name of the class. |
Definition at line 92 of file ClassMethodMacros.h.
#define BIO_DISAMBIGUATE_REQUIRED_CLASS_METHODS | ( | ns, | |
caller | |||
) |
Calls the appropriate loop to define up to 99 class methods from BIO_GET_REQUIRED_CLASS_METHODS_FOR_... NOTE: We call BIO_GET_REQUIRED_CLASS_METHODS_FOR_##ns() with this. ns is lowercase. This deviates from the Biology macro naming scheme but improves usability, since we don't need to provide ns in lowercase and in uppercase.
ns | the namespace of the class. |
caller | the name of the class. |
Definition at line 72 of file ClassMethodMacros.h.