Trait Grid3Get

Source
pub trait Grid3Get: Grid3 {
    // Required method
    fn get<I>(&self, coord: I) -> Self::Item
       where I: Into<Vector3<i32>>;

    // Provided method
    fn try_get<I>(&self, coord: I) -> Option<Self::Item>
       where I: Into<Vector3<i32>> { ... }
}
Expand description

2D grid read by value.

Required Methods§

Source

fn get<I>(&self, coord: I) -> Self::Item
where I: Into<Vector3<i32>>,

Provided Methods§

Source

fn try_get<I>(&self, coord: I) -> Option<Self::Item>
where I: Into<Vector3<i32>>,

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.

Implementors§

Source§

impl<'a, F, I, T> Grid3Get for KolmoRefGrid3<'a, F, I, T>
where F: Fn(I) -> &'a T, T: Clone + 'a, I: From<Vector3<i32>>,

Source§

impl<F, I, T> Grid3Get for KolmoGrid3<F, I, T>
where F: Fn(I) -> T, I: From<Vector3<i32>>,

Source§

impl<G> Grid3Get for Grid3Flat<G>
where G: Grid3 + Grid3Ref, <G as Grid3>::Item: Grid3 + Grid3Get, <G as Grid3>::XBound: Clone, <G as Grid3>::YBound: Clone, <G as Grid3>::ZBound: Clone,

Source§

impl<G> Grid3Get for Grid3NewOrigin<G>

Source§

impl<G> Grid3Get for Grid3Wrapping<G>
where G: Grid3 + Grid3Get, <G as Grid3>::XBound: BoundRange, <G as Grid3>::YBound: BoundRange, <G as Grid3>::ZBound: BoundRange,

Source§

impl<G, F, T> Grid3Get for Grid3Map<G, F, T>
where G: Grid3 + Grid3Get, F: Fn(<G as Grid3>::Item) -> T,

Source§

impl<G, F, T, I> Grid3Get for Grid3EnuMap<G, F, T, I>
where G: Grid3 + Grid3Get, I: From<Vector3<i32>>, F: Fn(I, <G as Grid3>::Item) -> T,

Source§

impl<G, I, F> Grid3Get for Grid3OobHandler<G, I, F>
where G: Grid3 + Grid3Get, I: From<Vector3<i32>>, F: Fn(I) -> <G as Grid3>::Item,

Source§

impl<G, X, Y, Z> Grid3Get for Grid3Slice<G, X, Y, Z>

Source§

impl<I, R, T, Fr, Fw> Grid3Get for KolmoRwGrid3<I, R, T, Fr, Fw>
where T: Clone, Fr: Fn(I, &R) -> &T, Fw: FnMut(I, &mut R) -> &mut T, I: From<Vector3<i32>>,

Source§

impl<T> Grid3Get for T
where T: Deref, <T as Deref>::Target: Grid3Get,

Source§

impl<T: Clone> Grid3Get for ArrayGrid3<T>

Source§

impl<T: Clone> Grid3Get for Inline3x3x3Grid<T>