1e8556ba3Sopenharmony_ci// Copyright 2015-2024 The Khronos Group Inc.
2e8556ba3Sopenharmony_ci//
3e8556ba3Sopenharmony_ci// SPDX-License-Identifier: Apache-2.0 OR MIT
4e8556ba3Sopenharmony_ci//
5e8556ba3Sopenharmony_ci
6e8556ba3Sopenharmony_ci// This header is generated from the Khronos Vulkan XML API Registry.
7e8556ba3Sopenharmony_ci
8e8556ba3Sopenharmony_ci#ifndef VULKAN_HPP_MACROS_HPP
9e8556ba3Sopenharmony_ci#define VULKAN_HPP_MACROS_HPP
10e8556ba3Sopenharmony_ci
11e8556ba3Sopenharmony_ci#if defined( _MSVC_LANG )
12e8556ba3Sopenharmony_ci#  define VULKAN_HPP_CPLUSPLUS _MSVC_LANG
13e8556ba3Sopenharmony_ci#else
14e8556ba3Sopenharmony_ci#  define VULKAN_HPP_CPLUSPLUS __cplusplus
15e8556ba3Sopenharmony_ci#endif
16e8556ba3Sopenharmony_ci
17e8556ba3Sopenharmony_ci#if 202002L < VULKAN_HPP_CPLUSPLUS
18e8556ba3Sopenharmony_ci#  define VULKAN_HPP_CPP_VERSION 23
19e8556ba3Sopenharmony_ci#elif 201703L < VULKAN_HPP_CPLUSPLUS
20e8556ba3Sopenharmony_ci#  define VULKAN_HPP_CPP_VERSION 20
21e8556ba3Sopenharmony_ci#elif 201402L < VULKAN_HPP_CPLUSPLUS
22e8556ba3Sopenharmony_ci#  define VULKAN_HPP_CPP_VERSION 17
23e8556ba3Sopenharmony_ci#elif 201103L < VULKAN_HPP_CPLUSPLUS
24e8556ba3Sopenharmony_ci#  define VULKAN_HPP_CPP_VERSION 14
25e8556ba3Sopenharmony_ci#elif 199711L < VULKAN_HPP_CPLUSPLUS
26e8556ba3Sopenharmony_ci#  define VULKAN_HPP_CPP_VERSION 11
27e8556ba3Sopenharmony_ci#else
28e8556ba3Sopenharmony_ci#  error "vulkan.hpp needs at least c++ standard version 11"
29e8556ba3Sopenharmony_ci#endif
30e8556ba3Sopenharmony_ci
31e8556ba3Sopenharmony_ci// include headers holding feature-test macros
32e8556ba3Sopenharmony_ci#if 20 <= VULKAN_HPP_CPP_VERSION
33e8556ba3Sopenharmony_ci#  include <version>
34e8556ba3Sopenharmony_ci#else
35e8556ba3Sopenharmony_ci#  include <ciso646>
36e8556ba3Sopenharmony_ci#endif
37e8556ba3Sopenharmony_ci
38e8556ba3Sopenharmony_ci#if defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
39e8556ba3Sopenharmony_ci#  if !defined( VULKAN_HPP_NO_SMART_HANDLE )
40e8556ba3Sopenharmony_ci#    define VULKAN_HPP_NO_SMART_HANDLE
41e8556ba3Sopenharmony_ci#  endif
42e8556ba3Sopenharmony_ci#endif
43e8556ba3Sopenharmony_ci
44e8556ba3Sopenharmony_ci#if defined( VULKAN_HPP_NO_CONSTRUCTORS )
45e8556ba3Sopenharmony_ci#  if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
46e8556ba3Sopenharmony_ci#    define VULKAN_HPP_NO_STRUCT_CONSTRUCTORS
47e8556ba3Sopenharmony_ci#  endif
48e8556ba3Sopenharmony_ci#  if !defined( VULKAN_HPP_NO_UNION_CONSTRUCTORS )
49e8556ba3Sopenharmony_ci#    define VULKAN_HPP_NO_UNION_CONSTRUCTORS
50e8556ba3Sopenharmony_ci#  endif
51e8556ba3Sopenharmony_ci#endif
52e8556ba3Sopenharmony_ci
53e8556ba3Sopenharmony_ci#if defined( VULKAN_HPP_NO_SETTERS )
54e8556ba3Sopenharmony_ci#  if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
55e8556ba3Sopenharmony_ci#    define VULKAN_HPP_NO_STRUCT_SETTERS
56e8556ba3Sopenharmony_ci#  endif
57e8556ba3Sopenharmony_ci#  if !defined( VULKAN_HPP_NO_UNION_SETTERS )
58e8556ba3Sopenharmony_ci#    define VULKAN_HPP_NO_UNION_SETTERS
59e8556ba3Sopenharmony_ci#  endif
60e8556ba3Sopenharmony_ci#endif
61e8556ba3Sopenharmony_ci
62e8556ba3Sopenharmony_ci#if !defined( VULKAN_HPP_ASSERT )
63e8556ba3Sopenharmony_ci#  define VULKAN_HPP_ASSERT assert
64e8556ba3Sopenharmony_ci#endif
65e8556ba3Sopenharmony_ci
66e8556ba3Sopenharmony_ci#if !defined( VULKAN_HPP_ASSERT_ON_RESULT )
67e8556ba3Sopenharmony_ci#  define VULKAN_HPP_ASSERT_ON_RESULT VULKAN_HPP_ASSERT
68e8556ba3Sopenharmony_ci#endif
69e8556ba3Sopenharmony_ci
70e8556ba3Sopenharmony_ci#if !defined( VULKAN_HPP_STATIC_ASSERT )
71e8556ba3Sopenharmony_ci#  define VULKAN_HPP_STATIC_ASSERT static_assert
72e8556ba3Sopenharmony_ci#endif
73e8556ba3Sopenharmony_ci
74e8556ba3Sopenharmony_ci#if !defined( VULKAN_HPP_ENABLE_DYNAMIC_LOADER_TOOL )
75e8556ba3Sopenharmony_ci#  define VULKAN_HPP_ENABLE_DYNAMIC_LOADER_TOOL 1
76e8556ba3Sopenharmony_ci#endif
77e8556ba3Sopenharmony_ci
78e8556ba3Sopenharmony_ci#if !defined( __has_include )
79e8556ba3Sopenharmony_ci#  define __has_include( x ) false
80e8556ba3Sopenharmony_ci#endif
81e8556ba3Sopenharmony_ci
82e8556ba3Sopenharmony_ci#if ( 201907 <= __cpp_lib_three_way_comparison ) && __has_include( <compare> ) && !defined( VULKAN_HPP_NO_SPACESHIP_OPERATOR )
83e8556ba3Sopenharmony_ci#  define VULKAN_HPP_HAS_SPACESHIP_OPERATOR
84e8556ba3Sopenharmony_ci#endif
85e8556ba3Sopenharmony_ci
86e8556ba3Sopenharmony_ci#if ( 201803 <= __cpp_lib_span )
87e8556ba3Sopenharmony_ci#  define VULKAN_HPP_SUPPORT_SPAN
88e8556ba3Sopenharmony_ci#endif
89e8556ba3Sopenharmony_ci
90e8556ba3Sopenharmony_ci// 32-bit vulkan is not typesafe for non-dispatchable handles, so don't allow copy constructors on this platform by default.
91e8556ba3Sopenharmony_ci// To enable this feature on 32-bit platforms please define VULKAN_HPP_TYPESAFE_CONVERSION
92e8556ba3Sopenharmony_ci#if ( VK_USE_64_BIT_PTR_DEFINES == 1 )
93e8556ba3Sopenharmony_ci#  if !defined( VULKAN_HPP_TYPESAFE_CONVERSION )
94e8556ba3Sopenharmony_ci#    define VULKAN_HPP_TYPESAFE_CONVERSION
95e8556ba3Sopenharmony_ci#  endif
96e8556ba3Sopenharmony_ci#endif
97e8556ba3Sopenharmony_ci
98e8556ba3Sopenharmony_ci#if defined( __GNUC__ )
99e8556ba3Sopenharmony_ci#  define GCC_VERSION ( __GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__ )
100e8556ba3Sopenharmony_ci#endif
101e8556ba3Sopenharmony_ci
102e8556ba3Sopenharmony_ci#if !defined( VULKAN_HPP_HAS_UNRESTRICTED_UNIONS )
103e8556ba3Sopenharmony_ci#  if defined( __clang__ )
104e8556ba3Sopenharmony_ci#    if __has_feature( cxx_unrestricted_unions )
105e8556ba3Sopenharmony_ci#      define VULKAN_HPP_HAS_UNRESTRICTED_UNIONS
106e8556ba3Sopenharmony_ci#    endif
107e8556ba3Sopenharmony_ci#  elif defined( __GNUC__ )
108e8556ba3Sopenharmony_ci#    if 40600 <= GCC_VERSION
109e8556ba3Sopenharmony_ci#      define VULKAN_HPP_HAS_UNRESTRICTED_UNIONS
110e8556ba3Sopenharmony_ci#    endif
111e8556ba3Sopenharmony_ci#  elif defined( _MSC_VER )
112e8556ba3Sopenharmony_ci#    if 1900 <= _MSC_VER
113e8556ba3Sopenharmony_ci#      define VULKAN_HPP_HAS_UNRESTRICTED_UNIONS
114e8556ba3Sopenharmony_ci#    endif
115e8556ba3Sopenharmony_ci#  endif
116e8556ba3Sopenharmony_ci#endif
117e8556ba3Sopenharmony_ci
118e8556ba3Sopenharmony_ci#if !defined( VULKAN_HPP_INLINE )
119e8556ba3Sopenharmony_ci#  if defined( __clang__ )
120e8556ba3Sopenharmony_ci#    if __has_attribute( always_inline )
121e8556ba3Sopenharmony_ci#      define VULKAN_HPP_INLINE __attribute__( ( always_inline ) ) __inline__
122e8556ba3Sopenharmony_ci#    else
123e8556ba3Sopenharmony_ci#      define VULKAN_HPP_INLINE inline
124e8556ba3Sopenharmony_ci#    endif
125e8556ba3Sopenharmony_ci#  elif defined( __GNUC__ )
126e8556ba3Sopenharmony_ci#    define VULKAN_HPP_INLINE __attribute__( ( always_inline ) ) __inline__
127e8556ba3Sopenharmony_ci#  elif defined( _MSC_VER )
128e8556ba3Sopenharmony_ci#    define VULKAN_HPP_INLINE inline
129e8556ba3Sopenharmony_ci#  else
130e8556ba3Sopenharmony_ci#    define VULKAN_HPP_INLINE inline
131e8556ba3Sopenharmony_ci#  endif
132e8556ba3Sopenharmony_ci#endif
133e8556ba3Sopenharmony_ci
134e8556ba3Sopenharmony_ci#if defined( VULKAN_HPP_TYPESAFE_CONVERSION )
135e8556ba3Sopenharmony_ci#  define VULKAN_HPP_TYPESAFE_EXPLICIT
136e8556ba3Sopenharmony_ci#else
137e8556ba3Sopenharmony_ci#  define VULKAN_HPP_TYPESAFE_EXPLICIT explicit
138e8556ba3Sopenharmony_ci#endif
139e8556ba3Sopenharmony_ci
140e8556ba3Sopenharmony_ci#if defined( __cpp_constexpr )
141e8556ba3Sopenharmony_ci#  define VULKAN_HPP_CONSTEXPR constexpr
142e8556ba3Sopenharmony_ci#  if 201304 <= __cpp_constexpr
143e8556ba3Sopenharmony_ci#    define VULKAN_HPP_CONSTEXPR_14 constexpr
144e8556ba3Sopenharmony_ci#  else
145e8556ba3Sopenharmony_ci#    define VULKAN_HPP_CONSTEXPR_14
146e8556ba3Sopenharmony_ci#  endif
147e8556ba3Sopenharmony_ci#  if ( 201907 <= __cpp_constexpr ) && ( !defined( __GNUC__ ) || ( 110400 < GCC_VERSION ) )
148e8556ba3Sopenharmony_ci#    define VULKAN_HPP_CONSTEXPR_20 constexpr
149e8556ba3Sopenharmony_ci#  else
150e8556ba3Sopenharmony_ci#    define VULKAN_HPP_CONSTEXPR_20
151e8556ba3Sopenharmony_ci#  endif
152e8556ba3Sopenharmony_ci#  define VULKAN_HPP_CONST_OR_CONSTEXPR constexpr
153e8556ba3Sopenharmony_ci#else
154e8556ba3Sopenharmony_ci#  define VULKAN_HPP_CONSTEXPR
155e8556ba3Sopenharmony_ci#  define VULKAN_HPP_CONSTEXPR_14
156e8556ba3Sopenharmony_ci#  define VULKAN_HPP_CONST_OR_CONSTEXPR const
157e8556ba3Sopenharmony_ci#endif
158e8556ba3Sopenharmony_ci
159e8556ba3Sopenharmony_ci#if !defined( VULKAN_HPP_CONSTEXPR_INLINE )
160e8556ba3Sopenharmony_ci#  if 201606L <= __cpp_inline_variables
161e8556ba3Sopenharmony_ci#    define VULKAN_HPP_CONSTEXPR_INLINE VULKAN_HPP_CONSTEXPR inline
162e8556ba3Sopenharmony_ci#  else
163e8556ba3Sopenharmony_ci#    define VULKAN_HPP_CONSTEXPR_INLINE VULKAN_HPP_CONSTEXPR
164e8556ba3Sopenharmony_ci#  endif
165e8556ba3Sopenharmony_ci#endif
166e8556ba3Sopenharmony_ci
167e8556ba3Sopenharmony_ci#if !defined( VULKAN_HPP_NOEXCEPT )
168e8556ba3Sopenharmony_ci#  if defined( _MSC_VER ) && ( _MSC_VER <= 1800 )
169e8556ba3Sopenharmony_ci#    define VULKAN_HPP_NOEXCEPT
170e8556ba3Sopenharmony_ci#  else
171e8556ba3Sopenharmony_ci#    define VULKAN_HPP_NOEXCEPT     noexcept
172e8556ba3Sopenharmony_ci#    define VULKAN_HPP_HAS_NOEXCEPT 1
173e8556ba3Sopenharmony_ci#    if defined( VULKAN_HPP_NO_EXCEPTIONS )
174e8556ba3Sopenharmony_ci#      define VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS noexcept
175e8556ba3Sopenharmony_ci#    else
176e8556ba3Sopenharmony_ci#      define VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS
177e8556ba3Sopenharmony_ci#    endif
178e8556ba3Sopenharmony_ci#  endif
179e8556ba3Sopenharmony_ci#endif
180e8556ba3Sopenharmony_ci
181e8556ba3Sopenharmony_ci#if 14 <= VULKAN_HPP_CPP_VERSION
182e8556ba3Sopenharmony_ci#  define VULKAN_HPP_DEPRECATED( msg ) [[deprecated( msg )]]
183e8556ba3Sopenharmony_ci#else
184e8556ba3Sopenharmony_ci#  define VULKAN_HPP_DEPRECATED( msg )
185e8556ba3Sopenharmony_ci#endif
186e8556ba3Sopenharmony_ci
187e8556ba3Sopenharmony_ci#if ( 17 <= VULKAN_HPP_CPP_VERSION ) && !defined( VULKAN_HPP_NO_NODISCARD_WARNINGS )
188e8556ba3Sopenharmony_ci#  define VULKAN_HPP_NODISCARD [[nodiscard]]
189e8556ba3Sopenharmony_ci#  if defined( VULKAN_HPP_NO_EXCEPTIONS )
190e8556ba3Sopenharmony_ci#    define VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS [[nodiscard]]
191e8556ba3Sopenharmony_ci#  else
192e8556ba3Sopenharmony_ci#    define VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS
193e8556ba3Sopenharmony_ci#  endif
194e8556ba3Sopenharmony_ci#else
195e8556ba3Sopenharmony_ci#  define VULKAN_HPP_NODISCARD
196e8556ba3Sopenharmony_ci#  define VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS
197e8556ba3Sopenharmony_ci#endif
198e8556ba3Sopenharmony_ci
199e8556ba3Sopenharmony_ci#if !defined( VULKAN_HPP_NAMESPACE )
200e8556ba3Sopenharmony_ci#  define VULKAN_HPP_NAMESPACE vk
201e8556ba3Sopenharmony_ci#endif
202e8556ba3Sopenharmony_ci
203e8556ba3Sopenharmony_ci#define VULKAN_HPP_STRINGIFY2( text ) #text
204e8556ba3Sopenharmony_ci#define VULKAN_HPP_STRINGIFY( text )  VULKAN_HPP_STRINGIFY2( text )
205e8556ba3Sopenharmony_ci#define VULKAN_HPP_NAMESPACE_STRING   VULKAN_HPP_STRINGIFY( VULKAN_HPP_NAMESPACE )
206e8556ba3Sopenharmony_ci
207e8556ba3Sopenharmony_ci#if !defined( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC )
208e8556ba3Sopenharmony_ci#  if defined( VK_NO_PROTOTYPES )
209e8556ba3Sopenharmony_ci#    define VULKAN_HPP_DISPATCH_LOADER_DYNAMIC 1
210e8556ba3Sopenharmony_ci#  else
211e8556ba3Sopenharmony_ci#    define VULKAN_HPP_DISPATCH_LOADER_DYNAMIC 0
212e8556ba3Sopenharmony_ci#  endif
213e8556ba3Sopenharmony_ci#endif
214e8556ba3Sopenharmony_ci
215e8556ba3Sopenharmony_ci#if !defined( VULKAN_HPP_STORAGE_API )
216e8556ba3Sopenharmony_ci#  if defined( VULKAN_HPP_STORAGE_SHARED )
217e8556ba3Sopenharmony_ci#    if defined( _MSC_VER )
218e8556ba3Sopenharmony_ci#      if defined( VULKAN_HPP_STORAGE_SHARED_EXPORT )
219e8556ba3Sopenharmony_ci#        define VULKAN_HPP_STORAGE_API __declspec( dllexport )
220e8556ba3Sopenharmony_ci#      else
221e8556ba3Sopenharmony_ci#        define VULKAN_HPP_STORAGE_API __declspec( dllimport )
222e8556ba3Sopenharmony_ci#      endif
223e8556ba3Sopenharmony_ci#    elif defined( __clang__ ) || defined( __GNUC__ )
224e8556ba3Sopenharmony_ci#      if defined( VULKAN_HPP_STORAGE_SHARED_EXPORT )
225e8556ba3Sopenharmony_ci#        define VULKAN_HPP_STORAGE_API __attribute__( ( visibility( "default" ) ) )
226e8556ba3Sopenharmony_ci#      else
227e8556ba3Sopenharmony_ci#        define VULKAN_HPP_STORAGE_API
228e8556ba3Sopenharmony_ci#      endif
229e8556ba3Sopenharmony_ci#    else
230e8556ba3Sopenharmony_ci#      define VULKAN_HPP_STORAGE_API
231e8556ba3Sopenharmony_ci#      pragma warning Unknown import / export semantics
232e8556ba3Sopenharmony_ci#    endif
233e8556ba3Sopenharmony_ci#  else
234e8556ba3Sopenharmony_ci#    define VULKAN_HPP_STORAGE_API
235e8556ba3Sopenharmony_ci#  endif
236e8556ba3Sopenharmony_ci#endif
237e8556ba3Sopenharmony_ci
238e8556ba3Sopenharmony_cinamespace VULKAN_HPP_NAMESPACE
239e8556ba3Sopenharmony_ci{
240e8556ba3Sopenharmony_ci  class DispatchLoaderDynamic;
241e8556ba3Sopenharmony_ci}  // namespace VULKAN_HPP_NAMESPACE
242e8556ba3Sopenharmony_ci
243e8556ba3Sopenharmony_ci#if !defined( VULKAN_HPP_DEFAULT_DISPATCHER )
244e8556ba3Sopenharmony_ci#  if VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1
245e8556ba3Sopenharmony_ci#    define VULKAN_HPP_DEFAULT_DISPATCHER ::VULKAN_HPP_NAMESPACE::defaultDispatchLoaderDynamic
246e8556ba3Sopenharmony_ci#    define VULKAN_HPP_DEFAULT_DISPATCH_LOADER_DYNAMIC_STORAGE                                             \
247e8556ba3Sopenharmony_ci      namespace VULKAN_HPP_NAMESPACE                                                                       \
248e8556ba3Sopenharmony_ci      {                                                                                                    \
249e8556ba3Sopenharmony_ci        VULKAN_HPP_STORAGE_API ::VULKAN_HPP_NAMESPACE::DispatchLoaderDynamic defaultDispatchLoaderDynamic; \
250e8556ba3Sopenharmony_ci      }
251e8556ba3Sopenharmony_ci
252e8556ba3Sopenharmony_cinamespace VULKAN_HPP_NAMESPACE
253e8556ba3Sopenharmony_ci{
254e8556ba3Sopenharmony_ci  extern VULKAN_HPP_STORAGE_API VULKAN_HPP_NAMESPACE::DispatchLoaderDynamic defaultDispatchLoaderDynamic;
255e8556ba3Sopenharmony_ci}  // namespace VULKAN_HPP_NAMESPACE
256e8556ba3Sopenharmony_ci#  else
257e8556ba3Sopenharmony_ci#    define VULKAN_HPP_DEFAULT_DISPATCHER ::VULKAN_HPP_NAMESPACE::getDispatchLoaderStatic()
258e8556ba3Sopenharmony_ci#    define VULKAN_HPP_DEFAULT_DISPATCH_LOADER_DYNAMIC_STORAGE
259e8556ba3Sopenharmony_ci#  endif
260e8556ba3Sopenharmony_ci#endif
261e8556ba3Sopenharmony_ci
262e8556ba3Sopenharmony_ci#if !defined( VULKAN_HPP_DEFAULT_DISPATCHER_TYPE )
263e8556ba3Sopenharmony_ci#  if VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1
264e8556ba3Sopenharmony_ci#    define VULKAN_HPP_DEFAULT_DISPATCHER_TYPE ::VULKAN_HPP_NAMESPACE::DispatchLoaderDynamic
265e8556ba3Sopenharmony_ci#  else
266e8556ba3Sopenharmony_ci#    define VULKAN_HPP_DEFAULT_DISPATCHER_TYPE ::VULKAN_HPP_NAMESPACE::DispatchLoaderStatic
267e8556ba3Sopenharmony_ci#  endif
268e8556ba3Sopenharmony_ci#endif
269e8556ba3Sopenharmony_ci
270e8556ba3Sopenharmony_ci#if defined( VULKAN_HPP_NO_DEFAULT_DISPATCHER )
271e8556ba3Sopenharmony_ci#  define VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT
272e8556ba3Sopenharmony_ci#  define VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT
273e8556ba3Sopenharmony_ci#  define VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT
274e8556ba3Sopenharmony_ci#else
275e8556ba3Sopenharmony_ci#  define VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT         = {}
276e8556ba3Sopenharmony_ci#  define VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT = nullptr
277e8556ba3Sopenharmony_ci#  define VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT       = VULKAN_HPP_DEFAULT_DISPATCHER
278e8556ba3Sopenharmony_ci#endif
279e8556ba3Sopenharmony_ci
280e8556ba3Sopenharmony_ci#if !defined( VULKAN_HPP_EXPECTED ) && ( 23 <= VULKAN_HPP_CPP_VERSION ) && defined( __cpp_lib_expected )
281e8556ba3Sopenharmony_ci#  include <expected>
282e8556ba3Sopenharmony_ci#  define VULKAN_HPP_EXPECTED   std::expected
283e8556ba3Sopenharmony_ci#  define VULKAN_HPP_UNEXPECTED std::unexpected
284e8556ba3Sopenharmony_ci#endif
285e8556ba3Sopenharmony_ci
286e8556ba3Sopenharmony_ci#if !defined( VULKAN_HPP_RAII_NAMESPACE )
287e8556ba3Sopenharmony_ci#  define VULKAN_HPP_RAII_NAMESPACE raii
288e8556ba3Sopenharmony_ci#endif
289e8556ba3Sopenharmony_ci
290e8556ba3Sopenharmony_ci#if defined( VULKAN_HPP_NO_EXCEPTIONS ) && defined( VULKAN_HPP_EXPECTED )
291e8556ba3Sopenharmony_ci#  define VULKAN_HPP_RAII_NO_EXCEPTIONS
292e8556ba3Sopenharmony_ci#  define VULKAN_HPP_RAII_CREATE_NOEXCEPT noexcept
293e8556ba3Sopenharmony_ci#else
294e8556ba3Sopenharmony_ci#  define VULKAN_HPP_RAII_CREATE_NOEXCEPT
295e8556ba3Sopenharmony_ci#endif
296e8556ba3Sopenharmony_ci
297e8556ba3Sopenharmony_ci#endif