Пространства имён
Варианты
Действия

std::formatter<std::thread::id>

Материал из cppreference.com
 
 
Библиотека поддержки конкуренции
Ветви
(C++11)
(C++20)
(C++20)
Пространство имён this_thread
(C++11)
(C++11)
(C++11)
Атомарные типы
(C++11)
(C++20)
Инициализация атомарных типов
(C++11)(устарело в C++20)
(C++11)(устарело в C++20)
(C++11)(устарело в C++20)
Функции освобождения для атомарных операций
Функции освобождения для атомарных флагов
Упорядочивание памяти
Взаимное исключение
(C++11)
Общее управление блокировкой
(C++11)
(C++11)
(C++11)
(C++11)(C++11)(C++11)
(C++11)
(C++11)
Условные переменные
(C++11)
Семафоры
Защёлки и барьеры
(C++20)
(C++20)
Фьючерсы
(C++11)
(C++11)
(C++11)
(C++11)
 
std::thread
Классы-элементы
Функции-элементы
Наблюдатели
Операции
Функции, не являющиеся элементами
 
std::thread::id
Функции-элементы
Функции, не являющиеся элементами
(до C++20)(до C++20)(до C++20)(до C++20)(до C++20)(C++20)
Вспомогательные классы
 
<tbody> </tbody>
Определено в заголовочном файле <thread>
template< class CharT > struct formatter<std::thread::id, CharT>;
(начиная с C++23)

Специализация шаблона std::formatter для класса std::thread::id позволяет пользователям преобразовывать идентификатор потока в его текстовое представление, используя функции форматирования.

Спецификация формата

Синтаксис спецификаций формата:

заполнитель-и-выравнивание (необязательно) ширина (необязательно)

заполнитель-и-выравнивание и ширина имеют то же значение, что и в стандартной спецификация формата. Выравнивание по умолчанию >.

Отформатированный вывод соответствует выводу operator<<, скорректированному соответствующим образом для спецификаторов формата.

Примечание

Макрос Тестирования функциональности Значение Стандарт Функциональность
__cpp_lib_formatters 202302L (C++23) Форматирование std::thread::id и std::stacktrace

Пример

#include <format>
#include <iostream>
#include <thread>

int main()
{
    std::thread::id this_id = std::this_thread::get_id();
    std::thread::id null_id;

    std::cout << std::format("идентификатор текущего потока: {}\n", this_id);
    std::cout << std::format("{:=^10}\n", null_id);
}

Возможный вывод:

идентификатор текущего потока: 140046396632256
====0=====

Смотрите также

(C++20)
шаблонный класс, который определяет правила форматирования для данного типа
(шаблон класса) [править]