19 template<std::
unsigned_
integral T>
26 template<std::
integral U>
35 template<std::
floating_po
int U>
42 explicit constexpr operator float()
const
47 explicit constexpr operator T()
const
59 return (1.0f/
static_cast<float>(std::numeric_limits<T>::max())) *
static_cast<float>(value_);
63 template<std::
floating_po
int U>
64 static constexpr T to_normalized_uint(
U v)
67 return static_cast<T>(
static_cast<U>(std::numeric_limits<T>::max()) *
saturated);
75 template<std::
unsigned_
integral T>
77 static constexpr bool value =
true;
80 template<std::
unsigned_
integral T>
88 template<std::
unsigned_
integral T, std::
floating_po
int TInterpolant>
99 template<std::
unsigned_
integral T>
106template<std::
unsigned_
integral T>
107struct std::hash<
osc::Unorm<T>> final {
110 return std::hash<T>{}(unorm.
raw_value());
friend auto operator<=>(const Unorm &, const Unorm &)=default
constexpr float normalized_value() const
Definition unorm.h:57
T value_type
Definition unorm.h:22
constexpr Unorm(U normalized_value)
Definition unorm.h:36
constexpr Unorm(T raw_value)
Definition unorm.h:31
constexpr Unorm(U integral_value)
Definition unorm.h:27
constexpr T raw_value() const
Definition unorm.h:52
constexpr Unorm()=default
Definition custom_decoration_generator.h:5
std::ostream & operator<<(std::ostream &, const Object &)
constexpr auto lerp(const Rgba< T > &x, const Rgba< T > &y, TInterpolant t)
Definition rgba.h:230
constexpr Rgba< T > saturate(const Rgba< T > &x)
Definition rgba.h:237
constexpr U to(T &&value)
Definition conversion.h:56
static constexpr bool value
Definition scalar.h:12
size_t operator()(const osc::Unorm< T > &unorm) const
Definition unorm.h:108