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
impl ScVal
impl ScVal
pub const VARIANTS: [ScValType; 8] = [ScValType::U63, ScValType::U32, ScValType::I32, ScValType::Static, ScValType::Object, ScValType::Symbol, ScValType::Bitset, ScValType::Status]
pub const VARIANTS_STR: [&'static str; 8] = ["U63", "U32", "I32", "Static", "Object", "Symbol", "Bitset", "Status"]
pub const fn name(&self) -> &'static str
pub const fn discriminant(&self) -> ScValType
pub const fn variants() -> [ScValType; 8]
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) -> Selfwhere
Self: PartialOrd<Self>,
fn clamp(self, min: Self, max: Self) -> Selfwhere
Self: PartialOrd<Self>,
Restrict a value to a certain interval. Read more
impl PartialOrd<ScVal> for ScVal
impl PartialOrd<ScVal> for ScVal
impl ReadXdr for ScVal
impl ReadXdr for ScVal
fn read_xdr(r: &mut impl Read) -> Result<ScVal, Error>
fn read_xdr(r: &mut impl Read) -> Result<ScVal, Error>
Read the XDR and construct the type. Read more
fn read_xdr_to_end(r: &mut impl Read) -> Result<Self, Error>
fn read_xdr_to_end(r: &mut impl Read) -> Result<Self, Error>
Read the XDR and construct the type, and consider it an error if the
read does not completely consume the read implementation. Read more
fn read_xdr_into(&mut self, r: &mut impl Read) -> Result<(), Error>
fn read_xdr_into(&mut self, r: &mut impl Read) -> Result<(), Error>
Read the XDR and construct the type. Read more
fn read_xdr_into_to_end(&mut self, r: &mut impl Read) -> Result<(), Error>
fn read_xdr_into_to_end(&mut self, r: &mut impl Read) -> Result<(), Error>
Read the XDR into the existing value, and consider it an error if the
read does not completely consume the read implementation. Read more
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,
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>;
Create an iterator that reads the read implementation as a stream of
values that are read into the implementing type. Read more
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 ScValwhere
T: TryInto<ScVal>,
ScObject: TryFrom<&'a Vec<T, Global>>,
impl<'a, T> TryFrom<&'a Vec<T, Global>> for ScValwhere
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 ScValwhere
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 ScValwhere
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 ScValwhere
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 ScValwhere
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 ScValwhere
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 ScValwhere
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 ScValwhere
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 ScValwhere
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 ScValwhere
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 ScValwhere
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 ScValwhere
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 ScValwhere
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 ScValwhere
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 ScValwhere
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 ScValwhere
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 ScValwhere
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 ScValwhere
T0: TryInto<ScVal>,
T1: TryInto<ScVal>,
T2: TryInto<ScVal>,
T3: TryInto<ScVal>,
impl<T0, T1, T2, T3> TryFrom<(T0, T1, T2, T3)> for ScValwhere
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 ScValwhere
T0: TryInto<ScVal>,
T1: TryInto<ScVal>,
T2: TryInto<ScVal>,
impl<T0, T1, T2> TryFrom<(T0, T1, T2)> for ScValwhere
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> TryFromVal<E, RawVal> for ScValwhere
E: Env,
ScObject: TryFromVal<E, Object>,
impl<E> TryFromVal<E, RawVal> for ScValwhere
E: Env,
ScObject: TryFromVal<E, Object>,
type Error = ConversionError
fn try_from_val(
env: &E,
val: RawVal
) -> Result<ScVal, <ScVal as TryFromVal<E, RawVal>>::Error>
sourceimpl<'a, E> TryIntoVal<E, Object> for &'a ScValwhere
E: Env + TryConvert<&'a ScObject, Object>,
impl<'a, E> TryIntoVal<E, Object> for &'a ScValwhere
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 ScValwhere
E: Env + TryConvert<ScObject, Object>,
impl<E> TryIntoVal<E, Object> for ScValwhere
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 &ScValwhere
E: Env,
&'a ScObject: for<'a> TryIntoVal<E, Object>,
impl<E> TryIntoVal<E, RawVal> for &ScValwhere
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>
sourceimpl<E> TryIntoVal<E, RawVal> for ScValwhere
E: Env,
&'a ScObject: for<'a> TryIntoVal<E, Object>,
impl<E> TryIntoVal<E, RawVal> for ScValwhere
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>
sourceimpl<E> TryIntoVal<E, ScVal> for RawValwhere
E: Env,
ScObject: TryFromVal<E, Object>,
impl<E> TryIntoVal<E, ScVal> for RawValwhere
E: Env,
ScObject: TryFromVal<E, Object>,
type Error = <ScVal as TryFromVal<E, RawVal>>::Error
fn try_into_val(
self,
env: &E
) -> Result<ScVal, <RawVal as TryIntoVal<E, ScVal>>::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 Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
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 Twhere
T: Any,
impl<T> Downcast for Twhere
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 morefn 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 morefn 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 morefn 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