pub trait Directional:
Copy
+ Sized
+ Debug
+ 'static {
type Flipped: Directional;
type Reversed: Directional;
// Required methods
fn flipped(self) -> Self::Flipped;
fn reversed(self) -> Self::Reversed;
fn as_direction(self) -> Direction;
// Provided methods
fn is_vertical(self) -> bool { ... }
fn is_horizontal(self) -> bool { ... }
fn is_reversed(self) -> bool { ... }
}
Expand description
Required Associated Types§
Sourcetype Flipped: Directional
type Flipped: Directional
Direction flipped over diagonal (i.e. Down ↔ Right)
This allows compile-time selection of the flipped direction.
Sourcetype Reversed: Directional
type Reversed: Directional
Direction reversed along axis (i.e. Left ↔ Right)
This allows compile-time selection of the reversed direction.
Required Methods§
Sourcefn as_direction(self) -> Direction
fn as_direction(self) -> Direction
Convert to the Direction
enum
Provided Methods§
Sourcefn is_vertical(self) -> bool
fn is_vertical(self) -> bool
Up or Down
Sourcefn is_horizontal(self) -> bool
fn is_horizontal(self) -> bool
Left or Right
Sourcefn is_reversed(self) -> bool
fn is_reversed(self) -> bool
Left or Up
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.