5#ifndef SAPPHIRE_MATHS_DEGREE_GUARD
6#define SAPPHIRE_MATHS_DEGREE_GUARD
50 constexpr Deg(T _deg)
noexcept;
57 template <
typename TIn>
65 template <
typename TIn>
85 constexpr
bool Equals(
Deg _other, T _epsilon = std::numeric_limits<T>::epsilon()) const noexcept;
97 constexpr
Deg operator-() const noexcept;
106 constexpr
Deg operator+(
Deg _rhs) const noexcept;
115 constexpr
Deg operator-(
Deg _rhs) const noexcept;
124 constexpr
Deg operator*(T _scale) const noexcept;
133 Deg operator/(T _scale) const;
161 Deg& operator*=(T _scale) noexcept;
170 Deg& operator/=(T _scale);
180 constexpr
bool operator==(
Deg _rhs) const noexcept;
189 constexpr
bool operator!=(
Deg _rhs) const noexcept;
197 explicit constexpr operator T() const noexcept;
214 template <
typename T>
215 std::string ToString(
const Deg<T>& _d);
229 template <
typename T>
241 constexpr Degf operator""_deg(
unsigned long long _lit)
noexcept;
250 constexpr Degd operator""_deg(
long double _lit)
noexcept;
261#include <SA/Maths/Angle/Degree.inl>
Maths Constants definition file.
Maths module Debug compatibility definition.
Equals method implementation.
Maths Degree type.
Definition Degree.hpp:37
void Clamp() noexcept
clamp this angle between [-180, 180].
constexpr bool Equals(Deg _other, T _epsilon=std::numeric_limits< T >::epsilon()) const noexcept
Compare 2 Deg.
constexpr T Handle() const noexcept
Access the handled value.
constexpr Deg(T _deg) noexcept
Value constructor without conversion.
constexpr Deg(Deg< TIn > _other) noexcept
Value constructor without conversion.
constexpr Deg(Rad< TIn > _rad) noexcept
Value constructor from radian.
Deg()=default
Default contructor.
Maths Radian type.
Definition Radian.hpp:36