pub enum ValueContainer {
Value(Value),
Reference(Reference),
}Variants§
Implementations§
Source§impl ValueContainer
impl ValueContainer
pub fn to_value(&self) -> Rc<RefCell<Value>>
pub fn is_type(&self) -> bool
Sourcepub fn actual_value_type(&self) -> TypeDefinition
pub fn actual_value_type(&self) -> TypeDefinition
Returns the actual type of the contained value, resolving references if necessary.
Sourcepub fn actual_container_type(&self) -> Type
pub fn actual_container_type(&self) -> Type
Returns the actual type that describes the value container (e.g. integer or &&mut integer).
pub fn new_value<T: Into<Value>>(value: T) -> ValueContainer
pub fn new_reference<T: Into<Reference>>(value: T) -> ValueContainer
Sourcepub fn cast_to_deserializable<T: DeserializeOwned>(
&self,
) -> Result<T, DeserializationError>
pub fn cast_to_deserializable<T: DeserializeOwned>( &self, ) -> Result<T, DeserializationError>
Casts the contained Value or Reference to the desired type T using serde deserialization.
Sourcepub fn from_serializable<T: Serialize>(
value: &T,
) -> Result<ValueContainer, SerializationError>
pub fn from_serializable<T: Serialize>( value: &T, ) -> Result<ValueContainer, SerializationError>
Creates a ValueContainer from a serializable value T using serde serialization.
Sourcepub fn maybe_reference(&self) -> Option<&Reference>
pub fn maybe_reference(&self) -> Option<&Reference>
Returns the contained Reference if it is a Reference, otherwise returns None.
Sourcepub fn with_maybe_reference<F, R>(&self, f: F) -> Option<R>
pub fn with_maybe_reference<F, R>(&self, f: F) -> Option<R>
Runs a closure with the contained Reference if it is a Reference, otherwise returns None.
Sourcepub fn reference_unchecked(&self) -> &Reference
pub fn reference_unchecked(&self) -> &Reference
Returns a reference to the contained Reference, panics if it is not a Reference.
Sourcepub fn try_get_property<'a>(
&self,
key: impl Into<ValueKey<'a>>,
) -> Result<ValueContainer, AccessError>
pub fn try_get_property<'a>( &self, key: impl Into<ValueKey<'a>>, ) -> Result<ValueContainer, AccessError>
Tries to get a property from the contained Value or Reference.
pub fn try_set_property<'a>( &mut self, source_id: TransceiverId, dif_update_data_or_memory: impl Into<DIFUpdateDataOrMemory<'a>>, key: impl Into<ValueKey<'a>>, val: ValueContainer, ) -> Result<(), AccessError>
Trait Implementations§
Source§impl Add<&ValueContainer> for &ValueContainer
impl Add<&ValueContainer> for &ValueContainer
Source§type Output = Result<ValueContainer, ValueError>
type Output = Result<ValueContainer, ValueError>
+ operator.Source§impl Add for ValueContainer
impl Add for ValueContainer
Source§type Output = Result<ValueContainer, ValueError>
type Output = Result<ValueContainer, ValueError>
+ operator.Source§impl Apply for ValueContainer
impl Apply for ValueContainer
Source§fn apply(
&self,
args: &[ValueContainer],
) -> Result<Option<ValueContainer>, ExecutionError>
fn apply( &self, args: &[ValueContainer], ) -> Result<Option<ValueContainer>, ExecutionError>
Source§fn apply_single(
&self,
arg: &ValueContainer,
) -> Result<Option<ValueContainer>, ExecutionError>
fn apply_single( &self, arg: &ValueContainer, ) -> Result<Option<ValueContainer>, ExecutionError>
Source§impl Clone for ValueContainer
impl Clone for ValueContainer
Source§fn clone(&self) -> ValueContainer
fn clone(&self) -> ValueContainer
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ValueContainer
impl Debug for ValueContainer
Source§impl<'a> Deserialize<'a> for ValueContainer
impl<'a> Deserialize<'a> for ValueContainer
Source§fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'a>,
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'a>,
Source§impl Display for ValueContainer
impl Display for ValueContainer
Source§impl<'a> From<&'a ValueContainer> for ValueKey<'a>
impl<'a> From<&'a ValueContainer> for ValueKey<'a>
Source§fn from(value_container: &'a ValueContainer) -> Self
fn from(value_container: &'a ValueContainer) -> Self
Source§impl<'a> From<BorrowedMapKey<'a>> for ValueContainer
impl<'a> From<BorrowedMapKey<'a>> for ValueContainer
Source§fn from(key: BorrowedMapKey<'_>) -> Self
fn from(key: BorrowedMapKey<'_>) -> Self
Source§impl From<MapKey> for ValueContainer
impl From<MapKey> for ValueContainer
Source§impl<'a> From<ValueKey<'a>> for ValueContainer
impl<'a> From<ValueKey<'a>> for ValueContainer
Source§impl Hash for ValueContainer
impl Hash for ValueContainer
Source§impl Identity for ValueContainer
Identity checks only returns true if two references are identical.
Values are never identical to references or other values.
impl Identity for ValueContainer
Identity checks only returns true if two references are identical. Values are never identical to references or other values.
Source§impl Neg for ValueContainer
impl Neg for ValueContainer
Source§impl PartialEq for ValueContainer
Partial equality for ValueContainer is identical to Hash behavior:
Identical references are partially equal, value-equal values are also partially equal.
A pointer and a value are never partially equal.
impl PartialEq for ValueContainer
Partial equality for ValueContainer is identical to Hash behavior: Identical references are partially equal, value-equal values are also partially equal. A pointer and a value are never partially equal.
Source§impl Serialize for ValueContainer
impl Serialize for ValueContainer
Source§impl StructuralEq for ValueContainer
Structural equality checks the structural equality of the underlying values, collapsing
references to their current resolved values.
impl StructuralEq for ValueContainer
Structural equality checks the structural equality of the underlying values, collapsing references to their current resolved values.
Source§fn structural_eq(&self, other: &Self) -> bool
fn structural_eq(&self, other: &Self) -> bool
Source§impl Sub<&ValueContainer> for &ValueContainer
impl Sub<&ValueContainer> for &ValueContainer
Source§type Output = Result<ValueContainer, ValueError>
type Output = Result<ValueContainer, ValueError>
- operator.Source§impl Sub for ValueContainer
impl Sub for ValueContainer
Source§type Output = Result<ValueContainer, ValueError>
type Output = Result<ValueContainer, ValueError>
- operator.Source§impl ValueEq for ValueContainer
Value equality checks the value equality of the underlying values, collapsing
references to their current resolved values.
impl ValueEq for ValueContainer
Value equality checks the value equality of the underlying values, collapsing references to their current resolved values.
impl Eq for ValueContainer
Auto Trait Implementations§
impl Freeze for ValueContainer
impl !RefUnwindSafe for ValueContainer
impl !Send for ValueContainer
impl !Sync for ValueContainer
impl Unpin for ValueContainer
impl UnsafeUnpin for ValueContainer
impl !UnwindSafe for ValueContainer
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.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>
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>
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