pub struct Cache<T> { /* private fields */ }Expand description
LRU cache keyed on dependency tags + scalar dependencies. T is
the cached value type (Number, a Vec<Number>, an Rc<Vector>,
…). Equivalent to Ipopt::CachedResults<T>.
Implementations§
Source§impl<T: Clone> Cache<T>
impl<T: Clone> Cache<T>
pub fn clear(&mut self)
pub fn len(&self) -> usize
pub fn is_empty(&self) -> bool
Sourcepub fn add(
&mut self,
value: T,
dependents: &[&dyn TaggedObject],
scalar_dependents: &[Number],
)
pub fn add( &mut self, value: T, dependents: &[&dyn TaggedObject], scalar_dependents: &[Number], )
Generic add — equivalent to AddCachedResult(result, dependents, scalar_dependents).
Sourcepub fn get(
&self,
dependents: &[&dyn TaggedObject],
scalar_dependents: &[Number],
) -> Option<T>
pub fn get( &self, dependents: &[&dyn TaggedObject], scalar_dependents: &[Number], ) -> Option<T>
Generic lookup — equivalent to GetCachedResult(...). Returns
Some(value) if a stored entry’s dependency tags exactly match
the current tags of dependents and the scalar deps match.
pub fn add_1dep(&mut self, value: T, dep: &dyn TaggedObject)
pub fn get_1dep(&self, dep: &dyn TaggedObject) -> Option<T>
pub fn add_2dep( &mut self, value: T, d1: &dyn TaggedObject, d2: &dyn TaggedObject, )
pub fn get_2dep( &self, d1: &dyn TaggedObject, d2: &dyn TaggedObject, ) -> Option<T>
pub fn add_3dep( &mut self, value: T, d1: &dyn TaggedObject, d2: &dyn TaggedObject, d3: &dyn TaggedObject, )
pub fn get_3dep( &self, d1: &dyn TaggedObject, d2: &dyn TaggedObject, d3: &dyn TaggedObject, ) -> Option<T>
Trait Implementations§
Auto Trait Implementations§
impl<T> Freeze for Cache<T>
impl<T> RefUnwindSafe for Cache<T>where
T: RefUnwindSafe,
impl<T> Send for Cache<T>where
T: Send,
impl<T> Sync for Cache<T>where
T: Sync,
impl<T> Unpin for Cache<T>where
T: Unpin,
impl<T> UnsafeUnpin for Cache<T>
impl<T> UnwindSafe for Cache<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