Struct bones_schema::ptr::SchemaRef
source · pub struct SchemaRef<'pointer> { /* private fields */ }
Expand description
An untyped reference that knows the Schema
of the pointee and that can be cast to a matching
type.
Implementations§
source§impl<'pointer> SchemaRef<'pointer>
impl<'pointer> SchemaRef<'pointer>
sourcepub unsafe fn cast_unchecked<T>(&self) -> &T
pub unsafe fn cast_unchecked<T>(&self) -> &T
Unsafely cast this pointer to a specifc Rust type.
§Safety
All of the safety requirements of NonNull::as_ref()
must be met.
sourcepub unsafe fn cast_into_unchecked<T>(self) -> &'pointer T
pub unsafe fn cast_into_unchecked<T>(self) -> &'pointer T
Unsafely cast this pointer to a specifc Rust type.
§Safety
All of the safety requirements of NonNull::as_ref()
must be met.
sourcepub fn cast<T: HasSchema>(&self) -> &'pointer T
pub fn cast<T: HasSchema>(&self) -> &'pointer T
sourcepub fn try_cast<T: HasSchema>(&self) -> Result<&'pointer T, SchemaMismatchError>
pub fn try_cast<T: HasSchema>(&self) -> Result<&'pointer T, SchemaMismatchError>
sourcepub fn new<T: HasSchema>(v: &'pointer T) -> SchemaRef<'pointer>
pub fn new<T: HasSchema>(v: &'pointer T) -> SchemaRef<'pointer>
sourcepub unsafe fn from_ptr_schema(
ptr: *const c_void,
schema: &'static Schema,
) -> Self
pub unsafe fn from_ptr_schema( ptr: *const c_void, schema: &'static Schema, ) -> Self
sourcepub fn as_map(&self) -> Option<&'pointer SchemaMap>
pub fn as_map(&self) -> Option<&'pointer SchemaMap>
Borrow the schema ref as a SchemaMap
if it is one.
sourcepub fn as_vec(&self) -> Option<&'pointer SchemaVec>
pub fn as_vec(&self) -> Option<&'pointer SchemaVec>
Borrow the schema ref as a SchemaVec
if it is one.
sourcepub fn as_box(&self) -> Option<SchemaRef<'pointer>>
pub fn as_box(&self) -> Option<SchemaRef<'pointer>>
Borrow the schema ref as a SchemaBox
if it is one.
sourcepub fn debug_format_value(&self, f: &mut Formatter<'_>) -> Result
pub fn debug_format_value(&self, f: &mut Formatter<'_>) -> Result
Debug format the value stored in the schema box.
This is used in the display and debug implementations.
sourcepub fn access(self) -> SchemaRefAccess<'pointer>
pub fn access(self) -> SchemaRefAccess<'pointer>
Get a helper to access the inner data.
sourcepub fn field<'a, I: Into<FieldIdx<'a>>>(
self,
field_idx: I,
) -> Option<SchemaRef<'pointer>>
pub fn field<'a, I: Into<FieldIdx<'a>>>( self, field_idx: I, ) -> Option<SchemaRef<'pointer>>
Get the reference to a field.
sourcepub fn field_path<'a, I: IntoIterator<Item = FieldIdx<'a>>>(
self,
path: I,
) -> Option<Self>
pub fn field_path<'a, I: IntoIterator<Item = FieldIdx<'a>>>( self, path: I, ) -> Option<Self>
Get the field pointed to by the given path.
sourcepub fn clone_into_box(&self) -> SchemaBox
pub fn clone_into_box(&self) -> SchemaBox
Clone this schema ref into a new box.
Trait Implementations§
source§impl<'a> From<SchemaRef<'a>> for PrimitiveRef<'a>
impl<'a> From<SchemaRef<'a>> for PrimitiveRef<'a>
impl<'pointer> Copy for SchemaRef<'pointer>
Auto Trait Implementations§
impl<'pointer> Freeze for SchemaRef<'pointer>
impl<'pointer> !RefUnwindSafe for SchemaRef<'pointer>
impl<'pointer> !Send for SchemaRef<'pointer>
impl<'pointer> !Sync for SchemaRef<'pointer>
impl<'pointer> Unpin for SchemaRef<'pointer>
impl<'pointer> !UnwindSafe for SchemaRef<'pointer>
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
source§impl<T> CloneToUninit for Twhere
T: Copy,
impl<T> CloneToUninit for Twhere
T: Copy,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)