#[repr(u8)]pub enum Side {
Left = 0,
Bot = 1,
Right = 2,
Top = 3,
}
Expand description
An enumeration of the sides of an axis-aligned rectangle.
Variants§
Implementations§
source§impl Side
impl Side
sourcepub const fn iter() -> SideIndexableIter ⓘ
pub const fn iter() -> SideIndexableIter ⓘ
Returns an iterator over all items of Side
sourcepub const fn count() -> usize
pub const fn count() -> usize
Returns the number of items that will be returned by SideIndexableIter
that are not disabled members of Side
source§impl Side
impl Side
sourcepub fn coord_dir(&self) -> Dir
pub fn coord_dir(&self) -> Dir
Gets the direction of the coordinate corresponding to this side.
Top and bottom edges are y-coordinates, so they are on the vertical axis. Left and right edges are x-coordinates, so they are on the horizontal axis.
Also see Side::edge_dir
.
sourcepub fn edge_dir(&self) -> Dir
pub fn edge_dir(&self) -> Dir
Gets the direction of the edge corresponding to this side.
Top and bottom edges are horizontal line segments; left and right edges are vertical line segments.
Also see Side::coord_dir
.
sourcepub fn with_dir_and_sign(dir: Dir, sign: Sign) -> Side
pub fn with_dir_and_sign(dir: Dir, sign: Sign) -> Side
Returns the side corresponding with the given Dir
and Sign
.
§Example
assert_eq!(Side::with_dir_and_sign(Dir::Horiz, Sign::Neg), Side::Left);
assert_eq!(Side::with_dir_and_sign(Dir::Vert, Sign::Neg), Side::Bot);
assert_eq!(Side::with_dir_and_sign(Dir::Horiz, Sign::Pos), Side::Right);
assert_eq!(Side::with_dir_and_sign(Dir::Vert, Sign::Pos), Side::Top);
Trait Implementations§
source§impl<'de> Deserialize<'de> for Side
impl<'de> Deserialize<'de> for Side
source§fn deserialize<__D>(
__deserializer: __D
) -> Result<Side, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D
) -> Result<Side, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
source§impl Indexable for Side
impl Indexable for Side
source§const SET_SIZE: usize = 1usize
const SET_SIZE: usize = 1usize
The number of bytes it will take to represent this type in a set. Read more
§type Iter = SideIndexableIter
type Iter = SideIndexableIter
The type of Iterator that will be returned by [
Self::iter()
]source§impl PartialEq for Side
impl PartialEq for Side
source§impl ReverseIndexable for Side
impl ReverseIndexable for Side
source§fn from_index(u: usize) -> Side
fn from_index(u: usize) -> Side
Converts from a usize to
Self
source§impl Serialize for Side
impl Serialize for Side
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,
Serialize this value into the given Serde serializer. Read more
impl Copy for Side
impl Eq for Side
impl StructuralPartialEq for Side
Auto Trait Implementations§
impl RefUnwindSafe for Side
impl Send for Side
impl Sync for Side
impl Unpin for Side
impl UnwindSafe for Side
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
Mutably borrows from an owned value. Read more
source§impl<T, U> CustomHardwareType<Flipped<T>> for Uwhere
U: CustomHardwareType<T>,
T: HardwareType,
impl<T, U> CustomHardwareType<Flipped<T>> for Uwhere
U: CustomHardwareType<T>,
T: HardwareType,
source§fn from_layout_type(other: &Flipped<T>) -> U
fn from_layout_type(other: &Flipped<T>) -> U
Creates this layout type from another layout type.
source§impl<T, U> CustomHardwareType<InOut<T>> for Uwhere
U: CustomHardwareType<T>,
T: HardwareType,
impl<T, U> CustomHardwareType<InOut<T>> for Uwhere
U: CustomHardwareType<T>,
T: HardwareType,
source§fn from_layout_type(other: &InOut<T>) -> U
fn from_layout_type(other: &InOut<T>) -> U
Creates this layout type from another layout type.
source§impl<T, U> CustomHardwareType<Input<T>> for Uwhere
U: CustomHardwareType<T>,
T: HardwareType,
impl<T, U> CustomHardwareType<Input<T>> for Uwhere
U: CustomHardwareType<T>,
T: HardwareType,
source§fn from_layout_type(other: &Input<T>) -> U
fn from_layout_type(other: &Input<T>) -> U
Creates this layout type from another layout type.
source§impl<T, U> CustomHardwareType<Output<T>> for Uwhere
U: CustomHardwareType<T>,
T: HardwareType,
impl<T, U> CustomHardwareType<Output<T>> for Uwhere
U: CustomHardwareType<T>,
T: HardwareType,
source§fn from_layout_type(other: &Output<T>) -> U
fn from_layout_type(other: &Output<T>) -> U
Creates this layout type from another layout type.
§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>
Convert
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>
Convert
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)
Convert
&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)
Convert
&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
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
Compare self to
key
and return true
if they are equal.§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
Checks if this value is equivalent to the given key. Read more
§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
Compare self to
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> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T
in a tonic::Request