Trait bevy_internal::utils::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§

source§

impl Pointer for GpaSessionAmd

source§

impl Pointer for AccelerationStructureKHR

source§

impl Pointer for AccelerationStructureNV

source§

impl Pointer for Buffer

source§

impl Pointer for BufferCollectionFUCHSIA

source§

impl Pointer for BufferView

source§

impl Pointer for CommandBuffer

source§

impl Pointer for CommandPool

source§

impl Pointer for CuFunctionNVX

source§

impl Pointer for CuModuleNVX

source§

impl Pointer for DebugReportCallbackEXT

source§

impl Pointer for DebugUtilsMessengerEXT

source§

impl Pointer for DeferredOperationKHR

source§

impl Pointer for DescriptorPool

source§

impl Pointer for DescriptorSet

source§

impl Pointer for DescriptorSetLayout

source§

impl Pointer for DescriptorUpdateTemplate

source§

impl Pointer for Device

source§

impl Pointer for DeviceMemory

source§

impl Pointer for DisplayKHR

source§

impl Pointer for DisplayModeKHR

source§

impl Pointer for Event

source§

impl Pointer for Fence

source§

impl Pointer for Framebuffer

source§

impl Pointer for Image

source§

impl Pointer for ImageView

source§

impl Pointer for IndirectCommandsLayoutNV

source§

impl Pointer for Instance

source§

impl Pointer for MicromapEXT

source§

impl Pointer for OpticalFlowSessionNV

source§

impl Pointer for PerformanceConfigurationINTEL

source§

impl Pointer for PhysicalDevice

source§

impl Pointer for Pipeline

source§

impl Pointer for PipelineCache

source§

impl Pointer for PipelineLayout

source§

impl Pointer for PrivateDataSlot

source§

impl Pointer for QueryPool

source§

impl Pointer for Queue

source§

impl Pointer for RenderPass

source§

impl Pointer for Sampler

source§

impl Pointer for SamplerYcbcrConversion

source§

impl Pointer for Semaphore

source§

impl Pointer for ShaderEXT

source§

impl Pointer for ShaderModule

source§

impl Pointer for SurfaceKHR

source§

impl Pointer for SwapchainKHR

source§

impl Pointer for ValidationCacheEXT

source§

impl Pointer for VideoSessionKHR

source§

impl Pointer for VideoSessionParametersKHR

source§

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

source§

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

source§

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

source§

impl<A> Pointer for OwningPtr<'_, A>
where A: IsAligned,

source§

impl<A> Pointer for Ptr<'_, A>
where A: IsAligned,

source§

impl<A> Pointer for PtrMut<'_, A>
where A: IsAligned,

1.4.0 · source§

impl<F> Pointer for F
where F: FnPtr,

1.33.0 · source§

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

source§

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

source§

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

source§

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

source§

impl<T> Pointer for &mut T
where 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>

source§

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

source§

impl<T, A> Pointer for bevy_internal::utils::smallvec::alloc::boxed::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,