#[repr(C)]pub struct IVec4 {
pub x: i32,
pub y: i32,
pub z: i32,
pub w: i32,
}
Expand description
A 4-dimensional vector.
Fields§
§x: i32
§y: i32
§z: i32
§w: i32
Implementations§
source§impl IVec4
impl IVec4
sourcepub fn select(mask: BVec4, if_true: IVec4, if_false: IVec4) -> IVec4
pub fn select(mask: BVec4, if_true: IVec4, if_false: IVec4) -> IVec4
Creates a vector from the elements in if_true
and if_false
, selecting which to use
for each element of self
.
A true element in the mask uses the corresponding element from if_true
, and false
uses the element from if_false
.
sourcepub const fn from_array(a: [i32; 4]) -> IVec4
pub const fn from_array(a: [i32; 4]) -> IVec4
Creates a new vector from an array.
sourcepub const fn from_slice(slice: &[i32]) -> IVec4
pub const fn from_slice(slice: &[i32]) -> IVec4
Creates a vector from the first 4 values in slice
.
§Panics
Panics if slice
is less than 4 elements long.
sourcepub fn write_to_slice(self, slice: &mut [i32])
pub fn write_to_slice(self, slice: &mut [i32])
Writes the elements of self
to the first 4 elements in slice
.
§Panics
Panics if slice
is less than 4 elements long.
sourcepub fn truncate(self) -> IVec3
pub fn truncate(self) -> IVec3
Creates a 3D vector from the x
, y
and z
elements of self
, discarding w
.
Truncation to IVec3
may also be performed by using self.xyz()
.
sourcepub fn dot_into_vec(self, rhs: IVec4) -> IVec4
pub fn dot_into_vec(self, rhs: IVec4) -> IVec4
Returns a vector where every component is the dot product of self
and rhs
.
sourcepub fn min(self, rhs: IVec4) -> IVec4
pub fn min(self, rhs: IVec4) -> IVec4
Returns a vector containing the minimum values for each element of self
and rhs
.
In other words this computes [self.x.min(rhs.x), self.y.min(rhs.y), ..]
.
sourcepub fn max(self, rhs: IVec4) -> IVec4
pub fn max(self, rhs: IVec4) -> IVec4
Returns a vector containing the maximum values for each element of self
and rhs
.
In other words this computes [self.x.max(rhs.x), self.y.max(rhs.y), ..]
.
sourcepub fn clamp(self, min: IVec4, max: IVec4) -> IVec4
pub fn clamp(self, min: IVec4, max: IVec4) -> IVec4
Component-wise clamping of values, similar to i32::clamp
.
Each element in min
must be less-or-equal to the corresponding element in max
.
§Panics
Will panic if min
is greater than max
when glam_assert
is enabled.
sourcepub fn min_element(self) -> i32
pub fn min_element(self) -> i32
Returns the horizontal minimum of self
.
In other words this computes min(x, y, ..)
.
sourcepub fn max_element(self) -> i32
pub fn max_element(self) -> i32
Returns the horizontal maximum of self
.
In other words this computes max(x, y, ..)
.
sourcepub fn element_sum(self) -> i32
pub fn element_sum(self) -> i32
Returns the sum of all elements of self
.
In other words, this computes self.x + self.y + ..
.
sourcepub fn element_product(self) -> i32
pub fn element_product(self) -> i32
Returns the product of all elements of self
.
In other words, this computes self.x * self.y * ..
.
sourcepub fn cmpeq(self, rhs: IVec4) -> BVec4
pub fn cmpeq(self, rhs: IVec4) -> BVec4
Returns a vector mask containing the result of a ==
comparison for each element of
self
and rhs
.
In other words, this computes [self.x == rhs.x, self.y == rhs.y, ..]
for all
elements.
sourcepub fn cmpne(self, rhs: IVec4) -> BVec4
pub fn cmpne(self, rhs: IVec4) -> BVec4
Returns a vector mask containing the result of a !=
comparison for each element of
self
and rhs
.
In other words this computes [self.x != rhs.x, self.y != rhs.y, ..]
for all
elements.
sourcepub fn cmpge(self, rhs: IVec4) -> BVec4
pub fn cmpge(self, rhs: IVec4) -> BVec4
Returns a vector mask containing the result of a >=
comparison for each element of
self
and rhs
.
In other words this computes [self.x >= rhs.x, self.y >= rhs.y, ..]
for all
elements.
sourcepub fn cmpgt(self, rhs: IVec4) -> BVec4
pub fn cmpgt(self, rhs: IVec4) -> BVec4
Returns a vector mask containing the result of a >
comparison for each element of
self
and rhs
.
In other words this computes [self.x > rhs.x, self.y > rhs.y, ..]
for all
elements.
sourcepub fn cmple(self, rhs: IVec4) -> BVec4
pub fn cmple(self, rhs: IVec4) -> BVec4
Returns a vector mask containing the result of a <=
comparison for each element of
self
and rhs
.
In other words this computes [self.x <= rhs.x, self.y <= rhs.y, ..]
for all
elements.
sourcepub fn cmplt(self, rhs: IVec4) -> BVec4
pub fn cmplt(self, rhs: IVec4) -> BVec4
Returns a vector mask containing the result of a <
comparison for each element of
self
and rhs
.
In other words this computes [self.x < rhs.x, self.y < rhs.y, ..]
for all
elements.
sourcepub fn abs(self) -> IVec4
pub fn abs(self) -> IVec4
Returns a vector containing the absolute value of each element of self
.
sourcepub fn signum(self) -> IVec4
pub fn signum(self) -> IVec4
Returns a vector with elements representing the sign of self
.
0
if the number is zero1
if the number is positive-1
if the number is negative
sourcepub fn is_negative_bitmask(self) -> u32
pub fn is_negative_bitmask(self) -> u32
Returns a bitmask with the lowest 4 bits set to the sign bits from the elements of self
.
A negative element results in a 1
bit and a positive element in a 0
bit. Element x
goes
into the first lowest bit, element y
into the second, etc.
sourcepub fn length_squared(self) -> i32
pub fn length_squared(self) -> i32
Computes the squared length of self
.
sourcepub fn distance_squared(self, rhs: IVec4) -> i32
pub fn distance_squared(self, rhs: IVec4) -> i32
Compute the squared euclidean distance between two points in space.
sourcepub fn div_euclid(self, rhs: IVec4) -> IVec4
pub fn div_euclid(self, rhs: IVec4) -> IVec4
Returns the element-wise quotient of [Euclidean division] of self
by rhs
.
§Panics
This function will panic if any rhs
element is 0 or the division results in overflow.
sourcepub fn rem_euclid(self, rhs: IVec4) -> IVec4
pub fn rem_euclid(self, rhs: IVec4) -> IVec4
Returns the element-wise remainder of Euclidean division of self
by rhs
.
§Panics
This function will panic if any rhs
element is 0 or the division results in overflow.
sourcepub fn as_i16vec4(&self) -> I16Vec4
pub fn as_i16vec4(&self) -> I16Vec4
Casts all elements of self
to i16
.
sourcepub fn as_u16vec4(&self) -> U16Vec4
pub fn as_u16vec4(&self) -> U16Vec4
Casts all elements of self
to u16
.
sourcepub fn as_i64vec4(&self) -> I64Vec4
pub fn as_i64vec4(&self) -> I64Vec4
Casts all elements of self
to i64
.
sourcepub fn as_u64vec4(&self) -> U64Vec4
pub fn as_u64vec4(&self) -> U64Vec4
Casts all elements of self
to u64
.
sourcepub const fn wrapping_add(self, rhs: IVec4) -> IVec4
pub const fn wrapping_add(self, rhs: IVec4) -> IVec4
Returns a vector containing the wrapping addition of self
and rhs
.
In other words this computes [self.x.wrapping_add(rhs.x), self.y.wrapping_add(rhs.y), ..]
.
sourcepub const fn wrapping_sub(self, rhs: IVec4) -> IVec4
pub const fn wrapping_sub(self, rhs: IVec4) -> IVec4
Returns a vector containing the wrapping subtraction of self
and rhs
.
In other words this computes [self.x.wrapping_sub(rhs.x), self.y.wrapping_sub(rhs.y), ..]
.
sourcepub const fn wrapping_mul(self, rhs: IVec4) -> IVec4
pub const fn wrapping_mul(self, rhs: IVec4) -> IVec4
Returns a vector containing the wrapping multiplication of self
and rhs
.
In other words this computes [self.x.wrapping_mul(rhs.x), self.y.wrapping_mul(rhs.y), ..]
.
sourcepub const fn wrapping_div(self, rhs: IVec4) -> IVec4
pub const fn wrapping_div(self, rhs: IVec4) -> IVec4
Returns a vector containing the wrapping division of self
and rhs
.
In other words this computes [self.x.wrapping_div(rhs.x), self.y.wrapping_div(rhs.y), ..]
.
sourcepub const fn saturating_add(self, rhs: IVec4) -> IVec4
pub const fn saturating_add(self, rhs: IVec4) -> IVec4
Returns a vector containing the saturating addition of self
and rhs
.
In other words this computes [self.x.saturating_add(rhs.x), self.y.saturating_add(rhs.y), ..]
.
sourcepub const fn saturating_sub(self, rhs: IVec4) -> IVec4
pub const fn saturating_sub(self, rhs: IVec4) -> IVec4
Returns a vector containing the saturating subtraction of self
and rhs
.
In other words this computes [self.x.saturating_sub(rhs.x), self.y.saturating_sub(rhs.y), ..]
.
sourcepub const fn saturating_mul(self, rhs: IVec4) -> IVec4
pub const fn saturating_mul(self, rhs: IVec4) -> IVec4
Returns a vector containing the saturating multiplication of self
and rhs
.
In other words this computes [self.x.saturating_mul(rhs.x), self.y.saturating_mul(rhs.y), ..]
.
sourcepub const fn saturating_div(self, rhs: IVec4) -> IVec4
pub const fn saturating_div(self, rhs: IVec4) -> IVec4
Returns a vector containing the saturating division of self
and rhs
.
In other words this computes [self.x.saturating_div(rhs.x), self.y.saturating_div(rhs.y), ..]
.
sourcepub const fn wrapping_add_unsigned(self, rhs: UVec4) -> IVec4
pub const fn wrapping_add_unsigned(self, rhs: UVec4) -> IVec4
Returns a vector containing the wrapping addition of self
and unsigned vector rhs
.
In other words this computes [self.x.wrapping_add_unsigned(rhs.x), self.y.wrapping_add_unsigned(rhs.y), ..]
.
sourcepub const fn wrapping_sub_unsigned(self, rhs: UVec4) -> IVec4
pub const fn wrapping_sub_unsigned(self, rhs: UVec4) -> IVec4
Returns a vector containing the wrapping subtraction of self
and unsigned vector rhs
.
In other words this computes [self.x.wrapping_sub_unsigned(rhs.x), self.y.wrapping_sub_unsigned(rhs.y), ..]
.
sourcepub const fn saturating_add_unsigned(self, rhs: UVec4) -> IVec4
pub const fn saturating_add_unsigned(self, rhs: UVec4) -> IVec4
In other words this computes [self.x.saturating_add_unsigned(rhs.x), self.y.saturating_add_unsigned(rhs.y), ..]
.
sourcepub const fn saturating_sub_unsigned(self, rhs: UVec4) -> IVec4
pub const fn saturating_sub_unsigned(self, rhs: UVec4) -> IVec4
Returns a vector containing the saturating subtraction of self
and unsigned vector rhs
.
In other words this computes [self.x.saturating_sub_unsigned(rhs.x), self.y.saturating_sub_unsigned(rhs.y), ..]
.
Trait Implementations§
source§impl AddAssign<i32> for IVec4
impl AddAssign<i32> for IVec4
source§fn add_assign(&mut self, rhs: i32)
fn add_assign(&mut self, rhs: i32)
+=
operation. Read moresource§impl AddAssign for IVec4
impl AddAssign for IVec4
source§fn add_assign(&mut self, rhs: IVec4)
fn add_assign(&mut self, rhs: IVec4)
+=
operation. Read moresource§impl<'de> Deserialize<'de> for IVec4
impl<'de> Deserialize<'de> for IVec4
source§fn deserialize<D>(
deserializer: D
) -> Result<IVec4, <D as Deserializer<'de>>::Error>where
D: Deserializer<'de>,
fn deserialize<D>(
deserializer: D
) -> Result<IVec4, <D as Deserializer<'de>>::Error>where
D: Deserializer<'de>,
source§impl DivAssign<i32> for IVec4
impl DivAssign<i32> for IVec4
source§fn div_assign(&mut self, rhs: i32)
fn div_assign(&mut self, rhs: i32)
/=
operation. Read moresource§impl DivAssign for IVec4
impl DivAssign for IVec4
source§fn div_assign(&mut self, rhs: IVec4)
fn div_assign(&mut self, rhs: IVec4)
/=
operation. Read moresource§impl MulAssign<i32> for IVec4
impl MulAssign<i32> for IVec4
source§fn mul_assign(&mut self, rhs: i32)
fn mul_assign(&mut self, rhs: i32)
*=
operation. Read moresource§impl MulAssign for IVec4
impl MulAssign for IVec4
source§fn mul_assign(&mut self, rhs: IVec4)
fn mul_assign(&mut self, rhs: IVec4)
*=
operation. Read moresource§impl PartialEq for IVec4
impl PartialEq for IVec4
source§impl RemAssign<i32> for IVec4
impl RemAssign<i32> for IVec4
source§fn rem_assign(&mut self, rhs: i32)
fn rem_assign(&mut self, rhs: i32)
%=
operation. Read moresource§impl RemAssign for IVec4
impl RemAssign for IVec4
source§fn rem_assign(&mut self, rhs: IVec4)
fn rem_assign(&mut self, rhs: IVec4)
%=
operation. Read moresource§impl Serialize for IVec4
impl Serialize for IVec4
source§fn serialize<S>(
&self,
serializer: S
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where
S: Serializer,
fn serialize<S>(
&self,
serializer: S
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where
S: Serializer,
source§impl SubAssign<i32> for IVec4
impl SubAssign<i32> for IVec4
source§fn sub_assign(&mut self, rhs: i32)
fn sub_assign(&mut self, rhs: i32)
-=
operation. Read moresource§impl SubAssign for IVec4
impl SubAssign for IVec4
source§fn sub_assign(&mut self, rhs: IVec4)
fn sub_assign(&mut self, rhs: IVec4)
-=
operation. Read moresource§impl Vec4Swizzles for IVec4
impl Vec4Swizzles for IVec4
type Vec2 = IVec2
type Vec3 = IVec3
fn xx(self) -> IVec2
fn xy(self) -> IVec2
fn xz(self) -> IVec2
fn xw(self) -> IVec2
fn yx(self) -> IVec2
fn yy(self) -> IVec2
fn yz(self) -> IVec2
fn yw(self) -> IVec2
fn zx(self) -> IVec2
fn zy(self) -> IVec2
fn zz(self) -> IVec2
fn zw(self) -> IVec2
fn wx(self) -> IVec2
fn wy(self) -> IVec2
fn wz(self) -> IVec2
fn ww(self) -> IVec2
fn xxx(self) -> IVec3
fn xxy(self) -> IVec3
fn xxz(self) -> IVec3
fn xxw(self) -> IVec3
fn xyx(self) -> IVec3
fn xyy(self) -> IVec3
fn xyz(self) -> IVec3
fn xyw(self) -> IVec3
fn xzx(self) -> IVec3
fn xzy(self) -> IVec3
fn xzz(self) -> IVec3
fn xzw(self) -> IVec3
fn xwx(self) -> IVec3
fn xwy(self) -> IVec3
fn xwz(self) -> IVec3
fn xww(self) -> IVec3
fn yxx(self) -> IVec3
fn yxy(self) -> IVec3
fn yxz(self) -> IVec3
fn yxw(self) -> IVec3
fn yyx(self) -> IVec3
fn yyy(self) -> IVec3
fn yyz(self) -> IVec3
fn yyw(self) -> IVec3
fn yzx(self) -> IVec3
fn yzy(self) -> IVec3
fn yzz(self) -> IVec3
fn yzw(self) -> IVec3
fn ywx(self) -> IVec3
fn ywy(self) -> IVec3
fn ywz(self) -> IVec3
fn yww(self) -> IVec3
fn zxx(self) -> IVec3
fn zxy(self) -> IVec3
fn zxz(self) -> IVec3
fn zxw(self) -> IVec3
fn zyx(self) -> IVec3
fn zyy(self) -> IVec3
fn zyz(self) -> IVec3
fn zyw(self) -> IVec3
fn zzx(self) -> IVec3
fn zzy(self) -> IVec3
fn zzz(self) -> IVec3
fn zzw(self) -> IVec3
fn zwx(self) -> IVec3
fn zwy(self) -> IVec3
fn zwz(self) -> IVec3
fn zww(self) -> IVec3
fn wxx(self) -> IVec3
fn wxy(self) -> IVec3
fn wxz(self) -> IVec3
fn wxw(self) -> IVec3
fn wyx(self) -> IVec3
fn wyy(self) -> IVec3
fn wyz(self) -> IVec3
fn wyw(self) -> IVec3
fn wzx(self) -> IVec3
fn wzy(self) -> IVec3
fn wzz(self) -> IVec3
fn wzw(self) -> IVec3
fn wwx(self) -> IVec3
fn wwy(self) -> IVec3
fn wwz(self) -> IVec3
fn www(self) -> IVec3
fn xxxx(self) -> IVec4
fn xxxy(self) -> IVec4
fn xxxz(self) -> IVec4
fn xxxw(self) -> IVec4
fn xxyx(self) -> IVec4
fn xxyy(self) -> IVec4
fn xxyz(self) -> IVec4
fn xxyw(self) -> IVec4
fn xxzx(self) -> IVec4
fn xxzy(self) -> IVec4
fn xxzz(self) -> IVec4
fn xxzw(self) -> IVec4
fn xxwx(self) -> IVec4
fn xxwy(self) -> IVec4
fn xxwz(self) -> IVec4
fn xxww(self) -> IVec4
fn xyxx(self) -> IVec4
fn xyxy(self) -> IVec4
fn xyxz(self) -> IVec4
fn xyxw(self) -> IVec4
fn xyyx(self) -> IVec4
fn xyyy(self) -> IVec4
fn xyyz(self) -> IVec4
fn xyyw(self) -> IVec4
fn xyzx(self) -> IVec4
fn xyzy(self) -> IVec4
fn xyzz(self) -> IVec4
fn xyzw(self) -> IVec4
fn xywx(self) -> IVec4
fn xywy(self) -> IVec4
fn xywz(self) -> IVec4
fn xyww(self) -> IVec4
fn xzxx(self) -> IVec4
fn xzxy(self) -> IVec4
fn xzxz(self) -> IVec4
fn xzxw(self) -> IVec4
fn xzyx(self) -> IVec4
fn xzyy(self) -> IVec4
fn xzyz(self) -> IVec4
fn xzyw(self) -> IVec4
fn xzzx(self) -> IVec4
fn xzzy(self) -> IVec4
fn xzzz(self) -> IVec4
fn xzzw(self) -> IVec4
fn xzwx(self) -> IVec4
fn xzwy(self) -> IVec4
fn xzwz(self) -> IVec4
fn xzww(self) -> IVec4
fn xwxx(self) -> IVec4
fn xwxy(self) -> IVec4
fn xwxz(self) -> IVec4
fn xwxw(self) -> IVec4
fn xwyx(self) -> IVec4
fn xwyy(self) -> IVec4
fn xwyz(self) -> IVec4
fn xwyw(self) -> IVec4
fn xwzx(self) -> IVec4
fn xwzy(self) -> IVec4
fn xwzz(self) -> IVec4
fn xwzw(self) -> IVec4
fn xwwx(self) -> IVec4
fn xwwy(self) -> IVec4
fn xwwz(self) -> IVec4
fn xwww(self) -> IVec4
fn yxxx(self) -> IVec4
fn yxxy(self) -> IVec4
fn yxxz(self) -> IVec4
fn yxxw(self) -> IVec4
fn yxyx(self) -> IVec4
fn yxyy(self) -> IVec4
fn yxyz(self) -> IVec4
fn yxyw(self) -> IVec4
fn yxzx(self) -> IVec4
fn yxzy(self) -> IVec4
fn yxzz(self) -> IVec4
fn yxzw(self) -> IVec4
fn yxwx(self) -> IVec4
fn yxwy(self) -> IVec4
fn yxwz(self) -> IVec4
fn yxww(self) -> IVec4
fn yyxx(self) -> IVec4
fn yyxy(self) -> IVec4
fn yyxz(self) -> IVec4
fn yyxw(self) -> IVec4
fn yyyx(self) -> IVec4
fn yyyy(self) -> IVec4
fn yyyz(self) -> IVec4
fn yyyw(self) -> IVec4
fn yyzx(self) -> IVec4
fn yyzy(self) -> IVec4
fn yyzz(self) -> IVec4
fn yyzw(self) -> IVec4
fn yywx(self) -> IVec4
fn yywy(self) -> IVec4
fn yywz(self) -> IVec4
fn yyww(self) -> IVec4
fn yzxx(self) -> IVec4
fn yzxy(self) -> IVec4
fn yzxz(self) -> IVec4
fn yzxw(self) -> IVec4
fn yzyx(self) -> IVec4
fn yzyy(self) -> IVec4
fn yzyz(self) -> IVec4
fn yzyw(self) -> IVec4
fn yzzx(self) -> IVec4
fn yzzy(self) -> IVec4
fn yzzz(self) -> IVec4
fn yzzw(self) -> IVec4
fn yzwx(self) -> IVec4
fn yzwy(self) -> IVec4
fn yzwz(self) -> IVec4
fn yzww(self) -> IVec4
fn ywxx(self) -> IVec4
fn ywxy(self) -> IVec4
fn ywxz(self) -> IVec4
fn ywxw(self) -> IVec4
fn ywyx(self) -> IVec4
fn ywyy(self) -> IVec4
fn ywyz(self) -> IVec4
fn ywyw(self) -> IVec4
fn ywzx(self) -> IVec4
fn ywzy(self) -> IVec4
fn ywzz(self) -> IVec4
fn ywzw(self) -> IVec4
fn ywwx(self) -> IVec4
fn ywwy(self) -> IVec4
fn ywwz(self) -> IVec4
fn ywww(self) -> IVec4
fn zxxx(self) -> IVec4
fn zxxy(self) -> IVec4
fn zxxz(self) -> IVec4
fn zxxw(self) -> IVec4
fn zxyx(self) -> IVec4
fn zxyy(self) -> IVec4
fn zxyz(self) -> IVec4
fn zxyw(self) -> IVec4
fn zxzx(self) -> IVec4
fn zxzy(self) -> IVec4
fn zxzz(self) -> IVec4
fn zxzw(self) -> IVec4
fn zxwx(self) -> IVec4
fn zxwy(self) -> IVec4
fn zxwz(self) -> IVec4
fn zxww(self) -> IVec4
fn zyxx(self) -> IVec4
fn zyxy(self) -> IVec4
fn zyxz(self) -> IVec4
fn zyxw(self) -> IVec4
fn zyyx(self) -> IVec4
fn zyyy(self) -> IVec4
fn zyyz(self) -> IVec4
fn zyyw(self) -> IVec4
fn zyzx(self) -> IVec4
fn zyzy(self) -> IVec4
fn zyzz(self) -> IVec4
fn zyzw(self) -> IVec4
fn zywx(self) -> IVec4
fn zywy(self) -> IVec4
fn zywz(self) -> IVec4
fn zyww(self) -> IVec4
fn zzxx(self) -> IVec4
fn zzxy(self) -> IVec4
fn zzxz(self) -> IVec4
fn zzxw(self) -> IVec4
fn zzyx(self) -> IVec4
fn zzyy(self) -> IVec4
fn zzyz(self) -> IVec4
fn zzyw(self) -> IVec4
fn zzzx(self) -> IVec4
fn zzzy(self) -> IVec4
fn zzzz(self) -> IVec4
fn zzzw(self) -> IVec4
fn zzwx(self) -> IVec4
fn zzwy(self) -> IVec4
fn zzwz(self) -> IVec4
fn zzww(self) -> IVec4
fn zwxx(self) -> IVec4
fn zwxy(self) -> IVec4
fn zwxz(self) -> IVec4
fn zwxw(self) -> IVec4
fn zwyx(self) -> IVec4
fn zwyy(self) -> IVec4
fn zwyz(self) -> IVec4
fn zwyw(self) -> IVec4
fn zwzx(self) -> IVec4
fn zwzy(self) -> IVec4
fn zwzz(self) -> IVec4
fn zwzw(self) -> IVec4
fn zwwx(self) -> IVec4
fn zwwy(self) -> IVec4
fn zwwz(self) -> IVec4
fn zwww(self) -> IVec4
fn wxxx(self) -> IVec4
fn wxxy(self) -> IVec4
fn wxxz(self) -> IVec4
fn wxxw(self) -> IVec4
fn wxyx(self) -> IVec4
fn wxyy(self) -> IVec4
fn wxyz(self) -> IVec4
fn wxyw(self) -> IVec4
fn wxzx(self) -> IVec4
fn wxzy(self) -> IVec4
fn wxzz(self) -> IVec4
fn wxzw(self) -> IVec4
fn wxwx(self) -> IVec4
fn wxwy(self) -> IVec4
fn wxwz(self) -> IVec4
fn wxww(self) -> IVec4
fn wyxx(self) -> IVec4
fn wyxy(self) -> IVec4
fn wyxz(self) -> IVec4
fn wyxw(self) -> IVec4
fn wyyx(self) -> IVec4
fn wyyy(self) -> IVec4
fn wyyz(self) -> IVec4
fn wyyw(self) -> IVec4
fn wyzx(self) -> IVec4
fn wyzy(self) -> IVec4
fn wyzz(self) -> IVec4
fn wyzw(self) -> IVec4
fn wywx(self) -> IVec4
fn wywy(self) -> IVec4
fn wywz(self) -> IVec4
fn wyww(self) -> IVec4
fn wzxx(self) -> IVec4
fn wzxy(self) -> IVec4
fn wzxz(self) -> IVec4
fn wzxw(self) -> IVec4
fn wzyx(self) -> IVec4
fn wzyy(self) -> IVec4
fn wzyz(self) -> IVec4
fn wzyw(self) -> IVec4
fn wzzx(self) -> IVec4
fn wzzy(self) -> IVec4
fn wzzz(self) -> IVec4
fn wzzw(self) -> IVec4
fn wzwx(self) -> IVec4
fn wzwy(self) -> IVec4
fn wzwz(self) -> IVec4
fn wzww(self) -> IVec4
fn wwxx(self) -> IVec4
fn wwxy(self) -> IVec4
fn wwxz(self) -> IVec4
fn wwxw(self) -> IVec4
fn wwyx(self) -> IVec4
fn wwyy(self) -> IVec4
fn wwyz(self) -> IVec4
fn wwyw(self) -> IVec4
fn wwzx(self) -> IVec4
fn wwzy(self) -> IVec4
fn wwzz(self) -> IVec4
fn wwzw(self) -> IVec4
fn wwwx(self) -> IVec4
fn wwwy(self) -> IVec4
fn wwwz(self) -> IVec4
fn wwww(self) -> IVec4
impl Copy for IVec4
impl Eq for IVec4
impl Pod for IVec4
impl StructuralPartialEq for IVec4
Auto Trait Implementations§
impl Freeze for IVec4
impl RefUnwindSafe for IVec4
impl Send for IVec4
impl Sync for IVec4
impl Unpin for IVec4
impl UnwindSafe for IVec4
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> CheckedAs for T
impl<T> CheckedAs for T
source§fn checked_as<Dst>(self) -> Option<Dst>where
T: CheckedCast<Dst>,
fn checked_as<Dst>(self) -> Option<Dst>where
T: CheckedCast<Dst>,
§impl<T> CheckedBitPattern for Twhere
T: AnyBitPattern,
impl<T> CheckedBitPattern for Twhere
T: AnyBitPattern,
§type Bits = T
type Bits = T
Self
must have the same layout as the specified Bits
except for
the possible invalid bit patterns being checked during
is_valid_bit_pattern
.§fn is_valid_bit_pattern(_bits: &T) -> bool
fn is_valid_bit_pattern(_bits: &T) -> bool
bits
as &Self
.source§impl<Src, Dst> CheckedCastFrom<Src> for Dstwhere
Src: CheckedCast<Dst>,
impl<Src, Dst> CheckedCastFrom<Src> for Dstwhere
Src: CheckedCast<Dst>,
source§fn checked_cast_from(src: Src) -> Option<Dst>
fn checked_cast_from(src: Src) -> Option<Dst>
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.§impl<T> DowncastSync for T
impl<T> DowncastSync for T
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T
in a tonic::Request