50 operator uint8_t()
const {
return static_cast<uint8_t
>(
_value); }
Base template providing common logic for movement directions.
Definition move_types.h:38
EnumType _value
Definition move_types.h:59
bool operator==(EnumType v) const
Equality comparison with underlying enum.
Definition move_types.h:53
constexpr MoveDirection(EnumType v)
Construct a new Move Direction object.
Definition move_types.h:44
bool operator!=(EnumType v) const
Inequality comparison with underlying enum.
Definition move_types.h:56
bool is_none() const
Checks if the movement state is None (0).
Definition move_types.h:47
Encapsulates horizontal movement states and utility methods.
Definition move_types.h:67
static constexpr MoveXValue None
Local alias for None state.
Definition move_types.h:70
static constexpr MoveXValue Right
Local alias for Right state.
Definition move_types.h:72
constexpr MoveX()
Default constructor initializing to None.
Definition move_types.h:80
static constexpr MoveXValue Left
Local alias for Left state.
Definition move_types.h:74
const char * to_string() const
Converts the state to a human-readable string.
Definition move_types.h:86
Encapsulates vertical movement states and utility methods.
Definition move_types.h:105
static constexpr MoveYValue Up
Local alias for Up state.
Definition move_types.h:110
constexpr MoveY()
Default constructor initializing to None.
Definition move_types.h:118
const char * to_string() const
Converts the state to a human-readable string.
Definition move_types.h:124
static constexpr MoveYValue None
Local alias for None state.
Definition move_types.h:108
static constexpr MoveYValue Down
Local alias for Down state.
Definition move_types.h:112
MoveYValue
Raw underlying values for vertical movement.
Definition move_types.h:26
MoveXValue
Raw underlying values for horizontal movement.
Definition move_types.h:16