pub trait StorageMutate<Type: Mappable>: StorageInspect<Type> {
    // Required methods
    fn insert(
        &mut self,
        key: &Type::Key,
        value: &Type::Value
    ) -> Result<Option<Type::OwnedValue>, Self::Error>;
    fn remove(
        &mut self,
        key: &Type::Key
    ) -> Result<Option<Type::OwnedValue>, Self::Error>;
}
Expand description

Base storage trait for Fuel infrastructure.

Generic should implement Mappable trait with all storage type information.

Required Methods§

source

fn insert( &mut self, key: &Type::Key, value: &Type::Value ) -> Result<Option<Type::OwnedValue>, Self::Error>

Append Key->Value mapping to the storage.

If Key was already mappped to a value, return the replaced value as Ok(Some(Value)). Return Ok(None) otherwise.

source

fn remove( &mut self, key: &Type::Key ) -> Result<Option<Type::OwnedValue>, Self::Error>

Remove Key->Value mapping from the storage.

Return Ok(Some(Value)) if the value was present. If the key wasn’t found, return Ok(None).

Implementations on Foreign Types§

source§

impl<'a, T: StorageMutate<Type> + ?Sized, Type: Mappable> StorageMutate<Type> for &'a mut T

source§

fn insert( &mut self, key: &Type::Key, value: &Type::Value ) -> Result<Option<Type::OwnedValue>, Self::Error>

source§

fn remove( &mut self, key: &Type::Key ) -> Result<Option<Type::OwnedValue>, Self::Error>

Implementors§