Trait partial_ref::HasPart [−][src]
pub trait HasPart<SomePart: Part>: PartialRefTarget { unsafe fn part_ptr(
ptr: *const Self::RawTarget
) -> <SomePart::PartType as PartType>::Ptr; unsafe fn part_ptr_mut(
ptr: *mut Self::RawTarget
) -> <SomePart::PartType as PartType>::PtrMut; }
Expand description
Implemented when a reference target has a part.
This trait provides methods for unchecked access to a part of a reference target. Implementations for this are automatically created when deriving PartialRefTarget.
Required methods
Given a constant pointer to a target, produce a constant pointer to a part of it.
Safety
Implementations may construct a temporary reference to ptr, which thus must be valid.
Implementors
impl<Reference, Outer, OuterFieldType, Inner> HasPart<Nested<Outer, Inner>> for Reference where
Reference: ?Sized,
Reference: HasPart<Outer>,
Outer: Part<PartType = Field<OuterFieldType>>,
Inner: Part,
OuterFieldType: ?Sized,
OuterFieldType: HasPart<Inner>,
OuterFieldType: PartialRefTarget<RawTarget = OuterFieldType>,