pub trait MapVector<T, const DIM: usize> {
// Required method
fn map<U, F: FnMut(T) -> U>(self, func: F) -> Vector<U, DIM>;
}Expand description
Trait to allow for mapping Vector and &Vector
Required Methods§
Sourcefn map<U, F: FnMut(T) -> U>(self, func: F) -> Vector<U, DIM>
fn map<U, F: FnMut(T) -> U>(self, func: F) -> Vector<U, DIM>
Map an operation over every element of the vector
use perpendicular::MapVector;
let v = Vector::new((1, 2, 3, 4));
assert_eq!(v.clone().map(|i| i * 3), Vector::new((3, 6, 9, 12)));
assert_eq!(v.clone().map(|i| -i), Vector::new((-1, -2, -3, -4)));Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.