ttrts/source/maths/mathtypes.h
2014-12-16 13:13:02 +00:00

28 lines
587 B
C++

#ifndef _BASETYPES_H_
#define _BASETYPES_H_
#include <limits> // std::numeric_limits
#include "stdlib.h" // for size_t
template<class T, size_t N>
constexpr size_t _countof(T (&)[N]) { return N; }
// Coordinate types
typedef short coord_t;
typedef unsigned short ucoord_t;
// Invalid values
static const coord_t coord_invalid = std::numeric_limits<coord_t>::max();
static const ucoord_t ucoord_invalid = std::numeric_limits<ucoord_t>::max();
// Direction representation
enum class dir_t : char
{
N = 'N',
S = 'S',
E = 'E',
W = 'W'
};
#endif //_BASETYPES_H_