|
#ifndef SLANG_CPP_HOST_PRELUDE_H |
|
#define SLANG_CPP_HOST_PRELUDE_H |
|
|
|
#include <cstdio> |
|
#include <cmath> |
|
#include <cstring> |
|
|
|
#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 |
|
# if SLANG_GCC_FAMILY && __GNUC__ < 6 |
|
# include <cmath> |
|
# define SLANG_PRELUDE_STD std:: |
|
# else |
|
# include <math.h> |
|
# define SLANG_PRELUDE_STD |
|
# endif |
|
|
|
# include <assert.h> |
|
# include <stdlib.h> |
|
# include <string.h> |
|
# include <stdint.h> |
|
#endif |
|
|
|
#if defined(_MSC_VER) |
|
# define SLANG_PRELUDE_SHARED_LIB_EXPORT __declspec(dllexport) |
|
#else |
|
# define SLANG_PRELUDE_SHARED_LIB_EXPORT __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<typename TResult, typename... Args> |
|
using Slang_FuncType = TResult(SLANG_MCALL *)(Args...); |
|
|
|
#endif |
|
|