template<typename TStructureTypeTrait>
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
andpNext
values. The rest of the structure gets zero initialized.