Читать «Параллельное программирование на С++ в действии. Практика разработки многопоточных программ» онлайн - страница 437
Энтони Уильямс
std::ratio<1000000001,1000000000> >::value == true
std::ratio_less<
std::ratio<1000000001,1000000000>,
std::ratio<999999999,1000000000> >::value == false
D.6.9. Шаблон класса std::ratio_greater
Шаблон класса std::ratio_greater
предоставляет механизм сравнения двух значений std::ratio
на этапе компиляции с применением правил арифметических операций с рациональными числами.
template <class R1, class R2>
class ratio_greater:
public std::integral_constant<
bool, ratio_less<R2, R1>::value> {};
R1
и R2
должны быть конкретизациями шаблона std::ratio
.
D.6.10. Шаблон класса std::ratio_less_equal
Шаблон класса std::ratio_less_equal
предоставляет механизм сравнения двух значений std::ratio
на этапе компиляции с применением правил арифметических операций с рациональными числами.
template <class R1, class R2>
class ratio_less_equal:
public std::integral_constant<
bool, !ratio_less<R2, R1>::value> {};
R1
и R2
должны быть конкретизациями шаблона std::ratio
.
D.6.11. Шаблон класса std::ratio_greater_equal
Шаблон класса std::ratio_greater_equal
предоставляет механизм сравнения двух значений std::ratio
на этапе компиляции с применением правил арифметических операций с рациональными числами.
template <class R1, class R2>
class ratio_greater_equal:
public std::integral_constant<
bool, !ratio_less<R1,R2>::value> {};
R1
и R2
должны быть конкретизациями шаблона std::ratio
.
D.7. Заголовок <thread>
В заголовке <thread>
объявлены средства для идентификации и управления потоками, а также функции для приостановки потоков.
namespace std {
class thread;
namespace this_thread {
thread::id get_id() noexcept;
void yield() noexcept;
template<typename Rep, typename Period>
void sleep_for(
std::chrono::duration<Rep, Period> sleep_duration);
template<typename Clock, typename Duration>
void sleep_until(
std::chrono::time_point<Clock, Duration> wake_time);
}