Enum soroban_sdk::xdr::ScSpecTypeDef
pub enum ScSpecTypeDef {
Show 25 variants
Val,
Bool,
Void,
Error,
U32,
I32,
U64,
I64,
Timepoint,
Duration,
U128,
I128,
U256,
I256,
Bytes,
String,
Symbol,
Address,
Option(Box<ScSpecTypeOption>),
Result(Box<ScSpecTypeResult>),
Vec(Box<ScSpecTypeVec>),
Map(Box<ScSpecTypeMap>),
Tuple(Box<ScSpecTypeTuple>),
BytesN(ScSpecTypeBytesN),
Udt(ScSpecTypeUdt),
}
Expand description
ScSpecTypeDef is an XDR Union defines as:
union SCSpecTypeDef switch (SCSpecType type)
{
case SC_SPEC_TYPE_VAL:
case SC_SPEC_TYPE_BOOL:
case SC_SPEC_TYPE_VOID:
case SC_SPEC_TYPE_ERROR:
case SC_SPEC_TYPE_U32:
case SC_SPEC_TYPE_I32:
case SC_SPEC_TYPE_U64:
case SC_SPEC_TYPE_I64:
case SC_SPEC_TYPE_TIMEPOINT:
case SC_SPEC_TYPE_DURATION:
case SC_SPEC_TYPE_U128:
case SC_SPEC_TYPE_I128:
case SC_SPEC_TYPE_U256:
case SC_SPEC_TYPE_I256:
case SC_SPEC_TYPE_BYTES:
case SC_SPEC_TYPE_STRING:
case SC_SPEC_TYPE_SYMBOL:
case SC_SPEC_TYPE_ADDRESS:
void;
case SC_SPEC_TYPE_OPTION:
SCSpecTypeOption option;
case SC_SPEC_TYPE_RESULT:
SCSpecTypeResult result;
case SC_SPEC_TYPE_VEC:
SCSpecTypeVec vec;
case SC_SPEC_TYPE_MAP:
SCSpecTypeMap map;
case SC_SPEC_TYPE_TUPLE:
SCSpecTypeTuple tuple;
case SC_SPEC_TYPE_BYTES_N:
SCSpecTypeBytesN bytesN;
case SC_SPEC_TYPE_UDT:
SCSpecTypeUDT udt;
};
Variants§
Val
Bool
Void
Error
U32
I32
U64
I64
Timepoint
Duration
U128
I128
U256
I256
Bytes
String
Symbol
Address
Option(Box<ScSpecTypeOption>)
Result(Box<ScSpecTypeResult>)
Vec(Box<ScSpecTypeVec>)
Map(Box<ScSpecTypeMap>)
Tuple(Box<ScSpecTypeTuple>)
BytesN(ScSpecTypeBytesN)
Udt(ScSpecTypeUdt)
Implementations§
§impl ScSpecTypeDef
impl ScSpecTypeDef
pub const VARIANTS: [ScSpecType; 25] = _
pub const VARIANTS_STR: [&'static str; 25] = _
pub const fn name(&self) -> &'static str
pub const fn discriminant(&self) -> ScSpecType
pub const fn variants() -> [ScSpecType; 25]
Trait Implementations§
§impl<'arbitrary> Arbitrary<'arbitrary> for ScSpecTypeDef
impl<'arbitrary> Arbitrary<'arbitrary> for ScSpecTypeDef
§fn arbitrary(u: &mut Unstructured<'arbitrary>) -> Result<ScSpecTypeDef, Error>
fn arbitrary(u: &mut Unstructured<'arbitrary>) -> Result<ScSpecTypeDef, Error>
Generate an arbitrary value of
Self
from the given unstructured data. Read more§fn arbitrary_take_rest(
u: Unstructured<'arbitrary>
) -> Result<ScSpecTypeDef, Error>
fn arbitrary_take_rest( u: Unstructured<'arbitrary> ) -> Result<ScSpecTypeDef, Error>
Generate an arbitrary value of
Self
from the entirety of the given
unstructured data. Read more§impl Clone for ScSpecTypeDef
impl Clone for ScSpecTypeDef
§fn clone(&self) -> ScSpecTypeDef
fn clone(&self) -> ScSpecTypeDef
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read more§impl Debug for ScSpecTypeDef
impl Debug for ScSpecTypeDef
§impl<'de> Deserialize<'de> for ScSpecTypeDef
impl<'de> Deserialize<'de> for ScSpecTypeDef
§fn deserialize<__D>(
__deserializer: __D
) -> Result<ScSpecTypeDef, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D
) -> Result<ScSpecTypeDef, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
§impl Discriminant<ScSpecType> for ScSpecTypeDef
impl Discriminant<ScSpecType> for ScSpecTypeDef
fn discriminant(&self) -> ScSpecType
§impl Hash for ScSpecTypeDef
impl Hash for ScSpecTypeDef
§impl Ord for ScSpecTypeDef
impl Ord for ScSpecTypeDef
§impl PartialEq for ScSpecTypeDef
impl PartialEq for ScSpecTypeDef
§fn eq(&self, other: &ScSpecTypeDef) -> bool
fn eq(&self, other: &ScSpecTypeDef) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.§impl PartialOrd for ScSpecTypeDef
impl PartialOrd for ScSpecTypeDef
§fn partial_cmp(&self, other: &ScSpecTypeDef) -> Option<Ordering>
fn partial_cmp(&self, other: &ScSpecTypeDef) -> Option<Ordering>
1.0.0 · source§fn 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 ScSpecTypeDef
impl ReadXdr for ScSpecTypeDef
§fn read_xdr<R>(r: &mut Limited<R>) -> Result<ScSpecTypeDef, Error>where
R: Read,
fn read_xdr<R>(r: &mut Limited<R>) -> Result<ScSpecTypeDef, Error>where
R: Read,
Read the XDR and construct the type. Read more
§fn read_xdr_base64<R>(r: &mut Limited<R>) -> Result<Self, Error>where
R: Read,
fn read_xdr_base64<R>(r: &mut Limited<R>) -> Result<Self, Error>where
R: Read,
Construct the type from the XDR bytes base64 encoded. Read more
§fn read_xdr_to_end<R>(r: &mut Limited<R>) -> Result<Self, Error>where
R: Read,
fn read_xdr_to_end<R>(r: &mut Limited<R>) -> Result<Self, Error>where
R: Read,
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_base64_to_end<R>(r: &mut Limited<R>) -> Result<Self, Error>where
R: Read,
fn read_xdr_base64_to_end<R>(r: &mut Limited<R>) -> Result<Self, Error>where
R: Read,
Construct the type from the XDR bytes base64 encoded. Read more
§fn read_xdr_into<R>(&mut self, r: &mut Limited<R>) -> Result<(), Error>where
R: Read,
fn read_xdr_into<R>(&mut self, r: &mut Limited<R>) -> Result<(), Error>where
R: Read,
Read the XDR and construct the type. Read more
§fn read_xdr_into_to_end<R>(&mut self, r: &mut Limited<R>) -> Result<(), Error>where
R: Read,
fn read_xdr_into_to_end<R>(&mut self, r: &mut Limited<R>) -> Result<(), Error>where
R: Read,
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 Limited<R>) -> ReadXdrIter<&mut R, Self> ⓘwhere
R: Read,
fn read_xdr_iter<R>(r: &mut Limited<R>) -> ReadXdrIter<&mut R, Self> ⓘwhere
R: Read,
Create an iterator that reads the read implementation as a stream of
values that are read into the implementing type. Read more
§fn read_xdr_base64_iter<R>(
r: &mut Limited<R>
) -> ReadXdrIter<DecoderReader<'_, R>, Self> ⓘwhere
R: Read,
fn read_xdr_base64_iter<R>(
r: &mut Limited<R>
) -> ReadXdrIter<DecoderReader<'_, R>, Self> ⓘwhere
R: Read,
Create an iterator that reads the read implementation as a stream of
values that are read into the implementing type.
§impl Serialize for ScSpecTypeDef
impl Serialize for ScSpecTypeDef
§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 Variants<ScSpecType> for ScSpecTypeDef
impl Variants<ScSpecType> for ScSpecTypeDef
fn variants() -> Iter<'static, ScSpecType>
§impl WriteXdr for ScSpecTypeDef
impl WriteXdr for ScSpecTypeDef
impl Eq for ScSpecTypeDef
impl StructuralEq for ScSpecTypeDef
impl StructuralPartialEq for ScSpecTypeDef
impl Union<ScSpecType> for ScSpecTypeDef
Auto Trait Implementations§
impl RefUnwindSafe for ScSpecTypeDef
impl Send for ScSpecTypeDef
impl Sync for ScSpecTypeDef
impl Unpin for ScSpecTypeDef
impl UnwindSafe for ScSpecTypeDef
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
Mutably borrows from an owned value. Read more
§impl<T, U, V, E, C> Compare<(T, U, V)> for Cwhere
C: Compare<T, Error = E, Error = E, Error = E> + Compare<U> + Compare<V>,
impl<T, U, V, E, C> Compare<(T, U, V)> for Cwhere
C: Compare<T, Error = E, Error = E, Error = E> + Compare<U> + Compare<V>,
§impl<T, U, V, W, E, C> Compare<(T, U, V, W)> for Cwhere
C: Compare<T, Error = E, Error = E, Error = E, Error = E> + Compare<U> + Compare<V> + Compare<W>,
impl<T, U, V, W, E, C> Compare<(T, U, V, W)> for Cwhere
C: Compare<T, Error = E, Error = E, Error = E, Error = E> + Compare<U> + Compare<V> + Compare<W>,
type Error = E
fn compare( &self, a: &(T, U, V, W), b: &(T, U, V, W) ) -> Result<Ordering, <C as Compare<(T, U, V, W)>>::Error>
§impl<T, U, V, W, X, E, C> Compare<(T, U, V, W, X)> for Cwhere
C: Compare<T, Error = E, Error = E, Error = E, Error = E, Error = E> + Compare<U> + Compare<V> + Compare<W> + Compare<X>,
impl<T, U, V, W, X, E, C> Compare<(T, U, V, W, X)> for Cwhere
C: Compare<T, Error = E, Error = E, Error = E, Error = E, Error = E> + Compare<U> + Compare<V> + Compare<W> + Compare<X>,
type Error = E
fn compare( &self, a: &(T, U, V, W, X), b: &(T, U, V, W, X) ) -> Result<Ordering, <C as Compare<(T, U, V, W, X)>>::Error>
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
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
.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.§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.§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.