[]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.

Methods

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 ::std::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
    A: StaticAxis,
    F: FnMut(u32) -> u32

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, 

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>

pub fn set_width(self, width: u32) -> Size

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

Trait Implementations

impl Debug for Size

impl From<[u32; 2]> for Size

impl From<(u32, u32)> for Size

impl StructuralEq for Size

impl Default for Size

impl PartialOrd<Size> 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 Eq 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 StructuralPartialEq for Size

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

impl Copy for Size

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

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> Add<Coord> for &'a Size

type Output = Coord

The resulting type after applying the + operator.

impl Add<Coord> for Size

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<'a> Add<Size> for &'a Size

type Output = Size

The resulting type after applying the + operator.

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

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<Size> for Coord

type Output = Coord

The resulting type after applying the + operator.

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

type Output = Coord

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 Sub<Size> for Coord

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> 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<'a> Sub<&'a Size> for Size

type Output = Size

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 Sub<Size> for Size

type Output = Size

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<Size> for &'a Size

type Output = Size

The resulting type after applying the - operator.

impl PartialEq<Size> for Size

impl Ord for Size

impl Clone for Size

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

impl Hash for Size

Auto Trait Implementations

impl Send for Size

impl Sync for Size

impl Unpin for Size

impl UnwindSafe for Size

impl RefUnwindSafe for Size

Blanket Implementations

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 = !

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.

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

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

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