Template:ftm/doc

Feature-test macros support
Used to generate the links to the pages/tables that describe given feature-test macro.

One-row form
feature test macro

Example: __cpp_constexpr results in Example: __cpp_lib_ranges results in Example: __cpp_lib_ranges results in

Example: __cpp_lib_iota results in Example: __cpp_lib_iota results in Example: __cpp_lib_iota results in

Multi-row form
If there is more than one feature-test macro on a page then they should be combined in a table using these templates:

params

params

...

ftm end

Syntax
ftm begin

Describes the table and defined which columns will be present. By default, only one column is present: the feature-test macro name.


 * if the named parameter is assigned then link (in the title of the table) to the   page (for library features) will not be generated
 * if the named parameter is assigned then the columns "Value" and "Std" will be added
 * if the named parameter is assigned then the column "Comment" will be added
 * if the named parameter is assigned then the table will be the "sortable" wiki-table

ftm


 * macro name is obligatory positional parameter #1, the feature-test macro name, e.g.
 * your comment is optional positional parameter #2, meant to be the commenting string for the macro
 * is an optional feature-test value, e.g.
 * is an optional feature-test C++ revision string, e.g. C++23
 * is an optional parameter (e.g., ) with the same meaning as in ordinary wiki-tables; the effect is the vertical merging of cells into one, with only 1 feature-test macro name inside. The following  ftms should go with  char instead of current feature-test macro name (see examples below).
 * is an optional parameter that adds a mark under C++ revision (e.g., under ).

Note: the columns described in ftm begin and the parameters passed to ftm should suit each other, that is, if the intention is to create a table with all supported columns, then all parameters should be defined for both templates. Else, the parameters for columns not described in the ftm begin should not be passed to ftm.

Examples
The sequence

results in:

The sequence

results in:

The sequence

results in:

The sequence

results in: