Skip to main content

ICache

Trait ICache 

Source
pub trait ICache<T, K>: IQuery<T, K> {
    // Required methods
    fn add_or_update(&mut self, item: T, key: K);
    fn clear(&mut self);
    fn clone_changes(&mut self, changes: &ChangeSet<T, K>);
    fn refresh_all(&mut self);
    fn refresh_keys(&mut self, keys: &mut dyn Iterator<Item = K>);
    fn refresh(&mut self, key: &K);
    fn remove(&mut self, key: &K);
    fn remove_keys(&mut self, keys: &mut dyn Iterator<Item = K>);
}
Expand description

A keyed collection that can be edited (ICache<TObject, TKey>).

Required Methods§

Source

fn add_or_update(&mut self, item: T, key: K)

Adds the item, or replaces the item of its key (AddOrUpdate(TObject, TKey)).

Source

fn clear(&mut self)

Removes every item (Clear).

Source

fn clone_changes(&mut self, changes: &ChangeSet<T, K>)

Applies a change set (Clone(IChangeSet<TObject, TKey>)).

Source

fn refresh_all(&mut self)

Refreshes every item (Refresh()).

Source

fn refresh_keys(&mut self, keys: &mut dyn Iterator<Item = K>)

Refreshes the items of the keys (Refresh(IEnumerable<TKey>)).

Source

fn refresh(&mut self, key: &K)

Refreshes the item of key (Refresh(TKey)).

Source

fn remove(&mut self, key: &K)

Removes the item of key (Remove(TKey)).

Source

fn remove_keys(&mut self, keys: &mut dyn Iterator<Item = K>)

Removes the items of the keys (Remove(IEnumerable<TKey>)).

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§

Source§

impl<T: Clone, K: Eq + Hash + Clone> ICache<T, K> for ChangeAwareCache<T, K>