<p>D.6.9. Шаблон класса <code>std::ratio_greater</code></p>

Шаблон класса std::ratio_greater предоставляет механизм сравнения двух значений std::ratio на этапе компиляции с применением правил арифметических операций с рациональными числами.

Определение класса

template

class ratio_greater:

 public std::integral_constant<

  bool, ratio_less::value> {};

Предусловия

R1 и R2 должны быть конкретизациями шаблона std::ratio.

<p>D.6.10. Шаблон класса <code>std::ratio_less_equal</code></p>

Шаблон класса std::ratio_less_equal предоставляет механизм сравнения двух значений std::ratio на этапе компиляции с применением правил арифметических операций с рациональными числами.

Определение класса

template

class ratio_less_equal:

 public std::integral_constant<

  bool, !ratio_less::value> {};

Предусловия

R1 и R2 должны быть конкретизациями шаблона std::ratio.

<p>D.6.11. Шаблон класса <code>std::ratio_greater_equal</code></p>

Шаблон класса std::ratio_greater_equal предоставляет механизм сравнения двух значений std::ratio на этапе компиляции с применением правил арифметических операций с рациональными числами.

Определение класса

template

class ratio_greater_equal:

 public std::integral_constant<

  bool, !ratio_less::value> {};

Предусловия

R1 и R2 должны быть конкретизациями шаблона std::ratio.

<p>D.7. Заголовок <code><thread></thread></code></p>

В заголовке объявлены средства для идентификации и управления потоками, а также функции для приостановки потоков.

Содержимое заголовка

namespace std {

class thread;

namespace this_thread {

thread::id get_id() noexcept;

void yield() noexcept;

template

void sleep_for(

 std::chrono::duration sleep_duration);

template

void sleep_until(

 std::chrono::time_point wake_time);

}

}

<p>D.7.1. Класс <code>std::thread</code></p>

Класс std::thread применяется для управления потоком выполнения. В нем имеются средства для запуска нового потока и ожидания завершения потока, а также для идентификации потоков. Также в класс включены другие функции для управления потоком выполнения.

Определение класса

class thread {

public:

 // Типы

 class id;

 typedef implementation-defined

 native_handle_type; // необязательно

 // Конструкторы и деструкторы

 thread() noexcept;

 ~thread();

 template

 explicit thread(Callable&& func, Args&&... args);

 // Копирование и перемещение

 thread(thread const& other) = delete;

 thread(thread&& other) noexcept;

 thread& operator=(thread const& other) = delete;

 thread& operator=(thread&& other) noexcept;

 void swap(thread& other) noexcept;

 void join();

 void detach();

 bool joinable() const noexcept;

 id get_id() const noexcept;

 native_handle_type native_handle();

 static unsigned hardware_concurrency() noexcept;

};

void swap(thread& lhs, thread& rhs);

STD::THREAD::ID, КЛАСС

Экземпляр класса std::thread::id идентифицирует конкретный поток выполнения.

Определение класса

class thread::id {

public:

 id() noexcept;

};

bool operator==(thread::id x, thread::id y) noexcept;

bool operator!=(thread::id x, thread::id y) noexcept;

bool operator<(thread::id x, thread::id y) noexcept;

bool operator<=(thread::id x, thread::id y) noexcept;

bool operator>(thread::id x, thread::id y) noexcept;

bool operator>=(thread::id x, thread::id y) noexcept;

template

basic_ostream&

Перейти на страницу:

Похожие книги