Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <chrono>
- #include <iostream>
- typedef std::chrono::duration<long long, std::ratio<1, 60>> thirds;
- typedef std::chrono::duration<long long, std::ratio<1, 3600>> fourths;
- typedef std::chrono::duration<long long, std::ratio<1, 216000>> fifths;
- typedef std::chrono::duration<long long, std::ratio<1, 12960000>> sixths;
- typedef std::chrono::duration<long long, std::ratio<1, 777600000>> sevenths;
- typedef std::chrono::duration<long long, std::ratio<1, 46656000000>> eighths;
- constexpr std::chrono::hours operator"" _hours(unsigned long long h)
- {
- return std::chrono::hours(static_cast<std::chrono::hours::rep>(h));
- }
- constexpr std::chrono::minutes operator"" _minutes(unsigned long long m)
- {
- return std::chrono::minutes(static_cast<std::chrono::minutes::rep>(m));
- }
- constexpr std::chrono::seconds operator"" _seconds(unsigned long long s)
- {
- return std::chrono::seconds(static_cast<std::chrono::seconds::rep>(s));
- }
- constexpr thirds operator"" _thirds(unsigned long long t)
- {
- return thirds(static_cast<thirds::rep>(t));
- }
- constexpr fourths operator"" _fourths(unsigned long long f)
- {
- return fourths(static_cast<fourths::rep>(f));
- }
- constexpr fifths operator"" _fifths(unsigned long long f)
- {
- return fifths(static_cast<fifths::rep>(f));
- }
- constexpr sixths operator"" _sixths(unsigned long long s)
- {
- return sixths(static_cast<sixths::rep>(s));
- }
- constexpr sevenths operator"" _sevenths(unsigned long long s)
- {
- return sevenths(static_cast<sevenths::rep>(s));
- }
- constexpr eighths operator"" _eighths(unsigned long long e)
- {
- return eighths(static_cast<eighths::rep>(e));
- }
- int main()
- {
- std::cout << "1 second is " << std::chrono::duration_cast<thirds>(1_seconds).count() << " thirds.\n";
- std::cout << "1 third is " << std::chrono::duration_cast<fourths>(1_thirds).count() << " fourths.\n";
- std::cout << "1 fourth is " << std::chrono::duration_cast<fifths>(1_fourths).count() << " fifths.\n";
- std::cout << "1 fifth is " << std::chrono::duration_cast<sixths>(1_fifths).count() << " sixths.\n";
- std::cout << "1 sixth is " << std::chrono::duration_cast<sevenths>(1_sixths).count() << " sevenths.\n";
- std::cout << "1 seventh is " << std::chrono::duration_cast<eighths>(1_sevenths).count() << " eighths.\n";
- std::cout << "1 second is " << std::chrono::duration_cast<fifths>(1_seconds).count() << " fifths.\n";
- std::cout << "3 fifths is " << std::chrono::duration_cast<std::chrono::nanoseconds>(3_fifths).count() << " nanoseconds.\n";
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement