10#ifndef DIRECTION_TYPE_H
11#define DIRECTION_TYPE_H
DirDiff
Enumeration for the difference between two directions.
@ Left45
Angle of 45 degrees left.
@ Reverse
One direction is the opposite of the other one.
@ Left90
Angle of 90 degrees left.
@ Same
Both directions faces to the same direction.
@ Right45
Angle of 45 degrees right.
@ Right90
Angle of 90 degrees right.
EnumIndexArray< T, Axis, Axis::End > AxisIndexArray
Array with Axis as index.
EnumIndexArray< T, DiagDirection, DiagDirection::End > DiagDirectionIndexArray
Array with DiagDirection as index.
Direction
Defines the 8 directions on the map.
@ Invalid
Flag for an invalid direction.
DiagDirDiff
Enumeration for the difference between to DiagDirection.
EnumIndexArray< T, Direction, Direction::End > DirectionIndexArray
Array with Direction as index.
EnumBitSet< Direction, uint8_t > Directions
Allow incrementing of Direction variables.
static constexpr DiagDirections DIAGDIRECTIONS_ALL
All possible diagonal directions.
Axis
Enumeration for the two axis X and Y.
DiagDirection
Enumeration for diagonal directions.
@ NE
Northeast, upper right on your monitor.
static constexpr Directions DIRECTIONS_ALL
All possible directions.
EnumBitSet< DiagDirection, uint8_t > DiagDirections
Bitset of DiagDirection elements.
#define Y
Climate toyland.
#define S
Climate sub-tropic.
Type (helpers) for enums.
#define DECLARE_ENUM_AS_ADDABLE(EnumType)
Operator that allows this enumeration to be added to any other enumeration.
#define DECLARE_INCREMENT_DECREMENT_OPERATORS(enum_type)
For some enums it is useful to have pre/post increment/decrement operators.
EnumClassIndexContainer< std::array< T, to_underlying(N)>, Index > EnumIndexArray
A typedef for EnumClassIndexContainer using std::array as the backing container type.