Struct chargrid_runtime::Size
[−]pub struct Size { /* private fields */ }
Expand description
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
impl Size
pub const fn try_new(
width: u32,
height: u32
) -> Result<Size, DimensionTooLargeForSize>
pub fn new(width: u32, height: u32) -> Size
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
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 const fn to_coord(self) -> Result<Coord, DimensionTooLargeForCoord>
pub const 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 const 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 const 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 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 const fn is_zero(self) -> bool
pub const fn is_valid(self, coord: Coord) -> bool
pub const fn constrain(self, coord: Coord) -> Option<Coord>
pub const 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<T> DivAssign<T> for Size where
Size: Div<T>,
<Size as Div<T>>::Output == Size,
impl<T> DivAssign<T> for Size where
Size: Div<T>,
<Size as Div<T>>::Output == Size,
pub fn div_assign(&mut self, rhs: T)
pub fn div_assign(&mut self, rhs: T)
Performs the /=
operation. Read more
impl<T> MulAssign<T> for Size where
Size: Mul<T>,
<Size as Mul<T>>::Output == Size,
impl<T> MulAssign<T> for Size where
Size: Mul<T>,
<Size as Mul<T>>::Output == Size,
pub fn mul_assign(&mut self, rhs: T)
pub fn mul_assign(&mut self, rhs: T)
Performs the *=
operation. Read more
impl Ord for Size
impl Ord for Size
impl PartialOrd<Size> for Size
impl PartialOrd<Size> for Size
pub fn partial_cmp(&self, other: &Size) -> Option<Ordering>
pub fn partial_cmp(&self, other: &Size) -> Option<Ordering>
This method returns an ordering between self
and other
values if one exists. Read more
1.0.0 · sourcefn lt(&self, other: &Rhs) -> bool
fn lt(&self, other: &Rhs) -> bool
This method tests less than (for self
and other
) and is used by the <
operator. Read more
1.0.0 · sourcefn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
This method tests less than or equal to (for self
and other
) and is used by the <=
operator. Read more
impl Copy for Size
impl Eq for Size
impl StructuralEq for Size
impl StructuralPartialEq for Size
Auto Trait Implementations
impl RefUnwindSafe for Size
impl Send for Size
impl Sync for Size
impl Unpin for Size
impl UnwindSafe for Size
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcepub fn borrow_mut(&mut self) -> &mut T
pub fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcepub fn to_owned(&self) -> T
pub fn to_owned(&self) -> T
Creates owned data from borrowed data, usually by cloning. Read more
sourcepub fn clone_into(&self, target: &mut T)
pub fn clone_into(&self, target: &mut T)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more