Struct soroban_env_host::storage::TempStorage
source · pub struct TempStorage {
pub map: TempStorageMap,
}Expand description
A special-purpose map from arbitrary contract-owned values to arbitrary values.
Since TempStorage stores RawVals, it has to be attributed to the host
instance and can’t be transferred between host instances.
Semantically, this is similar to the Storage, but it is never persisted
and hence doesn’t need to support the footprints and convert keys to the
ledger-compatible types.
Fields§
§map: TempStorageMapImplementations§
source§impl TempStorage
impl TempStorage
pub fn get( &self, contract_id: Hash, key: RawVal, host: &Host ) -> Result<RawVal, HostError>
pub fn put( &mut self, contract_id: Hash, key: RawVal, val: RawVal, host: &Host ) -> Result<(), HostError>
pub fn del( &mut self, contract_id: Hash, key: RawVal, host: &Host ) -> Result<(), HostError>
pub fn has( &mut self, contract_id: Hash, key: RawVal, host: &Host ) -> Result<bool, HostError>
Trait Implementations§
source§impl Clone for TempStorage
impl Clone for TempStorage
source§fn clone(&self) -> TempStorage
fn clone(&self) -> TempStorage
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 moresource§impl Default for TempStorage
impl Default for TempStorage
source§fn default() -> TempStorage
fn default() -> TempStorage
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl !RefUnwindSafe for TempStorage
impl !Send for TempStorage
impl !Sync for TempStorage
impl Unpin for TempStorage
impl !UnwindSafe for TempStorage
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
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>,
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>,
§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.