22 #ifndef GEARS_CHRONO_LITERALS_HPP
23 #define GEARS_CHRONO_LITERALS_HPP
30 constexpr std::chrono::duration<long double, std::ratio<3600>>
operator"" _h(
long double hours) {
31 return std::chrono::duration<long double, std::ratio<3600>>{ hours };
34 constexpr std::chrono::duration<long double, std::ratio<60>>
operator"" _min(
long double minutes) {
35 return std::chrono::duration<long double, std::ratio<60>>{ minutes };
38 constexpr std::chrono::duration<long double>
operator"" _s(
long double seconds) {
39 return std::chrono::duration<long double>{ seconds };
42 constexpr std::chrono::duration<long double, std::milli>
operator"" _ms(
long double milliseconds) {
43 return std::chrono::duration<long double, std::milli>{ milliseconds };
46 constexpr std::chrono::duration<long double, std::micro>
operator"" _us(
long double microseconds) {
47 return std::chrono::duration<long double, std::micro>{ microseconds };
50 constexpr std::chrono::duration<long double, std::nano>
operator"" _ns(
long double nanoseconds) {
51 return std::chrono::duration<long double, std::nano>{ nanoseconds };
54 constexpr std::chrono::duration<unsigned long long, std::ratio<3600>>
operator"" _h(
unsigned long long hours) {
55 return std::chrono::duration<unsigned long long, std::ratio<3600>>{ hours };
58 constexpr std::chrono::duration<unsigned long long, std::ratio<60>>
operator"" _min(
unsigned long long minutes) {
59 return std::chrono::duration<unsigned long long, std::ratio<60>>{ minutes };
62 constexpr std::chrono::duration<unsigned long long>
operator"" _s(
unsigned long long seconds) {
63 return std::chrono::duration<unsigned long long>{ seconds };
66 constexpr std::chrono::duration<unsigned long long, std::milli>
operator"" _ms(
unsigned long long milliseconds) {
67 return std::chrono::duration<unsigned long long, std::milli>{ milliseconds };
70 constexpr std::chrono::duration<unsigned long long, std::micro>
operator"" _us(
unsigned long long microseconds) {
71 return std::chrono::duration<unsigned long long, std::micro>{ microseconds };
74 constexpr std::chrono::duration<unsigned long long, std::nano>
operator"" _ns(
unsigned long long nanoseconds) {
75 return std::chrono::duration<unsigned long long, std::nano>{ nanoseconds };
82 #endif // GEARS_CHRONO_LITERALS_HPP