VV::V3::DebugUtils::Messenger class

Vulkan allows an application to register multiple callbacks with any Vulkan component wishing to report debug information. Some callbacks may log the information to a file, others may cause a debug break point or other application defined behavior.

This object represents a device created object on the host. As such ownership is tied to this host object. Due to this design, the object has no copy-construction allowed. Instead, default move constructor and assignment has been defined.

Base classes

struct VV::V2::DebugUtils::Messenger
Vulkan allows an application to register multiple callbacks with any Vulkan component wishing to report debug information. Some callbacks may log the information to a file, others may cause a debug break point or other application defined behavior.

Public types

using Parent = V2::DebugUtils::Messenger

Constructors, destructors, conversion operators

Messenger()
Default constructor.
Messenger(const AppInstance& _appInstance)
Default constructor with app instance specified.
Messenger(const AppInstance& _appInstance, const Memory::AllocationCallbacks& _allocator)
Default constructor with app instance and allocator specified.
Messenger(Messenger&& _other) noexcept
Performs a move operation to transfer ownership of the device object to this host object.
~Messenger()
If the handle is found to not be null, this device will attempt to destroy the device object that corresponds to it.
operator Handle&()
Implicit conversion to give a reference to its handle.
operator const Handle&() const
Implicit conversion to give a readonly reference to its handle.
operator const Handle*() const
Implicit conversion to give a pointer to its handle.

Public functions

auto Create(const CreateInfo& _createSpec) -> EResult
Create a debug messenger.
auto Create(const AppInstance& _appInstance, const CreateInfo& _createSpec) -> EResult
Create a debug messenger. (Specify app instance)
auto Create(const AppInstance& _appInstance, const CreateInfo& _createSpec, const Memory::AllocationCallbacks& _allocator) -> EResult
Create a debug messenger. (Specify app instance and allocator)
void Destroy()
Destroy a debug messenger.
auto operator==(const Messenger& _other) const -> bool
Checks to see if its the same object by checking to see if its the same handle.
auto operator=(Messenger&& _other) -> Messenger& noexcept
Performs a move assignment operation to transfer ownership of the device object to this host object.

Protected variables

Handle handle
const AppInstance* app
const Memory::AllocationCallbacks* allocator