yum-mirror/VkFFT
git clone https://git.yummers.dev/yum-mirror/VkFFT
ba7001c
develop
1//------------------------------------------------------------------------------------------------------------------------------------------------------------- 2// 3// Metal/MTLFunctionLog.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 "MTLFunctionLog.hpp" 30 31namespace MTL 32{ 33_MTL_ENUM (NS ::UInteger ,FunctionLogType ) { 34FunctionLogTypeValidation = 0 , 35}; 36 37class LogContainer :public NS ::Referencing < LogContainer ,NS ::FastEnumeration > 38{ 39public : 40}; 41 42class FunctionLogDebugLocation :public NS ::Referencing < FunctionLogDebugLocation > 43{ 44public : 45NS ::String * functionName ()const ; 46 47NS ::URL * URL ()const ; 48 49NS ::UInteger line ()const ; 50 51NS ::UInteger column ()const ; 52}; 53 54class FunctionLog :public NS ::Referencing < FunctionLog > 55{ 56public : 57MTL ::FunctionLogType type ()const ; 58 59NS ::String * encoderLabel ()const ; 60 61class Function * function ()const ; 62 63class FunctionLogDebugLocation * debugLocation ()const ; 64}; 65 66} 67 68// property: functionName 69_MTL_INLINE NS ::String * MTL ::FunctionLogDebugLocation ::functionName ()const 70{ 71return Object ::sendMessage < NS ::String *> (this ,_MTL_PRIVATE_SEL (functionName )); 72} 73 74// property: URL 75_MTL_INLINE NS ::URL * MTL ::FunctionLogDebugLocation ::URL ()const 76{ 77return Object ::sendMessage < NS ::URL *> (this ,_MTL_PRIVATE_SEL (URL )); 78} 79 80// property: line 81_MTL_INLINE NS ::UInteger MTL ::FunctionLogDebugLocation ::line ()const 82{ 83return Object ::sendMessage < NS ::UInteger > (this ,_MTL_PRIVATE_SEL (line )); 84} 85 86// property: column 87_MTL_INLINE NS ::UInteger MTL ::FunctionLogDebugLocation ::column ()const 88{ 89return Object ::sendMessage < NS ::UInteger > (this ,_MTL_PRIVATE_SEL (column )); 90} 91 92// property: type 93_MTL_INLINE MTL ::FunctionLogType MTL ::FunctionLog ::type ()const 94{ 95return Object ::sendMessage < MTL ::FunctionLogType > (this ,_MTL_PRIVATE_SEL (type )); 96} 97 98// property: encoderLabel 99_MTL_INLINE NS ::String * MTL ::FunctionLog ::encoderLabel ()const 100{ 101return Object ::sendMessage < NS ::String *> (this ,_MTL_PRIVATE_SEL (encoderLabel )); 102} 103 104// property: function 105_MTL_INLINE MTL ::Function * MTL ::FunctionLog ::function ()const 106{ 107return Object ::sendMessage < MTL ::Function *> (this ,_MTL_PRIVATE_SEL (function )); 108} 109 110// property: debugLocation 111_MTL_INLINE MTL ::FunctionLogDebugLocation * MTL ::FunctionLog ::debugLocation ()const 112{ 113return Object ::sendMessage < MTL ::FunctionLogDebugLocation *> (this ,_MTL_PRIVATE_SEL (debugLocation )); 114}