Struct soroban_env_host::Static
source · pub struct Static(_);Expand description
Wrapper for a RawVal that is tagged with Tag::Static, interpreting the RawVal’s body as a 32-bit value from a reserved set of “static” values corresponding to the enumerated cases of ScStatic.
Implementations§
Trait Implementations§
source§impl Ord for Static
impl Ord for Static
source§impl PartialEq<Static> for Static
impl PartialEq<Static> for Static
source§impl PartialOrd<Static> for Static
impl PartialOrd<Static> for Static
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 moresource§impl RawValConvertible for Static
impl RawValConvertible for Static
source§fn is_val_type(v: RawVal) -> bool
fn is_val_type(v: RawVal) -> bool
Returns
true if v is in a union state compatible with Self.source§unsafe fn unchecked_from_val(v: RawVal) -> Static
unsafe fn unchecked_from_val(v: RawVal) -> Static
Converts the bits making up a
RawVal into Self without checking
that the RawVal is tagged correctly, assuming that such a check has
been performed elsewhere. It is the caller’s responsibility to arrange
that such checks have occurred before calling unchecked_from_val,
which is why it is marked as unsafe (it does not represent a risk of
memory-unsafety, merely “serious logic errors”).source§fn try_convert(v: RawVal) -> Option<Self>
fn try_convert(v: RawVal) -> Option<Self>
Attempt a conversion from
RawVal to Self, returning None if the
provided RawVal is not tagged correctly. By default this calls
Self::is_val_type and Self::unchecked_from_val, but it can be
customized on a type-by-type basis to avoid redundant tag tests and
produce more efficient code, as it is done for Static values like
bool.source§impl<E> TryFromVal<E, RawVal> for Staticwhere
E: Env,
impl<E> TryFromVal<E, RawVal> for Staticwhere
E: Env,
type Error = ConversionError
fn try_from_val(
_env: &E,
val: RawVal
) -> Result<Static, <Static as TryFromVal<E, RawVal>>::Error>
source§impl<E> TryFromVal<E, Static> for ()where
E: Env,
impl<E> TryFromVal<E, Static> for ()where
E: Env,
type Error = ConversionError
fn try_from_val(
_env: &E,
val: Static
) -> Result<(), <() as TryFromVal<E, Static>>::Error>
source§impl<E> TryFromVal<E, Static> for boolwhere
E: Env,
impl<E> TryFromVal<E, Static> for boolwhere
E: Env,
type Error = ConversionError
fn try_from_val(
_env: &E,
val: Static
) -> Result<bool, <bool as TryFromVal<E, Static>>::Error>
source§impl<E> TryIntoVal<E, RawVal> for Staticwhere
E: Env,
impl<E> TryIntoVal<E, RawVal> for Staticwhere
E: Env,
type Error = ConversionError
fn try_into_val(
self,
_env: &E
) -> Result<RawVal, <Static as TryIntoVal<E, RawVal>>::Error>
source§impl<E> TryIntoVal<E, Static> for RawValwhere
E: Env,
impl<E> TryIntoVal<E, Static> for RawValwhere
E: Env,
type Error = ConversionError
fn try_into_val(
self,
env: &E
) -> Result<Static, <RawVal as TryIntoVal<E, Static>>::Error>
impl Copy for Static
impl Eq for Static
impl Val for Static
Auto Trait Implementations§
impl RefUnwindSafe for Static
impl Send for Static
impl Sync for Static
impl Unpin for Static
impl UnwindSafe for Static
Blanket Implementations§
source§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>,
source§impl<T, U, E, C> Compare<(T, U)> for Cwhere
C: Compare<T, Error = E, Error = E> + Compare<U>,
impl<T, U, E, C> Compare<(T, U)> for Cwhere
C: Compare<T, Error = E, Error = E> + Compare<U>,
§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.§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.§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.