MTLDefines.hpp
1 //------------------------------------------------------------------------------------------------------------------------------------------------------------- 2 // 3 // Metal/MTLDefines.hpp 4 // 5 // Copyright 2020-2024 Apple Inc. 6 // 7 // Licensed under the Apache License, Version 2.0 (the "License"); 8 // you may not use this file except in compliance with the License. 9 // You may obtain a copy of the License at 10 // 11 // http://www.apache.org/licenses/LICENSE-2.0 12 // 13 // Unless required by applicable law or agreed to in writing, software 14 // distributed under the License is distributed on an "AS IS" BASIS, 15 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 16 // See the License for the specific language governing permissions and 17 // limitations under the License. 18 // 19 //------------------------------------------------------------------------------------------------------------------------------------------------------------- 20 21 #pragma once 22 23 //------------------------------------------------------------------------------------------------------------------------------------------------------------- 24 25 #include "../Foundation/NSDefines.hpp" 26 27 //------------------------------------------------------------------------------------------------------------------------------------------------------------- 28 29 #define _MTL_EXPORT _NS_EXPORT 30 #define _MTL_EXTERN _NS_EXTERN 31 #define _MTL_INLINE _NS_INLINE 32 #define _MTL_PACKED _NS_PACKED 33 34 #define _MTL_CONST(type, name) _NS_CONST(type, name) 35 #define _MTL_ENUM(type, name) _NS_ENUM(type, name) 36 #define _MTL_OPTIONS(type, name) _NS_OPTIONS(type, name) 37 38 #define _MTL_VALIDATE_SIZE(ns, name) _NS_VALIDATE_SIZE(ns, name) 39 #define _MTL_VALIDATE_ENUM(ns, name) _NS_VALIDATE_ENUM(ns, name) 40 41 //-------------------------------------------------------------------------------------------------------------------------------------------------------------