yum-mirror/VkFFT
git clone https://git.yummers.dev/yum-mirror/VkFFT
ba7001c
master
1//------------------------------------------------------------------------------------------------------------------------------------------------------------- 2// 3// Metal/MTLVisibleFunctionTable.hpp 4// 5// Copyright 2020-2021 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#include "MTLDefines.hpp" 24#include "MTLHeaderBridge.hpp" 25#include "MTLPrivate.hpp" 26 27#include <Foundation/Foundation.hpp> 28 29#include "MTLFunctionHandle.hpp" 30#include "MTLResource.hpp" 31 32namespace MTL 33{ 34class VisibleFunctionTableDescriptor :public NS ::Copying < VisibleFunctionTableDescriptor > 35{ 36public : 37static class VisibleFunctionTableDescriptor * alloc (); 38 39class VisibleFunctionTableDescriptor * init (); 40 41static class VisibleFunctionTableDescriptor * visibleFunctionTableDescriptor (); 42 43NS ::UInteger functionCount ()const ; 44void setFunctionCount (NS ::UInteger functionCount ); 45}; 46 47class VisibleFunctionTable :public NS ::Referencing < VisibleFunctionTable ,Resource > 48{ 49public : 50void setFunction (const class FunctionHandle * function ,NS ::UInteger index ); 51 52void setFunctions (const class FunctionHandle * functions [],NS ::Range range ); 53}; 54 55} 56 57// static method: alloc 58_MTL_INLINE MTL ::VisibleFunctionTableDescriptor * MTL ::VisibleFunctionTableDescriptor ::alloc () 59{ 60return NS ::Object ::alloc < MTL ::VisibleFunctionTableDescriptor > (_MTL_PRIVATE_CLS (MTLVisibleFunctionTableDescriptor )); 61} 62 63// method: init 64_MTL_INLINE MTL ::VisibleFunctionTableDescriptor * MTL ::VisibleFunctionTableDescriptor ::init () 65{ 66return NS ::Object ::init < MTL ::VisibleFunctionTableDescriptor > (); 67} 68 69// static method: visibleFunctionTableDescriptor 70_MTL_INLINE MTL ::VisibleFunctionTableDescriptor * MTL ::VisibleFunctionTableDescriptor ::visibleFunctionTableDescriptor () 71{ 72return Object ::sendMessage < MTL ::VisibleFunctionTableDescriptor *> (_MTL_PRIVATE_CLS (MTLVisibleFunctionTableDescriptor ),_MTL_PRIVATE_SEL (visibleFunctionTableDescriptor )); 73} 74 75// property: functionCount 76_MTL_INLINE NS ::UInteger MTL ::VisibleFunctionTableDescriptor ::functionCount ()const 77{ 78return Object ::sendMessage < NS ::UInteger > (this ,_MTL_PRIVATE_SEL (functionCount )); 79} 80 81_MTL_INLINE voidMTL ::VisibleFunctionTableDescriptor ::setFunctionCount (NS ::UInteger functionCount ) 82{ 83Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setFunctionCount_ ),functionCount ); 84} 85 86// method: setFunction:atIndex: 87_MTL_INLINE voidMTL ::VisibleFunctionTable ::setFunction (const MTL ::FunctionHandle * function ,NS ::UInteger index ) 88{ 89Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setFunction_atIndex_ ),function ,index ); 90} 91 92// method: setFunctions:withRange: 93_MTL_INLINE voidMTL ::VisibleFunctionTable ::setFunctions (const MTL ::FunctionHandle * functions [],NS ::Range range ) 94{ 95Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setFunctions_withRange_ ),functions ,range ); 96}