Pothos
0.2.1-g9f04573d
The Pothos dataflow programming software suite
|
#include <ciso646>
Go to the source code of this file.
Macros | |
#define | POTHOS_HELPER_DLL_IMPORT |
#define | POTHOS_HELPER_DLL_EXPORT |
#define | POTHOS_HELPER_DLL_LOCAL |
#define | POTHOS_DLL |
#define | POTHOS_API POTHOS_HELPER_DLL_IMPORT |
#define | POTHOS_EXTERN extern |
#define | POTHOS_LOCAL POTHOS_HELPER_DLL_LOCAL |
#define | POTHOS_FCN_TUPLE(classPath, functionName) #functionName, &classPath::functionName |
#define | pothos_explicit explicit |
Common macro definitions for library API export.
#define POTHOS_API POTHOS_HELPER_DLL_IMPORT |
#define POTHOS_DLL |
#define pothos_explicit explicit |
Define explicit operator casts on systems that support it. For visual studios older than 2013 this is not supported. Basically we use explcit conversions for boolean operators; and without explicit, everything should work correctly, however misused code would be able to compile. Someday, remove this section and replace pothos_explicit.
#define POTHOS_EXTERN extern |
#define POTHOS_FCN_TUPLE | ( | classPath, | |
functionName | |||
) | #functionName, &classPath::functionName |
The function tuple emits a string name + function pointer tuple. This macro simplifies specifying a function name more than once for API calls that take a string name and function pointer.
Example: To simplify this->register("foo", &MyNamespace::MyClass::foo), this->register(POTHOS_FCN_TUPLE(MyNamespace::MyClass, foo));
classPath | the colon separated namespace and class name |
functionName | the name of a function within the specified classPath |
#define POTHOS_HELPER_DLL_EXPORT |
#define POTHOS_HELPER_DLL_IMPORT |
#define POTHOS_HELPER_DLL_LOCAL |
#define POTHOS_LOCAL POTHOS_HELPER_DLL_LOCAL |