#ifndef SLANG_CPP_HOST_PRELUDE_H #define SLANG_CPP_HOST_PRELUDE_H #include #include #include #define SLANG_COM_PTR_ENABLE_REF_OPERATOR 1 #include "../source/slang-rt/slang-rt.h" #include "slang-com-ptr.h" #include "slang-cpp-types.h" #ifdef SLANG_LLVM #include "slang-llvm.h" #else // SLANG_LLVM # if SLANG_GCC_FAMILY && __GNUC__ < 6 # include # define SLANG_PRELUDE_STD std:: # else # include # define SLANG_PRELUDE_STD # endif # include # include # include # include #endif // SLANG_LLVM #if defined(_MSC_VER) # define SLANG_PRELUDE_SHARED_LIB_EXPORT __declspec(dllexport) #else # define SLANG_PRELUDE_SHARED_LIB_EXPORT __attribute__((__visibility__("default"))) //# define SLANG_PRELUDE_SHARED_LIB_EXPORT __attribute__ ((dllexport)) __attribute__((__visibility__("default"))) #endif #ifdef __cplusplus # define SLANG_PRELUDE_EXTERN_C extern "C" # define SLANG_PRELUDE_EXTERN_C_START extern "C" { # define SLANG_PRELUDE_EXTERN_C_END } #else # define SLANG_PRELUDE_EXTERN_C # define SLANG_PRELUDE_EXTERN_C_START # define SLANG_PRELUDE_EXTERN_C_END #endif #include "slang-cpp-scalar-intrinsics.h" using namespace Slang; template using Slang_FuncType = TResult(SLANG_MCALL *)(Args...); #endif