3256. Feature testing macro for constexpr algorithms

Section: 17.3.1 [support.limits.general] Status: C++20 Submitter: Antony Polukhin Opened: 2019-08-14 Last modified: 2021-02-25

Priority: 0

View all other issues in [support.limits.general].

View all issues with C++20 status.

Discussion:

Feature testing macro from P0202 "Add Constexpr Modifiers to Functions in <algorithm> and <utility> Headers" is missing in the WD.

For user convenience and to reduce feature testing macro count it would be better to stick to initial version of P0202 that was providing only the __cpp_lib_constexpr_algorithms.

So remove __cpp_lib_constexpr_swap_algorithms, define __cpp_lib_constexpr_algorithms to 201703L if P0202 is implemented, to 201806L if P0202+P0879 are implemented.

[2019-09-02 Issue Prioritization]

Status to Tentatively Ready and priority to 0 after five positive votes on the reflector.

Proposed resolution:

This wording is relative to N4830.

  1. Modify the Table 36 "Standard library feature-test macros" [tab:support.ft] in 17.3.1 [support.limits.general] as indicated:

    Table 36: Standard library feature-test macros [tab:support.ft]
    Macro name Value Header(s)
    […]
    __cpp_lib_constexpr_swap_algorithms 201806L <algorithm>
    […]