Enum soroban_env_host::xdr::ScVal
[−]pub enum ScVal {
U63(i64),
U32(u32),
I32(i32),
Static(ScStatic),
Object(Option<ScObject>),
Symbol(VecM<u8, 10>),
Bitset(u64),
Status(ScStatus),
}
Variants
U63(i64)
U32(u32)
I32(i32)
Static(ScStatic)
Object(Option<ScObject>)
Symbol(VecM<u8, 10>)
Bitset(u64)
Status(ScStatus)
Implementations
Trait Implementations
impl<'de> Deserialize<'de> for ScVal
impl<'de> Deserialize<'de> for ScVal
fn deserialize<__D>(
__deserializer: __D
) -> Result<ScVal, <__D as Deserializer<'de>>::Error> where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D
) -> Result<ScVal, <__D as Deserializer<'de>>::Error> where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl Discriminant<ScValType> for ScVal
impl Discriminant<ScValType> for ScVal
fn discriminant(&self) -> ScValType
impl Ord for ScVal
impl Ord for ScVal
1.21.0 · sourcefn max(self, other: Self) -> Self
fn max(self, other: Self) -> Self
Compares and returns the maximum of two values. Read more
1.21.0 · sourcefn min(self, other: Self) -> Self
fn min(self, other: Self) -> Self
Compares and returns the minimum of two values. Read more
1.50.0 · sourcefn clamp(self, min: Self, max: Self) -> Self where
Self: PartialOrd<Self>,
fn clamp(self, min: Self, max: Self) -> Self where
Self: PartialOrd<Self>,
Restrict a value to a certain interval. Read more
impl PartialOrd<ScVal> for ScVal
impl PartialOrd<ScVal> for ScVal
fn partial_cmp(&self, other: &ScVal) -> Option<Ordering>
fn partial_cmp(&self, other: &ScVal) -> Option<Ordering>
This method returns an ordering between self
and other
values if one exists. Read more
1.0.0 · sourcefn lt(&self, other: &Rhs) -> bool
fn lt(&self, other: &Rhs) -> bool
This method tests less than (for self
and other
) and is used by the <
operator. Read more
1.0.0 · sourcefn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
This method tests less than or equal to (for self
and other
) and is used by the <=
operator. Read more
impl ReadXdr for ScVal
impl ReadXdr for ScVal
fn read_xdr(r: &mut impl Read) -> Result<ScVal, Error>
fn read_xdr_into(&mut self, r: &mut impl Read) -> Result<(), Error>
fn read_xdr_iter<R>(r: &mut R) -> ReadXdrIter<'_, R, Self>ⓘNotable traits for ReadXdrIter<'r, R, S>impl<'r, R, S> Iterator for ReadXdrIter<'r, R, S> where
R: Read,
S: ReadXdr, type Item = Result<S, Error>;
where
R: Read,
R: Read,
S: ReadXdr, type Item = Result<S, Error>;
fn from_xdr<B>(bytes: B) -> Result<Self, Error> where
B: AsRef<[u8]>,
impl Serialize for ScVal
impl Serialize for ScVal
fn serialize<__S>(
&self,
__serializer: __S
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error> where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error> where
__S: Serializer,
Serialize this value into the given Serde serializer. Read more
impl<'a, T> TryFrom<&'a Vec<T, Global>> for ScVal where
T: TryInto<ScVal>,
ScObject: TryFrom<&'a Vec<T, Global>>,
impl<'a, T> TryFrom<&'a Vec<T, Global>> for ScVal where
T: TryInto<ScVal>,
ScObject: TryFrom<&'a Vec<T, Global>>,
impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> TryFrom<(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)> for ScVal where
T0: TryInto<ScVal>,
T1: TryInto<ScVal>,
T2: TryInto<ScVal>,
T3: TryInto<ScVal>,
T4: TryInto<ScVal>,
T5: TryInto<ScVal>,
T6: TryInto<ScVal>,
T7: TryInto<ScVal>,
T8: TryInto<ScVal>,
T9: TryInto<ScVal>,
T10: TryInto<ScVal>,
T11: TryInto<ScVal>,
impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> TryFrom<(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)> for ScVal where
T0: TryInto<ScVal>,
T1: TryInto<ScVal>,
T2: TryInto<ScVal>,
T3: TryInto<ScVal>,
T4: TryInto<ScVal>,
T5: TryInto<ScVal>,
T6: TryInto<ScVal>,
T7: TryInto<ScVal>,
T8: TryInto<ScVal>,
T9: TryInto<ScVal>,
T10: TryInto<ScVal>,
T11: TryInto<ScVal>,
fn try_from(
v: (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)
) -> Result<ScVal, <ScVal as TryFrom<(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)>>::Error>
fn try_from(
v: (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)
) -> Result<ScVal, <ScVal as TryFrom<(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)>>::Error>
Performs the conversion.
impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> TryFrom<(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)> for ScVal where
T0: TryInto<ScVal>,
T1: TryInto<ScVal>,
T2: TryInto<ScVal>,
T3: TryInto<ScVal>,
T4: TryInto<ScVal>,
T5: TryInto<ScVal>,
T6: TryInto<ScVal>,
T7: TryInto<ScVal>,
T8: TryInto<ScVal>,
T9: TryInto<ScVal>,
T10: TryInto<ScVal>,
impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> TryFrom<(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)> for ScVal where
T0: TryInto<ScVal>,
T1: TryInto<ScVal>,
T2: TryInto<ScVal>,
T3: TryInto<ScVal>,
T4: TryInto<ScVal>,
T5: TryInto<ScVal>,
T6: TryInto<ScVal>,
T7: TryInto<ScVal>,
T8: TryInto<ScVal>,
T9: TryInto<ScVal>,
T10: TryInto<ScVal>,
fn try_from(
v: (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)
) -> Result<ScVal, <ScVal as TryFrom<(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)>>::Error>
fn try_from(
v: (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)
) -> Result<ScVal, <ScVal as TryFrom<(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)>>::Error>
Performs the conversion.
impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9> TryFrom<(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9)> for ScVal where
T0: TryInto<ScVal>,
T1: TryInto<ScVal>,
T2: TryInto<ScVal>,
T3: TryInto<ScVal>,
T4: TryInto<ScVal>,
T5: TryInto<ScVal>,
T6: TryInto<ScVal>,
T7: TryInto<ScVal>,
T8: TryInto<ScVal>,
T9: TryInto<ScVal>,
impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9> TryFrom<(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9)> for ScVal where
T0: TryInto<ScVal>,
T1: TryInto<ScVal>,
T2: TryInto<ScVal>,
T3: TryInto<ScVal>,
T4: TryInto<ScVal>,
T5: TryInto<ScVal>,
T6: TryInto<ScVal>,
T7: TryInto<ScVal>,
T8: TryInto<ScVal>,
T9: TryInto<ScVal>,
fn try_from(
v: (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9)
) -> Result<ScVal, <ScVal as TryFrom<(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9)>>::Error>
fn try_from(
v: (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9)
) -> Result<ScVal, <ScVal as TryFrom<(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9)>>::Error>
Performs the conversion.
impl<T0, T1, T2, T3, T4, T5, T6, T7, T8> TryFrom<(T0, T1, T2, T3, T4, T5, T6, T7, T8)> for ScVal where
T0: TryInto<ScVal>,
T1: TryInto<ScVal>,
T2: TryInto<ScVal>,
T3: TryInto<ScVal>,
T4: TryInto<ScVal>,
T5: TryInto<ScVal>,
T6: TryInto<ScVal>,
T7: TryInto<ScVal>,
T8: TryInto<ScVal>,
impl<T0, T1, T2, T3, T4, T5, T6, T7, T8> TryFrom<(T0, T1, T2, T3, T4, T5, T6, T7, T8)> for ScVal where
T0: TryInto<ScVal>,
T1: TryInto<ScVal>,
T2: TryInto<ScVal>,
T3: TryInto<ScVal>,
T4: TryInto<ScVal>,
T5: TryInto<ScVal>,
T6: TryInto<ScVal>,
T7: TryInto<ScVal>,
T8: TryInto<ScVal>,
fn try_from(
v: (T0, T1, T2, T3, T4, T5, T6, T7, T8)
) -> Result<ScVal, <ScVal as TryFrom<(T0, T1, T2, T3, T4, T5, T6, T7, T8)>>::Error>
fn try_from(
v: (T0, T1, T2, T3, T4, T5, T6, T7, T8)
) -> Result<ScVal, <ScVal as TryFrom<(T0, T1, T2, T3, T4, T5, T6, T7, T8)>>::Error>
Performs the conversion.
impl<T0, T1, T2, T3, T4, T5, T6, T7> TryFrom<(T0, T1, T2, T3, T4, T5, T6, T7)> for ScVal where
T0: TryInto<ScVal>,
T1: TryInto<ScVal>,
T2: TryInto<ScVal>,
T3: TryInto<ScVal>,
T4: TryInto<ScVal>,
T5: TryInto<ScVal>,
T6: TryInto<ScVal>,
T7: TryInto<ScVal>,
impl<T0, T1, T2, T3, T4, T5, T6, T7> TryFrom<(T0, T1, T2, T3, T4, T5, T6, T7)> for ScVal where
T0: TryInto<ScVal>,
T1: TryInto<ScVal>,
T2: TryInto<ScVal>,
T3: TryInto<ScVal>,
T4: TryInto<ScVal>,
T5: TryInto<ScVal>,
T6: TryInto<ScVal>,
T7: TryInto<ScVal>,
fn try_from(
v: (T0, T1, T2, T3, T4, T5, T6, T7)
) -> Result<ScVal, <ScVal as TryFrom<(T0, T1, T2, T3, T4, T5, T6, T7)>>::Error>
fn try_from(
v: (T0, T1, T2, T3, T4, T5, T6, T7)
) -> Result<ScVal, <ScVal as TryFrom<(T0, T1, T2, T3, T4, T5, T6, T7)>>::Error>
Performs the conversion.
impl<T0, T1, T2, T3, T4, T5, T6> TryFrom<(T0, T1, T2, T3, T4, T5, T6)> for ScVal where
T0: TryInto<ScVal>,
T1: TryInto<ScVal>,
T2: TryInto<ScVal>,
T3: TryInto<ScVal>,
T4: TryInto<ScVal>,
T5: TryInto<ScVal>,
T6: TryInto<ScVal>,
impl<T0, T1, T2, T3, T4, T5, T6> TryFrom<(T0, T1, T2, T3, T4, T5, T6)> for ScVal where
T0: TryInto<ScVal>,
T1: TryInto<ScVal>,
T2: TryInto<ScVal>,
T3: TryInto<ScVal>,
T4: TryInto<ScVal>,
T5: TryInto<ScVal>,
T6: TryInto<ScVal>,
fn try_from(
v: (T0, T1, T2, T3, T4, T5, T6)
) -> Result<ScVal, <ScVal as TryFrom<(T0, T1, T2, T3, T4, T5, T6)>>::Error>
fn try_from(
v: (T0, T1, T2, T3, T4, T5, T6)
) -> Result<ScVal, <ScVal as TryFrom<(T0, T1, T2, T3, T4, T5, T6)>>::Error>
Performs the conversion.
impl<T0, T1, T2, T3, T4, T5> TryFrom<(T0, T1, T2, T3, T4, T5)> for ScVal where
T0: TryInto<ScVal>,
T1: TryInto<ScVal>,
T2: TryInto<ScVal>,
T3: TryInto<ScVal>,
T4: TryInto<ScVal>,
T5: TryInto<ScVal>,
impl<T0, T1, T2, T3, T4, T5> TryFrom<(T0, T1, T2, T3, T4, T5)> for ScVal where
T0: TryInto<ScVal>,
T1: TryInto<ScVal>,
T2: TryInto<ScVal>,
T3: TryInto<ScVal>,
T4: TryInto<ScVal>,
T5: TryInto<ScVal>,
fn try_from(
v: (T0, T1, T2, T3, T4, T5)
) -> Result<ScVal, <ScVal as TryFrom<(T0, T1, T2, T3, T4, T5)>>::Error>
fn try_from(
v: (T0, T1, T2, T3, T4, T5)
) -> Result<ScVal, <ScVal as TryFrom<(T0, T1, T2, T3, T4, T5)>>::Error>
Performs the conversion.
impl<T0, T1, T2, T3, T4> TryFrom<(T0, T1, T2, T3, T4)> for ScVal where
T0: TryInto<ScVal>,
T1: TryInto<ScVal>,
T2: TryInto<ScVal>,
T3: TryInto<ScVal>,
T4: TryInto<ScVal>,
impl<T0, T1, T2, T3, T4> TryFrom<(T0, T1, T2, T3, T4)> for ScVal where
T0: TryInto<ScVal>,
T1: TryInto<ScVal>,
T2: TryInto<ScVal>,
T3: TryInto<ScVal>,
T4: TryInto<ScVal>,
fn try_from(
v: (T0, T1, T2, T3, T4)
) -> Result<ScVal, <ScVal as TryFrom<(T0, T1, T2, T3, T4)>>::Error>
fn try_from(
v: (T0, T1, T2, T3, T4)
) -> Result<ScVal, <ScVal as TryFrom<(T0, T1, T2, T3, T4)>>::Error>
Performs the conversion.
impl<T0, T1, T2, T3> TryFrom<(T0, T1, T2, T3)> for ScVal where
T0: TryInto<ScVal>,
T1: TryInto<ScVal>,
T2: TryInto<ScVal>,
T3: TryInto<ScVal>,
impl<T0, T1, T2, T3> TryFrom<(T0, T1, T2, T3)> for ScVal where
T0: TryInto<ScVal>,
T1: TryInto<ScVal>,
T2: TryInto<ScVal>,
T3: TryInto<ScVal>,
fn try_from(
v: (T0, T1, T2, T3)
) -> Result<ScVal, <ScVal as TryFrom<(T0, T1, T2, T3)>>::Error>
fn try_from(
v: (T0, T1, T2, T3)
) -> Result<ScVal, <ScVal as TryFrom<(T0, T1, T2, T3)>>::Error>
Performs the conversion.
impl<T0, T1, T2> TryFrom<(T0, T1, T2)> for ScVal where
T0: TryInto<ScVal>,
T1: TryInto<ScVal>,
T2: TryInto<ScVal>,
impl<T0, T1, T2> TryFrom<(T0, T1, T2)> for ScVal where
T0: TryInto<ScVal>,
T1: TryInto<ScVal>,
T2: TryInto<ScVal>,
fn try_from(
v: (T0, T1, T2)
) -> Result<ScVal, <ScVal as TryFrom<(T0, T1, T2)>>::Error>
fn try_from(
v: (T0, T1, T2)
) -> Result<ScVal, <ScVal as TryFrom<(T0, T1, T2)>>::Error>
Performs the conversion.
sourceimpl<E> TryFrom<EnvVal<E, RawVal>> for ScVal where
E: Env,
ScObject: TryFrom<EnvVal<E, Object>>,
impl<E> TryFrom<EnvVal<E, RawVal>> for ScVal where
E: Env,
ScObject: TryFrom<EnvVal<E, Object>>,
sourceimpl<'a, E> TryIntoVal<E, Object> for &'a ScVal where
E: Env + TryConvert<&'a ScObject, Object>,
impl<'a, E> TryIntoVal<E, Object> for &'a ScVal where
E: Env + TryConvert<&'a ScObject, Object>,
type Error = <E as TryConvert<&'a ScObject, Object>>::Error
fn try_into_val(
self,
env: &E
) -> Result<Object, <&'a ScVal as TryIntoVal<E, Object>>::Error>
fn try_into_env_val(self, env: &E) -> Result<EnvVal<E, V>, Self::Error>
sourceimpl<E> TryIntoVal<E, Object> for ScVal where
E: Env + TryConvert<ScObject, Object>,
impl<E> TryIntoVal<E, Object> for ScVal where
E: Env + TryConvert<ScObject, Object>,
type Error = <E as TryConvert<ScObject, Object>>::Error
fn try_into_val(
self,
env: &E
) -> Result<Object, <ScVal as TryIntoVal<E, Object>>::Error>
fn try_into_env_val(self, env: &E) -> Result<EnvVal<E, V>, Self::Error>
sourceimpl<E> TryIntoVal<E, RawVal> for &ScVal where
E: Env,
&'a ScObject: for<'a> TryIntoVal<E, Object>,
impl<E> TryIntoVal<E, RawVal> for &ScVal where
E: Env,
&'a ScObject: for<'a> TryIntoVal<E, Object>,
type Error = ConversionError
fn try_into_val(
self,
env: &E
) -> Result<RawVal, <&ScVal as TryIntoVal<E, RawVal>>::Error>
fn try_into_env_val(self, env: &E) -> Result<EnvVal<E, V>, Self::Error>
impl Eq for ScVal
impl StructuralEq for ScVal
impl StructuralPartialEq for ScVal
impl Union<ScValType> for ScVal
Auto Trait Implementations
impl RefUnwindSafe for ScVal
impl Send for ScVal
impl Sync for ScVal
impl Unpin for ScVal
impl UnwindSafe for ScVal
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<T> Downcast for T where
T: Any,
impl<T> Downcast for T where
T: Any,
fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
Convert Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
. Read more
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
Convert Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
. Read more
fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert &Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s. Read more
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert &mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s. Read more