命名空间
变体
操作

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

来自 cppreference.com
< cpp‎ | thread‎ | thread‎ | id
 
 
并发支持库
线程
(C++11)
(C++20)
this_thread 命名空间
(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)
安全回收
(C++26)
危险指针
原子类型
(C++11)
(C++20)
原子类型的初始化
(C++11)(C++20 中已弃用)
(C++11)(C++20 中已弃用)
内存排序
原子操作的自由函数
原子标志的自由函数
 
 
std::thread::id
成员函数
非成员函数
(直到 C++20)(直到 C++20)(直到 C++20)(直到 C++20)(直到 C++20)(C++20)
辅助类
formatter<std::thread::id>
(C++23)
 
定义在头文件 <thread>
template< class CharT >
struct formatter<std::thread::id, CharT>;
(自 C++23 起)

std::formatter 的模板特化用于 std::thread::id 类允许用户使用 格式化函数 将线程标识符转换为其文本表示形式。

内容

[编辑] 格式规范

格式规范的语法为

填充和对齐 (可选) 宽度 (可选)

填充和对齐宽度 的含义与 标准格式规范 中相同。默认对齐方式为 >

格式化的输出与 operator<< 的输出匹配,根据格式说明符进行适当调整。

[编辑] 备注

功能测试 Std 功能
__cpp_lib_formatters 202302L (C++23) 格式化 std::thread::idstd::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("current thread id: {}\n", this_id);
    std::cout << std::format("{:=^10}\n", null_id);
}

可能的输出

current thread id: 140046396632256
====0=====

[编辑] 另请参阅

(C++20)
为给定类型定义格式化规则
(类模板) [编辑]