#include #include typedef std::chrono::duration> thirds; typedef std::chrono::duration> fourths; typedef std::chrono::duration> fifths; typedef std::chrono::duration> sixths; typedef std::chrono::duration> sevenths; typedef std::chrono::duration> eighths; constexpr std::chrono::hours operator"" _hours(unsigned long long h) { return std::chrono::hours(static_cast(h)); } constexpr std::chrono::minutes operator"" _minutes(unsigned long long m) { return std::chrono::minutes(static_cast(m)); } constexpr std::chrono::seconds operator"" _seconds(unsigned long long s) { return std::chrono::seconds(static_cast(s)); } constexpr thirds operator"" _thirds(unsigned long long t) { return thirds(static_cast(t)); } constexpr fourths operator"" _fourths(unsigned long long f) { return fourths(static_cast(f)); } constexpr fifths operator"" _fifths(unsigned long long f) { return fifths(static_cast(f)); } constexpr sixths operator"" _sixths(unsigned long long s) { return sixths(static_cast(s)); } constexpr sevenths operator"" _sevenths(unsigned long long s) { return sevenths(static_cast(s)); } constexpr eighths operator"" _eighths(unsigned long long e) { return eighths(static_cast(e)); } int main() { std::cout << "1 second is " << std::chrono::duration_cast(1_seconds).count() << " thirds.\n"; std::cout << "1 third is " << std::chrono::duration_cast(1_thirds).count() << " fourths.\n"; std::cout << "1 fourth is " << std::chrono::duration_cast(1_fourths).count() << " fifths.\n"; std::cout << "1 fifth is " << std::chrono::duration_cast(1_fifths).count() << " sixths.\n"; std::cout << "1 sixth is " << std::chrono::duration_cast(1_sixths).count() << " sevenths.\n"; std::cout << "1 seventh is " << std::chrono::duration_cast(1_sevenths).count() << " eighths.\n"; std::cout << "1 second is " << std::chrono::duration_cast(1_seconds).count() << " fifths.\n"; std::cout << "3 fifths is " << std::chrono::duration_cast(3_fifths).count() << " nanoseconds.\n"; return 0; }