CeresEngine 0.2.0
A game development framework
Loading...
Searching...
No Matches
Angle.hpp File Reference
#include "Forward.hpp"
#include "Math.hpp"
#include "CeresEngine/Concepts.hpp"
#include "CeresEngine/Macros.hpp"
#include "CeresEngine/Foundation/Hash.hpp"
#include <iosfwd>

Go to the source code of this file.

Classes

struct  Math::TDegree< T >
 Wrapper class which indicates a given angle value is in degrees. More...
 
struct  Math::TRadian< T >
 Wrapper class which indicates a given angle value is in radians. More...
 

Namespaces

namespace  Math
 

Macros

#define REFL_DECLARE_CE_ANGLE(T)    \
 

Typedefs

using Math::Degree = TDegree< double >
 A Degree type that uses double as storage type.
 
using Math::Degreef = TDegree< float >
 A Degree type that uses float as storage type.
 
using Math::Radian = TRadian< double >
 A Radian type that uses double as storage type.
 
using Math::Radianf = TRadian< float >
 A Radian type that uses float as storage type.
 

Functions

template<CArithmetic T>
std::ostream & Math::operator<< (std::ostream &os, const TDegree< T > &deg)
 
constexpr Degree Math::operator""_deg (const long double degree)
 Creates a new literal degree angle by using a user-defined literal.
 
constexpr Degreef Math::operator""_degf (const long double degree)
 Creates a new literal degree angle by using a user-defined literal.
 
template<CArithmetic T>
std::ostream & Math::operator<< (std::ostream &os, const TRadian< T > &rad)
 
constexpr Radian Math::operator""_rad (const long double radian)
 Creates a new literal radian angle by using a user-defined literal.
 
constexpr Radianf Math::operator""_radf (const long double radian)
 Creates a new literal radian angle by using a user-defined literal.
 

Macro Definition Documentation

◆ REFL_DECLARE_CE_ANGLE

#define REFL_DECLARE_CE_ANGLE (   T)     \