Struct soroban_env_guest::EnvVal
source · pub struct EnvVal<E, V>where
E: Env,{
pub env: E,
pub val: V,
}
Expand description
Some type of value coupled to a specific instance of Env, which some of the value’s methods may call into to support some conversion and comparison functions.
The value and Env
instance used in an EnvVal
will vary by context:
- In contract code compiled for WASM, the
Env
is a zero-sizedGuest
struct - In contract code compiled natively for local testing, the
Env
is a reference-countedHost
- Inside the
Host
, theEnv
is either aHost
or a weak reference to aHost
The value will typically either be RawVal or one of its tag-specific wrapper types.
Fields
env: E
The environment to call into for comparison and conversion assistance.
val: V
The value that will call into the environment as needed.
Implementations
Trait Implementations
sourceimpl<E, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> IntoVal<E, EnvVal<E, RawVal>> for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)where
E: Env,
T0: IntoVal<E, RawVal>,
T1: IntoVal<E, RawVal>,
T2: IntoVal<E, RawVal>,
T3: IntoVal<E, RawVal>,
T4: IntoVal<E, RawVal>,
T5: IntoVal<E, RawVal>,
T6: IntoVal<E, RawVal>,
T7: IntoVal<E, RawVal>,
T8: IntoVal<E, RawVal>,
T9: IntoVal<E, RawVal>,
T10: IntoVal<E, RawVal>,
T11: IntoVal<E, RawVal>,
impl<E, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> IntoVal<E, EnvVal<E, RawVal>> for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)where
E: Env,
T0: IntoVal<E, RawVal>,
T1: IntoVal<E, RawVal>,
T2: IntoVal<E, RawVal>,
T3: IntoVal<E, RawVal>,
T4: IntoVal<E, RawVal>,
T5: IntoVal<E, RawVal>,
T6: IntoVal<E, RawVal>,
T7: IntoVal<E, RawVal>,
T8: IntoVal<E, RawVal>,
T9: IntoVal<E, RawVal>,
T10: IntoVal<E, RawVal>,
T11: IntoVal<E, RawVal>,
sourceimpl<E, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> IntoVal<E, EnvVal<E, RawVal>> for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)where
E: Env,
T0: IntoVal<E, RawVal>,
T1: IntoVal<E, RawVal>,
T2: IntoVal<E, RawVal>,
T3: IntoVal<E, RawVal>,
T4: IntoVal<E, RawVal>,
T5: IntoVal<E, RawVal>,
T6: IntoVal<E, RawVal>,
T7: IntoVal<E, RawVal>,
T8: IntoVal<E, RawVal>,
T9: IntoVal<E, RawVal>,
T10: IntoVal<E, RawVal>,
impl<E, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> IntoVal<E, EnvVal<E, RawVal>> for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)where
E: Env,
T0: IntoVal<E, RawVal>,
T1: IntoVal<E, RawVal>,
T2: IntoVal<E, RawVal>,
T3: IntoVal<E, RawVal>,
T4: IntoVal<E, RawVal>,
T5: IntoVal<E, RawVal>,
T6: IntoVal<E, RawVal>,
T7: IntoVal<E, RawVal>,
T8: IntoVal<E, RawVal>,
T9: IntoVal<E, RawVal>,
T10: IntoVal<E, RawVal>,
sourceimpl<E, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9> IntoVal<E, EnvVal<E, RawVal>> for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9)where
E: Env,
T0: IntoVal<E, RawVal>,
T1: IntoVal<E, RawVal>,
T2: IntoVal<E, RawVal>,
T3: IntoVal<E, RawVal>,
T4: IntoVal<E, RawVal>,
T5: IntoVal<E, RawVal>,
T6: IntoVal<E, RawVal>,
T7: IntoVal<E, RawVal>,
T8: IntoVal<E, RawVal>,
T9: IntoVal<E, RawVal>,
impl<E, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9> IntoVal<E, EnvVal<E, RawVal>> for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9)where
E: Env,
T0: IntoVal<E, RawVal>,
T1: IntoVal<E, RawVal>,
T2: IntoVal<E, RawVal>,
T3: IntoVal<E, RawVal>,
T4: IntoVal<E, RawVal>,
T5: IntoVal<E, RawVal>,
T6: IntoVal<E, RawVal>,
T7: IntoVal<E, RawVal>,
T8: IntoVal<E, RawVal>,
T9: IntoVal<E, RawVal>,
sourceimpl<E, T0, T1, T2, T3, T4, T5, T6, T7, T8> IntoVal<E, EnvVal<E, RawVal>> for (T0, T1, T2, T3, T4, T5, T6, T7, T8)where
E: Env,
T0: IntoVal<E, RawVal>,
T1: IntoVal<E, RawVal>,
T2: IntoVal<E, RawVal>,
T3: IntoVal<E, RawVal>,
T4: IntoVal<E, RawVal>,
T5: IntoVal<E, RawVal>,
T6: IntoVal<E, RawVal>,
T7: IntoVal<E, RawVal>,
T8: IntoVal<E, RawVal>,
impl<E, T0, T1, T2, T3, T4, T5, T6, T7, T8> IntoVal<E, EnvVal<E, RawVal>> for (T0, T1, T2, T3, T4, T5, T6, T7, T8)where
E: Env,
T0: IntoVal<E, RawVal>,
T1: IntoVal<E, RawVal>,
T2: IntoVal<E, RawVal>,
T3: IntoVal<E, RawVal>,
T4: IntoVal<E, RawVal>,
T5: IntoVal<E, RawVal>,
T6: IntoVal<E, RawVal>,
T7: IntoVal<E, RawVal>,
T8: IntoVal<E, RawVal>,
sourceimpl<E, T0, T1, T2, T3, T4, T5, T6, T7> IntoVal<E, EnvVal<E, RawVal>> for (T0, T1, T2, T3, T4, T5, T6, T7)where
E: Env,
T0: IntoVal<E, RawVal>,
T1: IntoVal<E, RawVal>,
T2: IntoVal<E, RawVal>,
T3: IntoVal<E, RawVal>,
T4: IntoVal<E, RawVal>,
T5: IntoVal<E, RawVal>,
T6: IntoVal<E, RawVal>,
T7: IntoVal<E, RawVal>,
impl<E, T0, T1, T2, T3, T4, T5, T6, T7> IntoVal<E, EnvVal<E, RawVal>> for (T0, T1, T2, T3, T4, T5, T6, T7)where
E: Env,
T0: IntoVal<E, RawVal>,
T1: IntoVal<E, RawVal>,
T2: IntoVal<E, RawVal>,
T3: IntoVal<E, RawVal>,
T4: IntoVal<E, RawVal>,
T5: IntoVal<E, RawVal>,
T6: IntoVal<E, RawVal>,
T7: IntoVal<E, RawVal>,
sourceimpl<E, T0, T1, T2, T3, T4, T5, T6> IntoVal<E, EnvVal<E, RawVal>> for (T0, T1, T2, T3, T4, T5, T6)where
E: Env,
T0: IntoVal<E, RawVal>,
T1: IntoVal<E, RawVal>,
T2: IntoVal<E, RawVal>,
T3: IntoVal<E, RawVal>,
T4: IntoVal<E, RawVal>,
T5: IntoVal<E, RawVal>,
T6: IntoVal<E, RawVal>,
impl<E, T0, T1, T2, T3, T4, T5, T6> IntoVal<E, EnvVal<E, RawVal>> for (T0, T1, T2, T3, T4, T5, T6)where
E: Env,
T0: IntoVal<E, RawVal>,
T1: IntoVal<E, RawVal>,
T2: IntoVal<E, RawVal>,
T3: IntoVal<E, RawVal>,
T4: IntoVal<E, RawVal>,
T5: IntoVal<E, RawVal>,
T6: IntoVal<E, RawVal>,
sourceimpl<E, T0, T1, T2, T3, T4, T5> IntoVal<E, EnvVal<E, RawVal>> for (T0, T1, T2, T3, T4, T5)where
E: Env,
T0: IntoVal<E, RawVal>,
T1: IntoVal<E, RawVal>,
T2: IntoVal<E, RawVal>,
T3: IntoVal<E, RawVal>,
T4: IntoVal<E, RawVal>,
T5: IntoVal<E, RawVal>,
impl<E, T0, T1, T2, T3, T4, T5> IntoVal<E, EnvVal<E, RawVal>> for (T0, T1, T2, T3, T4, T5)where
E: Env,
T0: IntoVal<E, RawVal>,
T1: IntoVal<E, RawVal>,
T2: IntoVal<E, RawVal>,
T3: IntoVal<E, RawVal>,
T4: IntoVal<E, RawVal>,
T5: IntoVal<E, RawVal>,
sourceimpl<E, T0, T1, T2, T3, T4> IntoVal<E, EnvVal<E, RawVal>> for (T0, T1, T2, T3, T4)where
E: Env,
T0: IntoVal<E, RawVal>,
T1: IntoVal<E, RawVal>,
T2: IntoVal<E, RawVal>,
T3: IntoVal<E, RawVal>,
T4: IntoVal<E, RawVal>,
impl<E, T0, T1, T2, T3, T4> IntoVal<E, EnvVal<E, RawVal>> for (T0, T1, T2, T3, T4)where
E: Env,
T0: IntoVal<E, RawVal>,
T1: IntoVal<E, RawVal>,
T2: IntoVal<E, RawVal>,
T3: IntoVal<E, RawVal>,
T4: IntoVal<E, RawVal>,
sourceimpl<E, T0, T1, T2, T3> IntoVal<E, EnvVal<E, RawVal>> for (T0, T1, T2, T3)where
E: Env,
T0: IntoVal<E, RawVal>,
T1: IntoVal<E, RawVal>,
T2: IntoVal<E, RawVal>,
T3: IntoVal<E, RawVal>,
impl<E, T0, T1, T2, T3> IntoVal<E, EnvVal<E, RawVal>> for (T0, T1, T2, T3)where
E: Env,
T0: IntoVal<E, RawVal>,
T1: IntoVal<E, RawVal>,
T2: IntoVal<E, RawVal>,
T3: IntoVal<E, RawVal>,
sourceimpl<E, T0, T1, T2> IntoVal<E, EnvVal<E, RawVal>> for (T0, T1, T2)where
E: Env,
T0: IntoVal<E, RawVal>,
T1: IntoVal<E, RawVal>,
T2: IntoVal<E, RawVal>,
impl<E, T0, T1, T2> IntoVal<E, EnvVal<E, RawVal>> for (T0, T1, T2)where
E: Env,
T0: IntoVal<E, RawVal>,
T1: IntoVal<E, RawVal>,
T2: IntoVal<E, RawVal>,
sourceimpl<E, T0, T1> IntoVal<E, EnvVal<E, RawVal>> for (T0, T1)where
E: Env,
T0: IntoVal<E, RawVal>,
T1: IntoVal<E, RawVal>,
impl<E, T0, T1> IntoVal<E, EnvVal<E, RawVal>> for (T0, T1)where
E: Env,
T0: IntoVal<E, RawVal>,
T1: IntoVal<E, RawVal>,
sourceimpl<E, V> Ord for EnvVal<E, V>where
E: Env,
V: Val,
impl<E, V> Ord for EnvVal<E, V>where
E: Env,
V: Val,
1.21.0 · sourcefn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Compares and returns the maximum of two values. Read more
1.21.0 · sourcefn min(self, other: Self) -> Selfwhere
Self: Sized,
fn min(self, other: Self) -> Selfwhere
Self: Sized,
Compares and returns the minimum of two values. Read more
1.50.0 · sourcefn clamp(self, min: Self, max: Self) -> Selfwhere
Self: Sized + PartialOrd<Self>,
fn clamp(self, min: Self, max: Self) -> Selfwhere
Self: Sized + PartialOrd<Self>,
Restrict a value to a certain interval. Read more
sourceimpl<E, V> PartialEq<EnvVal<E, V>> for EnvVal<E, V>where
E: Env,
V: Val,
impl<E, V> PartialEq<EnvVal<E, V>> for EnvVal<E, V>where
E: Env,
V: Val,
sourceimpl<E, V> PartialOrd<EnvVal<E, V>> for EnvVal<E, V>where
E: Env,
V: Val,
impl<E, V> PartialOrd<EnvVal<E, V>> for EnvVal<E, V>where
E: Env,
V: Val,
sourcefn partial_cmp(&self, other: &EnvVal<E, V>) -> Option<Ordering>
fn partial_cmp(&self, other: &EnvVal<E, V>) -> Option<Ordering>
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 moresourceimpl<E, V> TryFromVal<E, V> for EnvVal<E, V>where
E: Env,
impl<E, V> TryFromVal<E, V> for EnvVal<E, V>where
E: Env,
type Error = Infallible
fn try_from_val(
env: &E,
val: V
) -> Result<EnvVal<E, V>, <EnvVal<E, V> as TryFromVal<E, V>>::Error>
impl<E, V> Eq for EnvVal<E, V>where
E: Env,
V: Val,
Auto Trait Implementations
impl<E, V> RefUnwindSafe for EnvVal<E, V>where
E: RefUnwindSafe,
V: RefUnwindSafe,
impl<E, V> Send for EnvVal<E, V>where
E: Send,
V: Send,
impl<E, V> Sync for EnvVal<E, V>where
E: Sync,
V: Sync,
impl<E, V> Unpin for EnvVal<E, V>where
E: Unpin,
V: Unpin,
impl<E, V> UnwindSafe for EnvVal<E, V>where
E: UnwindSafe,
V: UnwindSafe,
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