pub struct Func<F, T> { /* private fields */ }Expand description
Func is an aggregator which doesn’t need a data backing, for use with small types
Implementations§
Trait Implementations§
Source§impl<F: Fn(&[bool]) -> bool + 'static> Aggregator for Func<F, bool>
impl<F: Fn(&[bool]) -> bool + 'static> Aggregator for Func<F, bool>
Source§fn aggregate(&self, big_ks: &[usize]) -> usize
fn aggregate(&self, big_ks: &[usize]) -> usize
This is an associative, commutative function over points in some dataspace.
Accepting more than two points is a hack to allow allocation skipping
Source§fn agg_clone(&self) -> Box<dyn Aggregator>
fn agg_clone(&self) -> Box<dyn Aggregator>
Clone, jammed into the trait to avoid multitrait problems
Source§impl<F: Fn(&[i16]) -> i16 + 'static> Aggregator for Func<F, i16>
impl<F: Fn(&[i16]) -> i16 + 'static> Aggregator for Func<F, i16>
Source§fn aggregate(&self, big_ks: &[usize]) -> usize
fn aggregate(&self, big_ks: &[usize]) -> usize
This is an associative, commutative function over points in some dataspace.
Accepting more than two points is a hack to allow allocation skipping
Source§fn agg_clone(&self) -> Box<dyn Aggregator>
fn agg_clone(&self) -> Box<dyn Aggregator>
Clone, jammed into the trait to avoid multitrait problems
Source§impl<F: Fn(&[i32]) -> i32 + 'static> Aggregator for Func<F, i32>
impl<F: Fn(&[i32]) -> i32 + 'static> Aggregator for Func<F, i32>
Source§fn aggregate(&self, big_ks: &[usize]) -> usize
fn aggregate(&self, big_ks: &[usize]) -> usize
This is an associative, commutative function over points in some dataspace.
Accepting more than two points is a hack to allow allocation skipping
Source§fn agg_clone(&self) -> Box<dyn Aggregator>
fn agg_clone(&self) -> Box<dyn Aggregator>
Clone, jammed into the trait to avoid multitrait problems
Source§impl<F: Fn(&[i64]) -> i64 + 'static> Aggregator for Func<F, i64>
impl<F: Fn(&[i64]) -> i64 + 'static> Aggregator for Func<F, i64>
Source§fn aggregate(&self, big_ks: &[usize]) -> usize
fn aggregate(&self, big_ks: &[usize]) -> usize
This is an associative, commutative function over points in some dataspace.
Accepting more than two points is a hack to allow allocation skipping
Source§fn agg_clone(&self) -> Box<dyn Aggregator>
fn agg_clone(&self) -> Box<dyn Aggregator>
Clone, jammed into the trait to avoid multitrait problems
Source§impl<F: Fn(&[i8]) -> i8 + 'static> Aggregator for Func<F, i8>
impl<F: Fn(&[i8]) -> i8 + 'static> Aggregator for Func<F, i8>
Source§fn aggregate(&self, big_ks: &[usize]) -> usize
fn aggregate(&self, big_ks: &[usize]) -> usize
This is an associative, commutative function over points in some dataspace.
Accepting more than two points is a hack to allow allocation skipping
Source§fn agg_clone(&self) -> Box<dyn Aggregator>
fn agg_clone(&self) -> Box<dyn Aggregator>
Clone, jammed into the trait to avoid multitrait problems
Source§impl<F: Fn(&[isize]) -> isize + 'static> Aggregator for Func<F, isize>
impl<F: Fn(&[isize]) -> isize + 'static> Aggregator for Func<F, isize>
Source§fn aggregate(&self, big_ks: &[usize]) -> usize
fn aggregate(&self, big_ks: &[usize]) -> usize
This is an associative, commutative function over points in some dataspace.
Accepting more than two points is a hack to allow allocation skipping
Source§fn agg_clone(&self) -> Box<dyn Aggregator>
fn agg_clone(&self) -> Box<dyn Aggregator>
Clone, jammed into the trait to avoid multitrait problems
Source§impl<F: Fn(&[u16]) -> u16 + 'static> Aggregator for Func<F, u16>
impl<F: Fn(&[u16]) -> u16 + 'static> Aggregator for Func<F, u16>
Source§fn aggregate(&self, big_ks: &[usize]) -> usize
fn aggregate(&self, big_ks: &[usize]) -> usize
This is an associative, commutative function over points in some dataspace.
Accepting more than two points is a hack to allow allocation skipping
Source§fn agg_clone(&self) -> Box<dyn Aggregator>
fn agg_clone(&self) -> Box<dyn Aggregator>
Clone, jammed into the trait to avoid multitrait problems
Source§impl<F: Fn(&[u32]) -> u32 + 'static> Aggregator for Func<F, u32>
impl<F: Fn(&[u32]) -> u32 + 'static> Aggregator for Func<F, u32>
Source§fn aggregate(&self, big_ks: &[usize]) -> usize
fn aggregate(&self, big_ks: &[usize]) -> usize
This is an associative, commutative function over points in some dataspace.
Accepting more than two points is a hack to allow allocation skipping
Source§fn agg_clone(&self) -> Box<dyn Aggregator>
fn agg_clone(&self) -> Box<dyn Aggregator>
Clone, jammed into the trait to avoid multitrait problems
Source§impl<F: Fn(&[u64]) -> u64 + 'static> Aggregator for Func<F, u64>
impl<F: Fn(&[u64]) -> u64 + 'static> Aggregator for Func<F, u64>
Source§fn aggregate(&self, big_ks: &[usize]) -> usize
fn aggregate(&self, big_ks: &[usize]) -> usize
This is an associative, commutative function over points in some dataspace.
Accepting more than two points is a hack to allow allocation skipping
Source§fn agg_clone(&self) -> Box<dyn Aggregator>
fn agg_clone(&self) -> Box<dyn Aggregator>
Clone, jammed into the trait to avoid multitrait problems
Source§impl<F: Fn(&[u8]) -> u8 + 'static> Aggregator for Func<F, u8>
impl<F: Fn(&[u8]) -> u8 + 'static> Aggregator for Func<F, u8>
Source§fn aggregate(&self, big_ks: &[usize]) -> usize
fn aggregate(&self, big_ks: &[usize]) -> usize
This is an associative, commutative function over points in some dataspace.
Accepting more than two points is a hack to allow allocation skipping
Source§fn agg_clone(&self) -> Box<dyn Aggregator>
fn agg_clone(&self) -> Box<dyn Aggregator>
Clone, jammed into the trait to avoid multitrait problems
Source§impl<F: Fn(&[usize]) -> usize + 'static> Aggregator for Func<F, usize>
impl<F: Fn(&[usize]) -> usize + 'static> Aggregator for Func<F, usize>
Source§fn aggregate(&self, big_ks: &[usize]) -> usize
fn aggregate(&self, big_ks: &[usize]) -> usize
This is an associative, commutative function over points in some dataspace.
Accepting more than two points is a hack to allow allocation skipping
Source§fn agg_clone(&self) -> Box<dyn Aggregator>
fn agg_clone(&self) -> Box<dyn Aggregator>
Clone, jammed into the trait to avoid multitrait problems
Auto Trait Implementations§
impl<F, T> Freeze for Func<F, T>
impl<F, T> RefUnwindSafe for Func<F, T>where
F: RefUnwindSafe,
T: RefUnwindSafe,
impl<F, T> !Send for Func<F, T>
impl<F, T> !Sync for Func<F, T>
impl<F, T> Unpin for Func<F, T>where
T: Unpin,
impl<F, T> UnwindSafe for Func<F, T>where
F: RefUnwindSafe,
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