template<typename TStructureTypeTrait>
tp::VkStructureMap class

A heterogenous container of unique Vulkan structure types. The structures get zero initialized with sType filled out appropriately and pNext used to chain them in the order they were added.

Public functions

auto back() -> VkStructureStub&
Returns the stub of the last added structure in the chain.
auto back() const -> const VkStructureStub&
Returns the stub of the last added structure in the chain.
void clear()
Removes all elements from the map.
template<typename T>
auto contains() const -> bool
Returns true if the map contains the given type.
auto empty() const -> bool
Returns true if the map is empty.
auto front() -> VkStructureStub&
Returns the stub of the first added structure in the chain.
auto front() const -> const VkStructureStub&
Returns the stub of the first added structure in the chain.
template<typename T>
auto get() -> auto&
Returns an instance of the given type from the map. If it doesn't yet exist in the map, it is created with correct sType and pNext values. The rest of the structure gets zero initialized.