[−][src]Struct runestick::Ref
A strong reference to the given type.
Implementations
impl<T: ?Sized> Ref<T>
[src]
pub fn map<U: ?Sized, F>(this: Self, f: F) -> Ref<U> where
F: FnOnce(&T) -> &U,
[src]
F: FnOnce(&T) -> &U,
Map the interior reference of an owned mutable value.
Examples
use runestick::{Ref, Shared}; let vec = Shared::<Vec<u32>>::new(vec![1, 2, 3, 4]); let vec = vec.into_ref()?; let value: Ref<[u32]> = Ref::map(vec, |vec| &vec[0..2]); assert_eq!(&*value, &[1u32, 2u32][..]);
pub fn try_map<U: ?Sized, F>(this: Self, f: F) -> Option<Ref<U>> where
F: FnOnce(&T) -> Option<&U>,
[src]
F: FnOnce(&T) -> Option<&U>,
Try to map the reference to a projection.
Examples
use runestick::{Ref, Shared}; let vec = Shared::<Vec<u32>>::new(vec![1, 2, 3, 4]); let vec = vec.into_ref()?; let value: Option<Ref<[u32]>> = Ref::try_map(vec, |vec| vec.get(0..2)); assert_eq!(value.as_deref(), Some(&[1u32, 2u32][..]));
pub fn into_raw(this: Self) -> (*const T, RawRef)
[src]
Convert into a raw pointer and associated raw access guard.
Safety
The returned pointer must not outlive the associated guard, since this prevents other uses of the underlying data which is incompatible with the current.
Trait Implementations
impl<T: ?Sized> Debug for Ref<T> where
T: Debug,
[src]
T: Debug,
impl<T: ?Sized> Deref for Ref<T>
[src]
impl<T> FromValue for Ref<T> where
T: Any,
[src]
T: Any,
pub fn from_value(value: Value) -> Result<Self, VmError>
[src]
impl FromValue for Ref<String>
[src]
pub fn from_value(value: Value) -> Result<Self, VmError>
[src]
impl FromValue for Ref<Function>
[src]
pub fn from_value(value: Value) -> Result<Self, VmError>
[src]
impl FromValue for Ref<Object>
[src]
pub fn from_value(value: Value) -> Result<Self, VmError>
[src]
impl FromValue for Ref<Range>
[src]
pub fn from_value(value: Value) -> Result<Self, VmError>
[src]
impl FromValue for Ref<Tuple>
[src]
pub fn from_value(value: Value) -> Result<Self, VmError>
[src]
impl FromValue for Ref<Vec>
[src]
pub fn from_value(value: Value) -> Result<Self, VmError>
[src]
impl<T: ?Sized> TypeOf for Ref<T> where
T: TypeOf,
[src]
T: TypeOf,
Blanket implementation for owned references.
Auto Trait Implementations
impl<T> !RefUnwindSafe for Ref<T>
[src]
impl<T> !Send for Ref<T>
[src]
impl<T> !Sync for Ref<T>
[src]
impl<T: ?Sized> Unpin for Ref<T>
[src]
impl<T> !UnwindSafe for Ref<T>
[src]
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,