class new in Git master
#include <Magnum/Vk/ShaderCreateInfo.h>
ShaderCreateInfo Shader creation info.
Wraps a VkShaderModuleCreateInfo. See Shader creation for usage information.
Public types
- enum class Flag: UnsignedInt { }
- Shader creation flag.
-
using Flags = Containers::
EnumSet<Flag> - Shader creation flags.
Constructors, destructors, conversion operators
-
ShaderCreateInfo(Containers::
ArrayView<const void> code, Flags flags = {}) explicit - Constructor.
-
template<class T>ShaderCreateInfo(Containers::
Array<T>&& code, Flags flags = {}) explicit - Construct taking ownership of a r-value array instance.
-
template<class T, class Deleter>ShaderCreateInfo(Containers::
Array<T, Deleter>&& code, Flags flags = {}) deleted explicit - ShaderCreateInfo(NoInitT) explicit noexcept
- Construct without initializing the contents.
- ShaderCreateInfo(const VkShaderModuleCreateInfo& info) explicit
- Construct from existing data.
- ShaderCreateInfo(const ShaderCreateInfo&) deleted
- Copying is not allowed.
- ShaderCreateInfo(ShaderCreateInfo&& other) noexcept
- Move constructor.
- ~ShaderCreateInfo()
- Destructor.
- operator const VkShaderModuleCreateInfo*() const
Public functions
- auto operator=(const ShaderCreateInfo&) -> ShaderCreateInfo& deleted
- Copying is not allowed.
- auto operator=(ShaderCreateInfo&& other) -> ShaderCreateInfo& noexcept
- Move assignment.
- auto operator*() -> VkShaderModuleCreateInfo&
- Underlying VkShaderModuleCreateInfo structure.
- auto operator*() const -> const VkShaderModuleCreateInfo&
- auto operator->() -> VkShaderModuleCreateInfo*
- auto operator->() const -> const VkShaderModuleCreateInfo*
Enum documentation
enum class Magnum:: Vk:: ShaderCreateInfo:: Flag: UnsignedInt
Shader creation flag.
Wraps VkShaderModuleCreateFlagBits.
Typedef documentation
typedef Containers:: EnumSet<Flag> Magnum:: Vk:: ShaderCreateInfo:: Flags
Shader creation flags.
Type-safe wrapper for VkShaderModuleCreateFlags.
Function documentation
Magnum:: Vk:: ShaderCreateInfo:: ShaderCreateInfo(Containers:: ArrayView<const void> code,
Flags flags = {}) explicit
Constructor.
Parameters | |
---|---|
code | Shader code |
flags | Shader creation flags |
The following VkShaderModuleCreateInfo fields are pre-filled in addition to sType
, everything else is zero-filled:
flags
pCode
andcodeSize
tocode
template<class T>
Magnum:: Vk:: ShaderCreateInfo:: ShaderCreateInfo(Containers:: Array<T>&& code,
Flags flags = {}) explicit
Construct taking ownership of a r-value array instance.
Behaves like ShaderCreateInfo(Containers::code
stays in scope until Shader is created, deleting it on destruction. The cleanup relies on the pointer and size stored in VkShaderModuleCreateInfo, changing the pCode
and codeSize
members afterwards may result in memory corruption.
template<class T, class Deleter>
Magnum:: Vk:: ShaderCreateInfo:: ShaderCreateInfo(Containers:: Array<T, Deleter>&& code,
Flags flags = {}) explicit deleted
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Sorry, custom Corrade::
Magnum:: Vk:: ShaderCreateInfo:: ShaderCreateInfo(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:: ShaderCreateInfo:: ShaderCreateInfo(const VkShaderModuleCreateInfo& 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:: ShaderCreateInfo:: ~ShaderCreateInfo()
Destructor.
If the ShaderCreateInfo(Containers::
Magnum:: Vk:: ShaderCreateInfo:: operator const VkShaderModuleCreateInfo*() const
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
const VkShaderModuleCreateInfo& Magnum:: Vk:: ShaderCreateInfo:: operator*() const
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
VkShaderModuleCreateInfo* Magnum:: Vk:: ShaderCreateInfo:: operator->()
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
const VkShaderModuleCreateInfo* Magnum:: Vk:: ShaderCreateInfo:: operator->() const
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.