27 unit_t()
noexcept =
default;
37 unit_t(degree_u t) noexcept
41 unit_t(radian_u t) noexcept
87 unit_t(distance_u t) noexcept
95 unit_t(kilometer_u t) noexcept
99 unit_t(decimeter_u t) noexcept
103 unit_t(centimeter_u t) noexcept
107 unit_t(millimeter_u t) noexcept
111 unit_t(micrometer_u t) noexcept
115 unit_t(nanometer_u t) noexcept
119 unit_t(picometer_u t) noexcept
140 unit_t(linear_u t) noexcept
144 unit_t(midigain_u t) noexcept
148 unit_t(decibel_u t) noexcept
152 unit_t(decibel_raw_u t) noexcept
157 unit_t(orientation_u t) noexcept
161 unit_t(quaternion_u t) noexcept
162 : v{orientation_u{t}}
165 unit_t(euler_u t) noexcept
166 : v{orientation_u{t}}
170 : v{orientation_u{t}}
174 unit_t(position_u t) noexcept
178 unit_t(cartesian_3d_u t) noexcept
182 unit_t(cartesian_2d_u t) noexcept
186 unit_t(spherical_u t) noexcept
190 unit_t(polar_u t) noexcept
202 unit_t(opengl_u t) noexcept
206 unit_t(cylindrical_u t) noexcept
215 unit_t(speed_u t) noexcept
219 unit_t(meter_per_second_u t) noexcept
223 unit_t(miles_per_hour_u t) noexcept
227 unit_t(kilometer_per_hour_u t) noexcept
235 unit_t(foot_per_hour_u t) noexcept
239 unit_t(foot_per_second_u t) noexcept
244 unit_t(timing_u t) noexcept
248 unit_t(second_u t) noexcept
264 unit_t(frequency_u t) noexcept
272 unit_t(midi_pitch_u t) noexcept
276 unit_t(millisecond_u t) noexcept
280 unit_t(playback_speed_u t) noexcept
285 template <
typename T>
286 unit_t(T unit,
typename T::is_unit* =
nullptr) noexcept
291 auto which()
const noexcept {
return v.which(); }
293 explicit operator bool()
const noexcept {
return bool(v); }
297 return unit.v == other.v;
302 return unit.v != other.v;
405 ossia::apply_nonnull([&](
auto& d) { ossia::hash_combine(seed, d.which()); }, v.v);