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> Freeze for Singleton<'a, T>
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ยง
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