Skip to main content

UnboundedPolicy

Struct UnboundedPolicy 

Source
pub struct UnboundedPolicy;
Expand description

An EvictionPolicy that never evicts

The cache grows without bound, keeping every skeleton it has ever built. Use it when the set of input shapes is small and known to be finite.

§Examples

use candela::skeleton::{SkeletonSlot, UnboundedDynamicSkeleton};
use candela::{Layout, Tensor};

// Selected here through the UnboundedDynamicSkeleton alias.
let sk: UnboundedDynamicSkeleton<f32> =
    UnboundedDynamicSkeleton::new(0, Box::new(|inputs: &[Layout]| {
        let a = SkeletonSlot::new(inputs[0].clone());
        (&a * 2.0).into_skeleton(&[a]).unwrap()
    }));
assert_eq!(sk.run(&[&Tensor::from_scalar(3.0, &[4])])?.data(), &[6.0; 4]);

Trait Implementations§

Source§

impl Clone for UnboundedPolicy

Source§

fn clone(&self) -> UnboundedPolicy

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Copy for UnboundedPolicy

Source§

impl Debug for UnboundedPolicy

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for UnboundedPolicy

Source§

fn default() -> UnboundedPolicy

Returns the “default value” for a type. Read more
Source§

impl Eq for UnboundedPolicy

Source§

impl EvictionPolicy for UnboundedPolicy

Source§

fn new(_: usize) -> Self

The constructor of the policy Read more
Source§

fn on_get(&mut self, _: usize)

The get action Read more
Source§

fn on_insert(&mut self, _: usize)

The insert action Read more
Source§

fn on_remove(&mut self, _: usize)

The remove action Read more
Source§

fn evict(&mut self) -> Option<usize>

The eviction action Read more
Source§

impl Hash for UnboundedPolicy

Source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl PartialEq for UnboundedPolicy

Source§

fn eq(&self, other: &UnboundedPolicy) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl StructuralPartialEq for UnboundedPolicy

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.