pub struct ValueReference {
pub value_container: ValueContainer,
pub pointer_address: Option<PointerAddress>,
pub allowed_type: TypeDefinition,
pub observers: FreeHashMap<u32, Observer>,
pub mutability: ReferenceMutability,
}Fields§
§value_container: ValueContainerthe value that this reference points to
pointer_address: Option<PointerAddress>pointer id, can be initialized as None for local pointers
allowed_type: TypeDefinitioncustom type for the pointer that the Datex value is allowed to reference
observers: FreeHashMap<u32, Observer>list of observer callbacks
mutability: ReferenceMutabilityImplementations§
Source§impl ValueReference
impl ValueReference
pub fn new( value_container: ValueContainer, pointer_address: Option<PointerAddress>, allowed_type: TypeDefinition, mutability: ReferenceMutability, ) -> Self
Source§impl ValueReference
impl ValueReference
pub fn pointer_address(&self) -> &Option<PointerAddress>
pub fn current_value_container(&self) -> &ValueContainer
pub fn resolve_current_value(&self) -> Rc<RefCell<Value>>
pub fn is_mutable(&self) -> bool
Trait Implementations§
Source§impl Debug for ValueReference
impl Debug for ValueReference
Source§impl Default for ValueReference
impl Default for ValueReference
Source§impl From<ValueReference> for Reference
impl From<ValueReference> for Reference
Source§fn from(reference: ValueReference) -> Self
fn from(reference: ValueReference) -> Self
Converts to this type from the input type.
Source§impl PartialEq for ValueReference
impl PartialEq for ValueReference
Auto Trait Implementations§
impl Freeze for ValueReference
impl !RefUnwindSafe for ValueReference
impl !Send for ValueReference
impl !Sync for ValueReference
impl Unpin for ValueReference
impl !UnwindSafe for ValueReference
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more