[][src]Struct grid_trait::grid3::combinate::slice::Grid3Slice

pub struct Grid3Slice<G, X, Y, Z> where
    G: Grid3,
    X: RangeBounds<i32> + Clone,
    Y: RangeBounds<i32> + Clone,
    Z: RangeBounds<i32> + Clone
{ /* fields omitted */ }

Sub-view of a Grid3.

The valid coordinates in this grid are a subset of the valid coordinates in the inner grid.

Methods

impl<G, X, Y, Z> Grid3Slice<G, X, Y, Z> where
    G: Grid3,
    X: RangeBounds<i32> + Clone,
    Y: RangeBounds<i32> + Clone,
    Z: RangeBounds<i32> + Clone
[src]

pub fn try_new(inner: G, new_x: X, new_y: Y, new_z: Z) -> Result<Self, G>[src]

Fails if the new bounds are not a subset of the old ones.

pub fn new(inner: G, new_x: X, new_y: Y, new_z: Z) -> Self where
    X: Debug,
    Y: Debug,
    Z: Debug,
    <G as Grid3>::XBound: Debug,
    <G as Grid3>::YBound: Debug,
    <G as Grid3>::ZBound: Debug
[src]

Panics if the new bounds are not a subset of the old ones.

Trait Implementations

impl<G, X, Y, Z> Grid3 for Grid3Slice<G, X, Y, Z> where
    G: Grid3,
    X: RangeBounds<i32> + Clone,
    Y: RangeBounds<i32> + Clone,
    Z: RangeBounds<i32> + Clone
[src]

type Item = <G as Grid3>::Item

type XBound = X

type YBound = Y

type ZBound = Z

impl<G, X, Y, Z> Grid3Get for Grid3Slice<G, X, Y, Z> where
    G: Grid3 + Grid3Get,
    X: RangeBounds<i32> + Clone,
    Y: RangeBounds<i32> + Clone,
    Z: RangeBounds<i32> + Clone
[src]

impl<G> Grid3Len for Grid3Slice<G, Range0To, Range0To, Range0To> where
    G: Grid3
[src]

impl<G, X, Y, Z> Grid3Mut for Grid3Slice<G, X, Y, Z> where
    G: Grid3 + Grid3Mut,
    X: RangeBounds<i32> + Clone,
    Y: RangeBounds<i32> + Clone,
    Z: RangeBounds<i32> + Clone
[src]

impl<G, X, Y, Z> Grid3Ref for Grid3Slice<G, X, Y, Z> where
    G: Grid3 + Grid3Ref,
    X: RangeBounds<i32> + Clone,
    Y: RangeBounds<i32> + Clone,
    Z: RangeBounds<i32> + Clone
[src]

impl<G, X, Y, Z> Grid3Set for Grid3Slice<G, X, Y, Z> where
    G: Grid3 + Grid3Set,
    X: RangeBounds<i32> + Clone,
    Y: RangeBounds<i32> + Clone,
    Z: RangeBounds<i32> + Clone
[src]

Auto Trait Implementations

impl<G, X, Y, Z> RefUnwindSafe for Grid3Slice<G, X, Y, Z> where
    G: RefUnwindSafe,
    X: RefUnwindSafe,
    Y: RefUnwindSafe,
    Z: RefUnwindSafe

impl<G, X, Y, Z> Send for Grid3Slice<G, X, Y, Z> where
    G: Send,
    X: Send,
    Y: Send,
    Z: Send

impl<G, X, Y, Z> Sync for Grid3Slice<G, X, Y, Z> where
    G: Sync,
    X: Sync,
    Y: Sync,
    Z: Sync

impl<G, X, Y, Z> Unpin for Grid3Slice<G, X, Y, Z> where
    G: Unpin,
    X: Unpin,
    Y: Unpin,
    Z: Unpin

impl<G, X, Y, Z> UnwindSafe for Grid3Slice<G, X, Y, Z> where
    G: UnwindSafe,
    X: UnwindSafe,
    Y: UnwindSafe,
    Z: UnwindSafe

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T> Grid3 for T where
    T: Deref,
    <T as Deref>::Target: Grid3
[src]

type Item = <<T as Deref>::Target as Grid3>::Item

type XBound = <<T as Deref>::Target as Grid3>::XBound

type YBound = <<T as Deref>::Target as Grid3>::YBound

type ZBound = <<T as Deref>::Target as Grid3>::ZBound

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

impl<T> Grid3Len for T where
    T: Deref,
    <T as Deref>::Target: Grid3Len
[src]

impl<T> Grid3Mut for T where
    T: Deref + DerefMut,
    <T as Deref>::Target: Grid3Mut
[src]

impl<T> Grid3Ref for T where
    T: Deref,
    <T as Deref>::Target: Grid3Ref
[src]

impl<T> Grid3Set for T where
    T: Deref + DerefMut,
    <T as Deref>::Target: Grid3Set
[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.