Trait comfy_wgpu::smallvec::alloc::fmt::Pointer

1.0.0 · source ·
pub trait Pointer {
    // Required method
    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>;
}
Expand description

p formatting.

The Pointer trait should format its output as a memory location. This is commonly presented as hexadecimal.

For more information on formatters, see the module-level documentation.

Examples

Basic usage with &i32:

let x = &42;

let address = format!("{x:p}"); // this produces something like '0x7f06092ac6d0'

Implementing Pointer on a type:

use std::fmt;

struct Length(i32);

impl fmt::Pointer for Length {
    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
        // use `as` to convert to a `*const T`, which implements Pointer, which we can use

        let ptr = self as *const Self;
        fmt::Pointer::fmt(&ptr, f)
    }
}

let l = Length(42);

println!("l is in memory here: {l:p}");

let l_ptr = format!("{l:018p}");
assert_eq!(l_ptr.len(), 18);
assert_eq!(&l_ptr[..2], "0x");

Required Methods§

source

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter.

Implementors§

§

impl Pointer for AccelerationStructureKHR

§

impl Pointer for AccelerationStructureNV

§

impl Pointer for Buffer

§

impl Pointer for BufferCollectionFUCHSIA

§

impl Pointer for BufferView

§

impl Pointer for CommandBuffer

§

impl Pointer for CommandPool

§

impl Pointer for CuFunctionNVX

§

impl Pointer for CuModuleNVX

§

impl Pointer for DebugReportCallbackEXT

§

impl Pointer for DebugUtilsMessengerEXT

§

impl Pointer for DeferredOperationKHR

§

impl Pointer for DescriptorPool

§

impl Pointer for DescriptorSet

§

impl Pointer for DescriptorSetLayout

§

impl Pointer for DescriptorUpdateTemplate

§

impl Pointer for Device

§

impl Pointer for DeviceMemory

§

impl Pointer for DisplayKHR

§

impl Pointer for DisplayModeKHR

§

impl Pointer for Event

§

impl Pointer for Fence

§

impl Pointer for Framebuffer

§

impl Pointer for GpaSessionAmd

§

impl Pointer for Image

§

impl Pointer for ImageView

§

impl Pointer for IndirectCommandsLayoutNV

§

impl Pointer for Instance

§

impl Pointer for MicromapEXT

§

impl Pointer for OpticalFlowSessionNV

§

impl Pointer for PerformanceConfigurationINTEL

§

impl Pointer for PhysicalDevice

§

impl Pointer for Pipeline

§

impl Pointer for PipelineCache

§

impl Pointer for PipelineLayout

§

impl Pointer for PrivateDataSlot

§

impl Pointer for QueryPool

§

impl Pointer for Queue

§

impl Pointer for RenderPass

§

impl Pointer for Sampler

§

impl Pointer for SamplerYcbcrConversion

§

impl Pointer for Semaphore

§

impl Pointer for ShaderEXT

§

impl Pointer for ShaderModule

§

impl Pointer for SurfaceKHR

§

impl Pointer for SwapchainKHR

§

impl Pointer for ValidationCacheEXT

§

impl Pointer for VideoSessionKHR

§

impl Pointer for VideoSessionParametersKHR

source§

impl<'a, I> Pointer for Format<'a, I>where I: Iterator, <I as Iterator>::Item: Pointer,

§

impl<'a, T> Pointer for StyledValue<'a, T>where T: Pointer,

§

impl<'s, T> Pointer for SliceVec<'s, T>where T: Pointer,

§

impl<A> Pointer for ArrayVec<A>where A: Array, <A as Array>::Item: Pointer,

1.4.0 · source§

impl<F> Pointer for Fwhere F: FnPtr,

1.33.0 · source§

impl<P> Pointer for Pin<P>where P: Pointer,

source§

impl<T> Pointer for *const Twhere T: ?Sized,

source§

impl<T> Pointer for *mut Twhere T: ?Sized,

source§

impl<T> Pointer for &Twhere T: ?Sized,

source§

impl<T> Pointer for &mut Twhere T: ?Sized,

1.25.0 · source§

impl<T> Pointer for NonNull<T>where T: ?Sized,

1.24.0 · source§

impl<T> Pointer for AtomicPtr<T>

§

impl<T> Pointer for Atomic<T>where T: Pointable + ?Sized,

§

impl<T> Pointer for Shared<'_, T>where T: Pointable + ?Sized,

source§

impl<T, A> Pointer for Box<T, A>where A: Allocator, T: ?Sized,

source§

impl<T, A> Pointer for Rc<T, A>where A: Allocator, T: ?Sized,

source§

impl<T, A> Pointer for Arc<T, A>where A: Allocator, T: ?Sized,