class new in Git master
#include <Magnum/Vk/ExtensionProperties.h>
InstanceExtensionProperties Instance extension properties.
Provides a searchable container of Vulkan device extensions enumerated with enumerateInstanceExtensionProperties().
Base classes
- class ExtensionProperties new in Git master
- Extension properties.
Constructors, destructors, conversion operators
- InstanceExtensionProperties(NoCreateT) explicit
- Construct without populating the contents.
- InstanceExtensionProperties(const InstanceExtensionProperties&) deleted
- Copying is not allowed.
- InstanceExtensionProperties(InstanceExtensionProperties&&) noexcept
- Move constructor.
Public functions
- auto operator=(const InstanceExtensionProperties&) -> InstanceExtensionProperties& deleted
- Copying is not allowed.
- auto operator=(InstanceExtensionProperties&&) -> InstanceExtensionProperties& noexcept
- Move assignment.
-
auto isSupported(Containers::
StringView extension, UnsignedInt revision = 1) const -> bool - Whether given extension is supported.
- auto isSupported(const InstanceExtension& extension, UnsignedInt revision = 1) const -> bool
-
template<class E>auto isSupported(UnsignedInt revision = 1) const -> bool
- auto revision(UnsignedInt id) const -> UnsignedInt
- Extension revision.
-
auto revision(Containers::
StringView extension) const -> UnsignedInt - Revision of a particular extension name.
- auto revision(const InstanceExtension& extension) const -> UnsignedInt
-
template<class E>auto revision() const -> UnsignedInt
Function documentation
Magnum:: Vk:: InstanceExtensionProperties:: InstanceExtensionProperties(NoCreateT) explicit
Construct without populating the contents.
Equivalent to a moved-from state. Move over the result of enumerateInstanceExtensionProperties() to make it usable.
bool Magnum:: Vk:: InstanceExtensionProperties:: isSupported(Containers:: StringView extension,
UnsignedInt revision = 1) const
Whether given extension is supported.
Parameters | |
---|---|
extension | Extension string |
revision | Minimal required revision. If the extension is present but in an older revision, the function returns false . |
Since extension strings are easy to mistype, you're encouraged to use the other overloads such as isSupported(UnsignedInt) const together with extensions from the Extensions namespace.
Search complexity is in the total extension count; in contrast extension queries on a created instance are .
bool Magnum:: Vk:: InstanceExtensionProperties:: isSupported(const InstanceExtension& extension,
UnsignedInt revision = 1) const
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
template<class E>
bool Magnum:: Vk:: InstanceExtensionProperties:: isSupported(UnsignedInt revision = 1) const
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
UnsignedInt Magnum:: Vk:: InstanceExtensionProperties:: revision(UnsignedInt id) const
Extension revision.
Parameters | |
---|---|
id | Extension index, expected to be smaller than count() |
UnsignedInt Magnum:: Vk:: InstanceExtensionProperties:: revision(Containers:: StringView extension) const
Revision of a particular extension name.
If the extension is not supported, returns 0
, supported extensions always have a non-zero revision. If the extension is implemented by more than one layer, returns revision of the first layer implementing it — use revision(UnsignedInt) const to get revision of a concrete extension in a concrete layer.
UnsignedInt Magnum:: Vk:: InstanceExtensionProperties:: revision(const InstanceExtension& extension) const
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
template<class E>
UnsignedInt Magnum:: Vk:: InstanceExtensionProperties:: revision() const
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.