mirror of
https://github.com/KhronosGroup/Vulkan-Hpp.git
synced 2025-09-12 05:16:21 -04:00
Updating configuration info in README.md
This commit is contained in:
parent
9df9d582f5
commit
41fea04504
12
README.md
12
README.md
@ -139,7 +139,7 @@ vk::Image image = device.createImage({{}, vk::ImageType::e2D, vk::Format::eR8G8B
|
||||
|
||||
### Designated Initializers
|
||||
|
||||
Beginning with C++20, C++ supports designated initializers. As that feature requires to not have any user-declared or inherited constructors, you have to `#define VULKAN_HPP_NO_STRUCT_CONSTRUCTORS`, which removes all the structure constructors from vulkan.hpp. Instead you can then use aggregate initialization. The first few vk-lines in your source might then look like
|
||||
Beginning with C++20, C++ supports designated initializers. As that feature requires to not have any user-declared or inherited constructors, you have to `#define VULKAN_HPP_NO_CONSTRUCTORS`, which removes all the structure and union constructors from vulkan.hpp. Instead you can then use aggregate initialization. The first few vk-lines in your source might then look like
|
||||
```c++
|
||||
// initialize the vk::ApplicationInfo structure
|
||||
vk::ApplicationInfo applicationInfo{ .pApplicationName = AppName,
|
||||
@ -549,6 +549,10 @@ This is set to be the compiler-dependent attribute used to mark functions as inl
|
||||
|
||||
By default, the namespace used with vulkan.hpp is ```vk```. By defining ```VULKAN_HPP_NAMESPACE``` before including vulkan.hpp, you can adjust this.
|
||||
|
||||
#### VULKAN_HPP_NO_CONSTRUCTORS
|
||||
|
||||
With C++20, designated initializers are available. Their use requires the absence of any user-defined constructors. Define ```VULKAN_HPP_NO_CONSTRUCTORS``` to remove constructors from structs and unions.
|
||||
|
||||
#### VULKAN_HPP_NO_EXCEPTIONS
|
||||
|
||||
When a vulkan function returns an error code that is not specified to be a success code, an exception is thrown unless ```VULKAN_HPP_NO_EXCEPTIONS``` is defined before including vulkan.hpp.
|
||||
@ -557,11 +561,15 @@ When a vulkan function returns an error code that is not specified to be a succe
|
||||
|
||||
With C++17, all ```vk```-functions returning something are declared with the attribute ```[[nodiscard]]```. This can be removed by defining ```VULKAN_HPP_NO_NODISCARD_WARNINGS``` before including vulkan.hpp.
|
||||
|
||||
#### VULKAN_HPP_NO_SETTERS
|
||||
|
||||
By defining ```VULKAN_HPP_NO_SETTERS```before including vulkan.hpp, setter member functions will not be available within structs and unions. Modifying their data members will then only be possible via direct assignment.
|
||||
|
||||
#### VULKAN_HPP_NO_SMART_HANDLE
|
||||
|
||||
By defining ```VULKAN_HPP_NO_SMART_HANDLE``` before including vulkan.hpp, the helper class ```UniqueHandle``` and all the unique handle types are not available.
|
||||
|
||||
### VULKAN_HPP_NO_SPACESHIP_OPERATOR
|
||||
#### VULKAN_HPP_NO_SPACESHIP_OPERATOR
|
||||
|
||||
With C++20, the so-called spaceship-operator ```<=>``` is introduced. If that operator is supported, all the structs and classes in vulkan.hpp use the default implementation of it. As currently some implementations of this operator are very slow, and others seem to be incomplete, by defining ```VULKAN_HPP_NO_SPACESHIP_OPERATOR``` before including vulkan.hpp you can remove that operator from those structs and classes.
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user