模板:ftm/doc
来自cppreference.com
功能特性测试宏支持
用于产生描述给定功能特性测试宏的连接和表格。
单行格式
{{feature test macro|功能特性测试宏名称 |功能特性 |value=日期 |std=C++XY |dr=yes 或 NN (可选)}}
例:
{{feature test macro|__cpp_lib_string_view|{{lc|std::string_view}}|value=201606L|std=C++17}}
- 结果为
| 功能特性测试宏 | 值 | 标准 | 功能特性 |
|---|---|---|---|
__cpp_lib_string_view |
201606L |
(C++17) | std::string_view |
例:
{{feature test macro|__cpp_inheriting_constructors|Rewording|value=201511L|std=C++11|dr=98}}
- 结果为
| 功能特性测试宏 | 值 | 标准 | 功能特性 |
|---|---|---|---|
__cpp_inheriting_constructors |
201511L |
(C++11) (DR98) |
重述 |
多行格式
如果一页中有多条功能特性测试宏,则应当使用如下模板将它们合并到一个表格中:
{{ftm begin|params (可选)}}
{{ftm|params }}
...
{{ftm end}}
语法
{{ftm begin|core=yes (可选)|sort=yes (可选)}}
决定表格的属性。
- 提供了如果具名参数
core,则在表格标题中将不会生成指向库功能特性页面的连接。 - 如果提供了具名参数
sort,则表格将变为“可排序”的维基表格。
- 注: 之前还支持另外两个(可选)参数:
std和comment(它们现在均被忽略),用于条件性地添加/隐藏表格列。标准, 值, 和 功能特性 列现在 总是给出。
{{ftm|cpp-宏 |功能特性 |value=值 |std=C++XX |rowspan=R (可选)|dr=yes 或 XZ (可选)}}
cpp-宏给出功能特性测试宏的名称,例如__cpp_lib_constexpr功能特性给出功能特性的描述value给出功能特性测试值(日期),例如202202Lstd给出版本字符串,例如 (C++23)rowspan为可选参数(例如,rowspan="3"),它与标准维基表格中的含义相同,就是说,当给出它时,将把(功能特性测试宏列)R个纵向相邻单元格合并为一个,并在其中显示单独一条功能特性测试宏的名称。后续R - 1条 {{ftm}} 均应当以-字符替换宏名称。dr,如果给出参数“yes”,则在 C++ 版本之下给出 (DR) 标记。dr,如果给出除“yes”之外的参数,比如修订号98,则在 C++ 版本之下给出 (DR98) 标记。
示例
以下序列:
{{ftm begin|sort=yes}}
{{ftm|std=C++23|value=202207L|__cpp_lib_find_last|注释 #1}}
{{ftm|std=C++23|value=202207L|__cpp_lib_fold|注释 #2}}
{{ftm|std=C++20|value=201911L|__cpp_lib_ranges|rowspan="4"|注释 #3}}
{{ftm|std=C++20|value=202106L|-|注释 #4}}
{{ftm|std=C++20|value=202110L|-|注释 #5|dr=yes}}
{{ftm|std=C++23|value=202202L|-|注释 #6|dr=20}}
{{ftm|std=C++23|value=202207L|__cpp_lib_ranges_contains|注释 #7}}
{{ftm|std=C++23|value=202202L|__cpp_lib_ranges_iota|注释 #8}}
{{ftm|std=C++23|value=202106L|__cpp_lib_ranges_starts_ends_with|注释 #9}}
{{ftm|std=C++20|value=201806L|__cpp_lib_shift|rowspan="2"|注释 #10}}
{{ftm|std=C++23|value=202202L|-|注释 #11}}
{{ftm end}}
将产生:
| 功能特性测试宏 | 值 | 标准 | 功能特性 |
|---|---|---|---|
__cpp_lib_find_last |
202207L |
(C++23) | 注释 #1 |
__cpp_lib_fold |
202207L |
(C++23) | 注释 #2 |
__cpp_lib_ranges |
201911L |
(C++20) | 注释 #3 |
202106L |
(C++20) | 注释 #4 | |
202110L |
(C++20) (DR) |
注释 #5 | |
202202L |
(C++23) (DR20) |
注释 #6 | |
__cpp_lib_ranges_contains |
202207L |
(C++23) | 注释 #7 |
__cpp_lib_ranges_iota |
202202L |
(C++23) | 注释 #8 |
__cpp_lib_ranges_starts_ends_with |
202106L |
(C++23) | 注释 #9 |
__cpp_lib_shift |
201806L |
(C++20) | 注释 #10 |
202202L |
(C++23) | 注释 #11 |
内联格式
{{ftm link|功能特性测试宏名称 }}
产生到功能特性测试表格的链接。
功能特性测试宏名称- 一个 FTM 名称,比如__cpp_constexpr或__cpp_lib_ratio
例:
{{ftm link|__cpp_constexpr}}产生__cpp_constexpr
{{ftml|功能特性测试宏名称 |起始版本 (可选)|更新版本列表 (可选)}}
产生带有版本标记的简单链接,设计用于如 宏符号索引 之类的页面。
功能特性测试宏名称- FTM 名称,例如__cpp_constexpr和__cpp_lib_ratio起始版本- C++ 版本,形式为C++20更新版本列表- 发生更新的版本列表,形式为C++17, C++20
示例
{{ftml|__cpp_constexpr}}产生__cpp_constexpr{{ftml|__cpp_constexpr|C++11}}产生__cpp_constexpr(C++11 起){{ftml|__cpp_lib_format|C++20|C++23}}产生__cpp_lib_format(C++20 起)(C++23 更新){{ftml|__cpp_lib_format|C++20|C++23, C++26}}产生__cpp_lib_format(C++20 起)(C++23, C++26 更新)