Struct aopt::ser::ValService
source · pub struct ValService { /* private fields */ }Expand description
Keep any type value in HashMap with key Uid.
Example
#[derive(Debug, PartialEq, Eq)]
pub struct MyData;
let mut vs = ValService::default();
vs.push(0, 42i64);
vs.push(0, 36i64);
vs.push(1, 28u64);
vs.push(1, 14u64);
vs.push(2, MyData {});
vs.push(2, 3.14f64);
assert_eq!(vs.val::<i64>(0)?, &36i64);
assert_eq!(vs.vals::<i64>(0)?, &vec![42, 36]);
assert_eq!(vs.contain_type::<i64>(0), true);
assert_eq!(vs.contain_type::<i32>(0), false);
assert_eq!(vs.val::<u64>(1)?, &14u64);
assert_eq!(vs.vals::<u64>(1)?, &vec![28, 14]);
assert_eq!(vs.contain_type::<u64>(1), true);
assert_eq!(vs.contain_type::<f64>(1), false);
assert_eq!(vs.val::<MyData>(2)?, &MyData {});
assert_eq!(vs.val::<f64>(2)?, &3.14f64);
assert_eq!(vs.contain_type::<MyData>(2), true);
assert_eq!(vs.contain_type::<f64>(2), true);Implementations§
source§impl ValService
impl ValService
pub fn new() -> Self
pub fn contain(&self, uid: Uid) -> bool
pub fn contain_type<T: ErasedTy>(&self, uid: Uid) -> bool
pub fn get<T: ErasedTy>(&self, uid: Uid) -> Option<&T>
pub fn get_mut<T: ErasedTy>(&mut self, uid: Uid) -> Option<&mut T>
pub fn gets<T: ErasedTy>(&self, uid: Uid) -> Option<&Vec<T>>
pub fn gets_mut<T: ErasedTy>(&mut self, uid: Uid) -> Option<&mut Vec<T>>
pub fn push<T: ErasedTy>(&mut self, uid: Uid, val: T) -> &mut Self
pub fn pop<T: ErasedTy>(&mut self, uid: Uid) -> Option<T>
pub fn set<T: ErasedTy>(&mut self, uid: Uid, vals: Vec<T>) -> Option<Vec<T>>
pub fn remove<T: ErasedTy>(&mut self, uid: Uid) -> Option<Vec<T>>
pub fn entry<T>(&mut self, uid: Uid) -> ValEntry<'_, Vec<T>>
pub fn val<T: ErasedTy>(&self, uid: Uid) -> Result<&T, Error>
pub fn val_mut<T: ErasedTy>(&mut self, uid: Uid) -> Result<&mut T, Error>
pub fn vals<T: ErasedTy>(&self, uid: Uid) -> Result<&Vec<T>, Error>
pub fn vals_mut<T: ErasedTy>(&mut self, uid: Uid) -> Result<&mut Vec<T>, Error>
pub fn clear(&mut self)
Trait Implementations§
source§impl Default for ValService
impl Default for ValService
source§fn default() -> ValService
fn default() -> ValService
Returns the “default value” for a type. Read more