28 #if defined(__clang__)
29 #define POTHOS_STATIC_FIXTURE_DECL static
30 #elif defined(_MSC_VER)
31 #define POTHOS_STATIC_FIXTURE_DECL inline
32 #elif defined(__GNUC__)
33 #define POTHOS_STATIC_FIXTURE_DECL static inline
35 #define POTHOS_STATIC_FIXTURE_DECL
46 #define pothos_static_block(name) \
47 POTHOS_STATIC_FIXTURE_DECL void name ## StaticFixtureInit__(void); \
48 template <Pothos::Detail::InitFcn init> \
49 struct name ## StaticFixture__ \
51 name ## StaticFixture__(void) \
53 Pothos::Detail::safeInit(POTHOS_ABI_VERSION, #name, init); \
56 static name ## StaticFixture__<&name ## StaticFixtureInit__> name ## StaticFixtureInstance__; \
57 POTHOS_STATIC_FIXTURE_DECL void name ## StaticFixtureInit__(void)
62 typedef void (*InitFcn)(void);
64 POTHOS_API void safeInit(
const std::string &clientAbi,
const std::string &name, InitFcn
init);
#define POTHOS_API
Definition: Config.hpp:41
POTHOS_API void init(void)