1#ifndef LIBSBX_UNITS_TIME_HPP_
2#define LIBSBX_UNITS_TIME_HPP_
4#include <libsbx/units/quantity.hpp>
27constexpr auto operator"" _y(
long double value) ->
year {
28 return year{
static_cast<year::value_type
>(value)};
31constexpr auto operator"" _y(
unsigned long long value) -> year {
32 return year{
static_cast<year::value_type
>(value)};
35constexpr auto operator"" _mo(
long double value) -> month {
36 return month{
static_cast<month::value_type
>(value)};
39constexpr auto operator"" _mo(
unsigned long long value) -> month {
40 return month{
static_cast<month::value_type
>(value)};
43constexpr auto operator"" _w(
long double value) -> week {
44 return week{
static_cast<week::value_type
>(value)};
47constexpr auto operator"" _w(
unsigned long long value) -> week {
48 return week{
static_cast<week::value_type
>(value)};
51constexpr auto operator"" _d(
long double value) -> day {
52 return day{
static_cast<day::value_type
>(value)};
55constexpr auto operator"" _d(
unsigned long long value) -> day {
56 return day{
static_cast<day::value_type
>(value)};
59constexpr auto operator"" _h(
long double value) -> hour {
60 return hour{
static_cast<hour::value_type
>(value)};
63constexpr auto operator"" _h(
unsigned long long value) -> hour {
64 return hour{
static_cast<hour::value_type
>(value)};
67constexpr auto operator"" _min(
long double value) -> minute {
68 return minute{
static_cast<minute::value_type
>(value)};
71constexpr auto operator"" _min(
unsigned long long value) -> minute {
72 return minute{
static_cast<minute::value_type
>(value)};
75constexpr auto operator"" _s(
long double value) -> second {
76 return second{
static_cast<second::value_type
>(value)};
79constexpr auto operator"" _s(
unsigned long long value) -> second {
80 return second{
static_cast<second::value_type
>(value)};
83constexpr auto operator"" _ms(
long double value) -> millisecond {
84 return millisecond{
static_cast<millisecond::value_type
>(value)};
87constexpr auto operator"" _ms(
unsigned long long value) -> millisecond {
88 return millisecond{
static_cast<millisecond::value_type
>(value)};
91constexpr auto operator"" _us(
long double value) -> microsecond {
92 return microsecond{
static_cast<microsecond::value_type
>(value)};
95constexpr auto operator"" _us(
unsigned long long value) -> microsecond {
96 return microsecond{
static_cast<microsecond::value_type
>(value)};
99constexpr auto operator"" _ns(
long double value) -> nanosecond {
100 return nanosecond{
static_cast<nanosecond::value_type
>(value)};
103constexpr auto operator"" _ns(
unsigned long long value) -> nanosecond {
104 return nanosecond{
static_cast<nanosecond::value_type
>(value)};
Definition: quantity.hpp:65