Struct grid_search_cardinal::Size[]

pub struct Size { /* fields omitted */ }

A size cannot be created which would contain un-addressable cells. That is, the maximum size has a width and height of one greater than the maximum i32.

Implementations

impl Size

pub fn try_new(
    width: u32,
    height: u32
) -> Result<Size, DimensionTooLargeForSize>

pub fn new(width: u32, height: u32) -> Size

Creates a new Size. Panics if width or width is greater than ::core::i32::MAX as u32 + 1.

pub const fn new_u16(width: u16, height: u16) -> Size

Like new, but const and never panics as it's impossible to construct an invalid size

pub fn from_coord(coord: Coord) -> Result<Size, NegativeDimension>

pub fn to_coord(self) -> Result<Coord, DimensionTooLargeForCoord>

pub fn get(self, axis: Axis) -> u32

pub fn get_mut(&mut self, axis: Axis) -> &mut u32

pub fn with_axis<F>(self, axis: Axis, f: F) -> Size where
    F: FnMut(u32) -> u32

pub fn try_set(
    self,
    axis: Axis,
    value: u32
) -> Result<Size, DimensionTooLargeForSize>

pub fn set(self, axis: Axis, value: u32) -> Size

pub fn try_set_in_place(
    &mut self,
    axis: Axis,
    value: u32
) -> Result<(), DimensionTooLargeForSize>

pub fn set_in_place(&mut self, axis: Axis, value: u32)

pub fn try_new_axis(
    this_axis: u32,
    other_axis: u32,
    axis: Axis
) -> Result<Size, DimensionTooLargeForSize>

pub fn new_axis(this_axis: u32, other_axis: u32, axis: Axis) -> Size

pub fn get_static<A>(self) -> u32 where
    A: StaticAxis, 

pub fn get_static_mut<A>(&mut self) -> &mut u32 where
    A: StaticAxis, 

pub fn with_static_axis<A, F>(self, f: F) -> Size where
    F: FnMut(u32) -> u32,
    A: StaticAxis, 

pub fn try_set_static<A>(
    self,
    value: u32
) -> Result<Size, DimensionTooLargeForSize> where
    A: StaticAxis, 

pub fn try_set_static_in_place<A>(
    &mut self,
    value: u32
) -> Result<(), DimensionTooLargeForSize> where
    A: StaticAxis, 

#[must_use]pub fn set_static<A>(self, value: u32) -> Size where
    A: StaticAxis, 

pub fn set_static_in_place<A>(&mut self, value: u32) where
    A: StaticAxis, 

pub fn try_new_static_axis<A>(
    this_axis: u32,
    other_axis: u32
) -> Result<Size, DimensionTooLargeForSize> where
    A: StaticAxis, 

pub fn new_static_axis<A>(this_axis: u32, other_axis: u32) -> Size where
    A: StaticAxis, 

pub fn try_set_width(self, width: u32) -> Result<Size, DimensionTooLargeForSize>

pub fn try_set_height(
    self,
    height: u32
) -> Result<Size, DimensionTooLargeForSize>

#[must_use]pub fn set_width(self, width: u32) -> Size

#[must_use]pub fn set_height(self, height: u32) -> Size

pub fn try_set_width_in_place(
    &mut self,
    width: u32
) -> Result<(), DimensionTooLargeForSize>

pub fn try_set_height_in_place(
    &mut self,
    height: u32
) -> Result<(), DimensionTooLargeForSize>

pub fn set_width_in_place(&mut self, width: u32)

pub fn set_height_in_place(&mut self, height: u32)

pub const fn width(self) -> u32

Returns the width.

pub const fn x(self) -> u32

Alias for width.

pub const fn height(self) -> u32

Returns the height.

pub const fn y(self) -> u32

Alias for height.

pub const fn count(self) -> usize

Return the number of cells in a 2D grid of this size.

pub fn checked_sub(self, rhs: Size) -> Option<Size>

pub fn saturating_sub(self, rhs: Size) -> Size

pub const fn max_field() -> u32

pub const fn max() -> Size

pub fn is_zero(self) -> bool

pub fn is_valid(self, coord: Coord) -> bool

pub fn constrain(self, coord: Coord) -> Option<Coord>

pub fn coord_iter_row_major(self) -> CoordIterRowMajor

pub fn pairwise_max(self, other: Size) -> Size

pub fn pairwise_min(self, other: Size) -> Size

Trait Implementations

impl<'a> Add<&'a Coord> for Size

type Output = Coord

The resulting type after applying the + operator.

impl<'a, 'b> Add<&'a Coord> for &'b Size

type Output = Coord

The resulting type after applying the + operator.

impl<'a, 'b> Add<&'a Size> for &'b Coord

type Output = Coord

The resulting type after applying the + operator.

impl<'a> Add<&'a Size> for Coord

type Output = Coord

The resulting type after applying the + operator.

impl<'a, 'b> Add<&'a Size> for &'b Size

type Output = Size

The resulting type after applying the + operator.

impl<'a> Add<&'a Size> for Size

type Output = Size

The resulting type after applying the + operator.

impl Add<Coord> for Size

type Output = Coord

The resulting type after applying the + operator.

impl<'a> Add<Coord> for &'a Size

type Output = Coord

The resulting type after applying the + operator.

impl<'a> Add<Size> for &'a Coord

type Output = Coord

The resulting type after applying the + operator.

impl<'a> Add<Size> for &'a Size

type Output = Size

The resulting type after applying the + operator.

impl Add<Size> for Coord

type Output = Coord

The resulting type after applying the + operator.

impl Add<Size> for Size

type Output = Size

The resulting type after applying the + operator.

impl Clone for Size

impl Copy for Size

impl Debug for Size

impl Default for Size

impl<'a> Div<u32> for &'a Size

type Output = Size

The resulting type after applying the / operator.

impl Div<u32> for Size

type Output = Size

The resulting type after applying the / operator.

impl<T> DivAssign<T> for Size where
    Size: Div<T>,
    <Size as Div<T>>::Output == Size

impl Eq for Size

impl From<[u32; 2]> for Size

impl From<(u32, u32)> for Size

impl Hash for Size

impl<'a> Mul<u32> for &'a Size

type Output = Size

The resulting type after applying the * operator.

impl Mul<u32> for Size

type Output = Size

The resulting type after applying the * operator.

impl<T> MulAssign<T> for Size where
    Size: Mul<T>,
    <Size as Mul<T>>::Output == Size

impl Ord for Size

impl PartialEq<Size> for Size

impl PartialOrd<Size> for Size

impl StructuralEq for Size

impl StructuralPartialEq for Size

impl<'a, 'b> Sub<&'a Coord> for &'b Size

type Output = Coord

The resulting type after applying the - operator.

impl<'a> Sub<&'a Coord> for Size

type Output = Coord

The resulting type after applying the - operator.

impl<'a, 'b> Sub<&'a Size> for &'b Coord

type Output = Coord

The resulting type after applying the - operator.

impl<'a> Sub<&'a Size> for Coord

type Output = Coord

The resulting type after applying the - operator.

impl<'a> Sub<&'a Size> for Size

type Output = Size

The resulting type after applying the - operator.

impl<'a, 'b> Sub<&'a Size> for &'b Size

type Output = Size

The resulting type after applying the - operator.

impl<'a> Sub<Coord> for &'a Size

type Output = Coord

The resulting type after applying the - operator.

impl Sub<Coord> for Size

type Output = Coord

The resulting type after applying the - operator.

impl<'a> Sub<Size> for &'a Coord

type Output = Coord

The resulting type after applying the - operator.

impl Sub<Size> for Size

type Output = Size

The resulting type after applying the - operator.

impl<'a> Sub<Size> for &'a Size

type Output = Size

The resulting type after applying the - operator.

impl Sub<Size> for Coord

type Output = Coord

The resulting type after applying the - operator.

Auto Trait Implementations

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, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

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.