RavEngine
Loading...
Searching...
No Matches
MTLObjCCompatLayer.hpp
1#pragma once
2#include <objc/objc.h>
3
4// Because Apple likes OBJC, we have to
5// include this nasty hack that removes type information but retains size information
6// when compiled as a standard c++ header instead of an OBJC++ header.
7// Instead of using id<T>, use OBJC_ID(T). #import objc headers before #including this header.
8
9#ifdef __OBJC__
10#define OBJC_ID(a) id< a >
11#define APPLE_API_PTR(a) a *
12#define APPLE_API_TYPE(a) a
13#else
14#define OBJC_ID(a) id
15#define APPLE_API_PTR(a) void *
16#define APPLE_API_TYPE(a) int
17
18#endif