Magnum::Vk::DescriptorSetLayoutCreateInfo class new in Git master

Descriptor set layout creation info.

Wraps a VkDescriptorSetLayoutCreateInfo together with VkDescriptorSetLayoutBindingFlagsCreateInfo. See Descriptor set layout creation for usage information.

Public types

enum class Flag: UnsignedInt { }
Descriptor set layout creation flag.
using Flags = Containers::EnumSet<Flag>
Descriptor set layout creation flags.

Constructors, destructors, conversion operators

DescriptorSetLayoutCreateInfo(Containers::ArrayView<const Containers::AnyReference<const DescriptorSetLayoutBinding>> bindings, Flags flags = {}) explicit
Constructor.
DescriptorSetLayoutCreateInfo(std::initializer_list<Containers::AnyReference<const DescriptorSetLayoutBinding>> bindings, Flags flags = {}) explicit
DescriptorSetLayoutCreateInfo(NoInitT) explicit noexcept
Construct without initializing the contents.
DescriptorSetLayoutCreateInfo(const VkDescriptorSetLayoutCreateInfo& info) explicit
Construct from existing data.
DescriptorSetLayoutCreateInfo(const DescriptorSetLayoutCreateInfo&) deleted
Copying is not allowed.
DescriptorSetLayoutCreateInfo(DescriptorSetLayoutCreateInfo&& other) noexcept
Move constructor.
operator const VkDescriptorSetLayoutCreateInfo*() const

Public functions

auto operator=(const DescriptorSetLayoutCreateInfo&) -> DescriptorSetLayoutCreateInfo& deleted
Copying is not allowed.
auto operator=(DescriptorSetLayoutCreateInfo&& other) -> DescriptorSetLayoutCreateInfo& noexcept
Move assignment.
auto operator*() -> VkDescriptorSetLayoutCreateInfo&
Underlying VkDescriptorSetLayoutCreateInfo structure.
auto operator*() const -> const VkDescriptorSetLayoutCreateInfo&
auto operator->() -> VkDescriptorSetLayoutCreateInfo*
auto operator->() const -> const VkDescriptorSetLayoutCreateInfo*

Enum documentation

enum class Magnum::Vk::DescriptorSetLayoutCreateInfo::Flag: UnsignedInt

Descriptor set layout creation flag.

Wraps VkDescriptorSetLayoutCreateFlagBits.

Typedef documentation

typedef Containers::EnumSet<Flag> Magnum::Vk::DescriptorSetLayoutCreateInfo::Flags

Descriptor set layout creation flags.

Type-safe wrapper for VkDescriptorSetLayoutCreateFlags.

Function documentation

Magnum::Vk::DescriptorSetLayoutCreateInfo::DescriptorSetLayoutCreateInfo(Containers::ArrayView<const Containers::AnyReference<const DescriptorSetLayoutBinding>> bindings, Flags flags = {}) explicit

Constructor.

Parameters
bindings Descriptor set layout bindings. Allowed to be empty.
flags Descriptor set layout creation flags

The following VkDescriptorSetLayoutCreateInfo fields are pre-filled in addition to sType, everything else is zero-filled:

  • flags
  • bindingCount and pBindings to a copy of bindings

If any of the bindings has DescriptorSetLayoutBinding::flags() non-empty, a VkDescriptorSetLayoutBindingFlagsCreateInfo structure is referenced from the pNext chain of VkDescriptorSetLayoutCreateInfo, with the following fields set in addition to sType, everything else zero-filled:

Magnum::Vk::DescriptorSetLayoutCreateInfo::DescriptorSetLayoutCreateInfo(std::initializer_list<Containers::AnyReference<const DescriptorSetLayoutBinding>> bindings, Flags flags = {}) explicit

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Magnum::Vk::DescriptorSetLayoutCreateInfo::DescriptorSetLayoutCreateInfo(NoInitT) explicit noexcept

Construct without initializing the contents.

Note that not even the sType field is set — the structure has to be fully initialized afterwards in order to be usable.

Magnum::Vk::DescriptorSetLayoutCreateInfo::DescriptorSetLayoutCreateInfo(const VkDescriptorSetLayoutCreateInfo& info) explicit

Construct from existing data.

Copies the existing values verbatim, pointers are kept unchanged without taking over the ownership. Modifying the newly created instance will not modify the original data nor the pointed-to data.

Magnum::Vk::DescriptorSetLayoutCreateInfo::operator const VkDescriptorSetLayoutCreateInfo*() const

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

const VkDescriptorSetLayoutCreateInfo& Magnum::Vk::DescriptorSetLayoutCreateInfo::operator*() const

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

VkDescriptorSetLayoutCreateInfo* Magnum::Vk::DescriptorSetLayoutCreateInfo::operator->()

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

const VkDescriptorSetLayoutCreateInfo* Magnum::Vk::DescriptorSetLayoutCreateInfo::operator->() const

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.