pub trait Handle: Copy + Clone + Debug + PartialEq + Eq + Hash + Default + Sized {
    type Repr;

    const TYPE: ObjectType;

    // Required methods
    fn null() -> Self;
    fn from_raw(value: Self::Repr) -> Self;
    fn as_raw(self) -> Self::Repr;
    fn is_null(self) -> bool;
}
Expand description

A Vulkan handle type.

Required Associated Types§

source

type Repr

The underlying type for this handle type.

Required Associated Constants§

source

const TYPE: ObjectType

The object type for this handle type.

Required Methods§

source

fn null() -> Self

Constructs a null instance of this handle type.

source

fn from_raw(value: Self::Repr) -> Self

Constructs an instance of this handle type with the supplied underlying value.

source

fn as_raw(self) -> Self::Repr

Gets the underlying value for this handle.

source

fn is_null(self) -> bool

Returns whether this handle is a null handle.

Object Safety§

This trait is not object safe.

Implementors§

source§

impl Handle for AccelerationStructureKHR

§

type Repr = u64

source§

const TYPE: ObjectType = ObjectType::ACCELERATION_STRUCTURE_KHR

source§

impl Handle for AccelerationStructureNV

§

type Repr = u64

source§

const TYPE: ObjectType = ObjectType::ACCELERATION_STRUCTURE_NV

source§

impl Handle for Buffer

§

type Repr = u64

source§

const TYPE: ObjectType = ObjectType::BUFFER

source§

impl Handle for BufferCollectionFUCHSIA

§

type Repr = u64

source§

const TYPE: ObjectType = ObjectType::BUFFER_COLLECTION_FUCHSIA

source§

impl Handle for BufferView

§

type Repr = u64

source§

const TYPE: ObjectType = ObjectType::BUFFER_VIEW

source§

impl Handle for CommandBuffer

§

type Repr = usize

source§

const TYPE: ObjectType = ObjectType::COMMAND_BUFFER

source§

impl Handle for CommandPool

§

type Repr = u64

source§

const TYPE: ObjectType = ObjectType::COMMAND_POOL

source§

impl Handle for CuFunctionNVX

§

type Repr = u64

source§

const TYPE: ObjectType = ObjectType::CU_FUNCTION_NVX

source§

impl Handle for CuModuleNVX

§

type Repr = u64

source§

const TYPE: ObjectType = ObjectType::CU_MODULE_NVX

source§

impl Handle for CudaFunctionNV

§

type Repr = u64

source§

const TYPE: ObjectType = ObjectType::CUDA_FUNCTION_NV

source§

impl Handle for CudaModuleNV

§

type Repr = u64

source§

const TYPE: ObjectType = ObjectType::CUDA_MODULE_NV

source§

impl Handle for DebugReportCallbackEXT

§

type Repr = u64

source§

const TYPE: ObjectType = ObjectType::DEBUG_REPORT_CALLBACK_EXT

source§

impl Handle for DebugUtilsMessengerEXT

§

type Repr = u64

source§

const TYPE: ObjectType = ObjectType::DEBUG_UTILS_MESSENGER_EXT

source§

impl Handle for DeferredOperationKHR

§

type Repr = u64

source§

const TYPE: ObjectType = ObjectType::DEFERRED_OPERATION_KHR

source§

impl Handle for DescriptorPool

§

type Repr = u64

source§

const TYPE: ObjectType = ObjectType::DESCRIPTOR_POOL

source§

impl Handle for DescriptorSet

§

type Repr = u64

source§

const TYPE: ObjectType = ObjectType::DESCRIPTOR_SET

source§

impl Handle for DescriptorSetLayout

§

type Repr = u64

source§

const TYPE: ObjectType = ObjectType::DESCRIPTOR_SET_LAYOUT

source§

impl Handle for DescriptorUpdateTemplate

§

type Repr = u64

source§

const TYPE: ObjectType = ObjectType::DESCRIPTOR_UPDATE_TEMPLATE

source§

impl Handle for Device

§

type Repr = usize

source§

const TYPE: ObjectType = ObjectType::DEVICE

source§

impl Handle for DeviceMemory

§

type Repr = u64

source§

const TYPE: ObjectType = ObjectType::DEVICE_MEMORY

source§

impl Handle for DisplayKHR

§

type Repr = u64

source§

const TYPE: ObjectType = ObjectType::DISPLAY_KHR

source§

impl Handle for DisplayModeKHR

§

type Repr = u64

source§

const TYPE: ObjectType = ObjectType::DISPLAY_MODE_KHR

source§

impl Handle for Event

§

type Repr = u64

source§

const TYPE: ObjectType = ObjectType::EVENT

source§

impl Handle for Fence

§

type Repr = u64

source§

const TYPE: ObjectType = ObjectType::FENCE

source§

impl Handle for Framebuffer

§

type Repr = u64

source§

const TYPE: ObjectType = ObjectType::FRAMEBUFFER

source§

impl Handle for Image

§

type Repr = u64

source§

const TYPE: ObjectType = ObjectType::IMAGE

source§

impl Handle for ImageView

§

type Repr = u64

source§

const TYPE: ObjectType = ObjectType::IMAGE_VIEW

source§

impl Handle for IndirectCommandsLayoutNV

§

type Repr = u64

source§

const TYPE: ObjectType = ObjectType::INDIRECT_COMMANDS_LAYOUT_NV

source§

impl Handle for Instance

§

type Repr = usize

source§

const TYPE: ObjectType = ObjectType::INSTANCE

source§

impl Handle for MicromapEXT

§

type Repr = u64

source§

const TYPE: ObjectType = ObjectType::MICROMAP_EXT

source§

impl Handle for OpticalFlowSessionNV

§

type Repr = u64

source§

const TYPE: ObjectType = ObjectType::OPTICAL_FLOW_SESSION_NV

source§

impl Handle for PerformanceConfigurationINTEL

§

type Repr = u64

source§

const TYPE: ObjectType = ObjectType::PERFORMANCE_CONFIGURATION_INTEL

source§

impl Handle for PhysicalDevice

§

type Repr = usize

source§

const TYPE: ObjectType = ObjectType::PHYSICAL_DEVICE

source§

impl Handle for Pipeline

§

type Repr = u64

source§

const TYPE: ObjectType = ObjectType::PIPELINE

source§

impl Handle for PipelineCache

§

type Repr = u64

source§

const TYPE: ObjectType = ObjectType::PIPELINE_CACHE

source§

impl Handle for PipelineLayout

§

type Repr = u64

source§

const TYPE: ObjectType = ObjectType::PIPELINE_LAYOUT

source§

impl Handle for PrivateDataSlot

§

type Repr = u64

source§

const TYPE: ObjectType = ObjectType::PRIVATE_DATA_SLOT

source§

impl Handle for QueryPool

§

type Repr = u64

source§

const TYPE: ObjectType = ObjectType::QUERY_POOL

source§

impl Handle for Queue

§

type Repr = usize

source§

const TYPE: ObjectType = ObjectType::QUEUE

source§

impl Handle for RenderPass

§

type Repr = u64

source§

const TYPE: ObjectType = ObjectType::RENDER_PASS

source§

impl Handle for Sampler

§

type Repr = u64

source§

const TYPE: ObjectType = ObjectType::SAMPLER

source§

impl Handle for SamplerYcbcrConversion

§

type Repr = u64

source§

const TYPE: ObjectType = ObjectType::SAMPLER_YCBCR_CONVERSION

source§

impl Handle for Semaphore

§

type Repr = u64

source§

const TYPE: ObjectType = ObjectType::SEMAPHORE

source§

impl Handle for SemaphoreSciSyncPoolNV

§

type Repr = u64

source§

const TYPE: ObjectType = ObjectType::SEMAPHORE_SCI_SYNC_POOL_NV

source§

impl Handle for ShaderEXT

§

type Repr = u64

source§

const TYPE: ObjectType = ObjectType::SHADER_EXT

source§

impl Handle for ShaderModule

§

type Repr = u64

source§

const TYPE: ObjectType = ObjectType::SHADER_MODULE

source§

impl Handle for SurfaceKHR

§

type Repr = u64

source§

const TYPE: ObjectType = ObjectType::SURFACE_KHR

source§

impl Handle for SwapchainKHR

§

type Repr = u64

source§

const TYPE: ObjectType = ObjectType::SWAPCHAIN_KHR

source§

impl Handle for ValidationCacheEXT

§

type Repr = u64

source§

const TYPE: ObjectType = ObjectType::VALIDATION_CACHE_EXT

source§

impl Handle for VideoSessionKHR

§

type Repr = u64

source§

const TYPE: ObjectType = ObjectType::VIDEO_SESSION_KHR

source§

impl Handle for VideoSessionParametersKHR

§

type Repr = u64

source§

const TYPE: ObjectType = ObjectType::VIDEO_SESSION_PARAMETERS_KHR