#ifndef RADIX_RADIXDL_FUNCTION_HH_ #define RADIX_RADIXDL_FUNCTION_HH_ #include #if defined(_WIN32) && !defined(__GNUC__) #include #endif #include "radixcore/visibility.hh" #if defined(_WIN32) #include "windef.h" #endif namespace radix { template class RADIX_PUBLIC DLFunction { public: #if defined(_WIN32) DLFunction(FARPROC = nullptr); #else DLFunction(void * = nullptr); #endif virtual ~DLFunction(); return_type operator()(ARGS...); private: #if defined(_WIN32) FARPROC mFunction; #else void *mFunction; #endif }; } // namespace radix #include "radixdl/function.i.hh" #endif /* RADIX_RADIXDL_FUNCTION_HH_ */