|
Develop Biology
The language of life
|
#include "ClassMethodsLoopMacros.h"
Include dependency graph for ClassMethodMacros.h:
This graph shows which files directly or indirectly include this file: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.