pub struct List<T> {
pub data: Vec<T>,
}Expand description
A list provides fixed-width unit store.
identity: usize - 1-based integer (0 is the null sentinel) schema: usize - unit size in T error: ListError value: [T]
use context_engine::list::List;
use context_engine::required::SetOutcome;
let mut list: List<u32> = List::new(2);
// append: first real entry is id=1
let r = list.set(&0, &mut 2, &[10u32, 20], false).unwrap();
assert!(matches!(r, SetOutcome::Created(1)));
assert_eq!(list.get(&1, &2).unwrap(), &[10u32, 20]);
// update
let r = list.set(&1, &mut 2, &[30u32, 40], false).unwrap();
assert!(matches!(r, SetOutcome::Updated));
assert_eq!(list.get(&1, &2).unwrap(), &[30u32, 40]);
// delete then reuse_vacant
list.delete(&1, &mut 2).unwrap();
assert!(list.get(&1, &2).is_err());
let r = list.set(&0, &mut 2, &[50u32, 60], true).unwrap();
assert!(matches!(r, SetOutcome::Created(1)));Fields§
§data: Vec<T>Implementations§
Source§impl<T: Copy + Default + PartialEq> List<T>
impl<T: Copy + Default + PartialEq> List<T>
pub fn get<'a>( &'a self, identity: &usize, schema: &usize, ) -> Result<&'a [T], ListError>
Sourcepub fn set(
&mut self,
identity: &usize,
schema: &mut usize,
value: &[T],
reuse_vacant: bool,
) -> Result<SetOutcome, ListError>
pub fn set( &mut self, identity: &usize, schema: &mut usize, value: &[T], reuse_vacant: bool, ) -> Result<SetOutcome, ListError>
intern: if true and identity=0, return first match value identity(i)
pub fn delete( &mut self, identity: &usize, schema: &mut usize, ) -> Result<(), ListError>
Auto Trait Implementations§
impl<T> Freeze for List<T>
impl<T> RefUnwindSafe for List<T>where
T: RefUnwindSafe,
impl<T> Send for List<T>where
T: Send,
impl<T> Sync for List<T>where
T: Sync,
impl<T> Unpin for List<T>where
T: Unpin,
impl<T> UnsafeUnpin for List<T>
impl<T> UnwindSafe for List<T>where
T: UnwindSafe,
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