Struct cosmwasm_storage::Singleton
source · pub struct Singleton<'a, T>where
T: Serialize + DeserializeOwned,{ /* private fields */ }
👎Deprecated: The crate cosmwasm-storage is unmaintained and will be removed in CosmWasm 2.0. Please consider migrating to cw-storage-plus or simple cosmwasm-std storage calls.
Expand description
Singleton effectively combines PrefixedStorage with TypedStorage to work on a single storage key. It performs the to_length_prefixed transformation on the given name to ensure no collisions, and then provides the standard TypedStorage accessors, without requiring a key (which is defined in the constructor)
Implementations§
source§impl<'a, T> Singleton<'a, T>where
T: Serialize + DeserializeOwned,
impl<'a, T> Singleton<'a, T>where
T: Serialize + DeserializeOwned,
pub fn new(storage: &'a mut dyn Storage, key: &[u8]) -> Self
sourcepub fn save(&mut self, data: &T) -> StdResult<()>
pub fn save(&mut self, data: &T) -> StdResult<()>
save will serialize the model and store, returns an error on serialization issues
pub fn remove(&mut self)
sourcepub fn load(&self) -> StdResult<T>
pub fn load(&self) -> StdResult<T>
load will return an error if no data is set at the given key, or on parse error
sourcepub fn may_load(&self) -> StdResult<Option<T>>
pub fn may_load(&self) -> StdResult<Option<T>>
may_load will parse the data stored at the key if present, returns Ok(None) if no data there. returns an error on issues parsing
Auto Trait Implementations§
impl<'a, T> !RefUnwindSafe for Singleton<'a, T>
impl<'a, T> !Send for Singleton<'a, T>
impl<'a, T> !Sync for Singleton<'a, T>
impl<'a, T> Unpin for Singleton<'a, T>where
T: Unpin,
impl<'a, T> !UnwindSafe for Singleton<'a, T>
Blanket Implementations§
§impl<U> As for U
impl<U> As for U
§fn as_<T>(self) -> Twhere
T: CastFrom<U>,
fn as_<T>(self) -> Twhere
T: CastFrom<U>,
Casts
self
to type T
. The semantics of numeric casting with the as
operator are followed, so <T as As>::as_::<U>
can be used in the same way as T as U
for numeric conversions. Read moresource§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