This page is a snapshot from the LWG issues list, see the Library Active Issues List for more information and the meaning of WP status.

### 3792. `__cpp_lib_constexpr_algorithms` should also be defined in `<utility>`

Section: 17.3.2 [version.syn] Status: WP Submitter: Marc Mutz Opened: 2022-10-05 Last modified: 2022-11-17

Priority: Not Prioritized

View other active issues in [version.syn].

View all other issues in [version.syn].

View all issues with WP status.

Discussion:

17.3.2 [version.syn] says that `__cpp_lib_constexpr_algorithms` is only defined in `<version>` and `<algorithm>`, but the macro applies to `std::exchange()` in `<utility>` as well (via P0202R3), so it should also be available from `<utility>`.

[2022-10-12; Reflector poll]

Set status to Tentatively Ready after eight votes in favour during reflector poll.

[2022-11-12 Approved at November 2022 meeting in Kona. Status changed: Voting → WP.]

Proposed resolution:

This wording is relative to N4917.

1. Modify 17.3.2 [version.syn] as indicated (It is suggested to retroactively apply to C++20):

   >     […]
   >     #define __cpp_lib_concepts             202207L // also in <concepts>, <compare>
   >     #define __cpp_lib_constexpr_algorithms 201806L // also in <algorithm>, <utility>
   >     #define __cpp_lib_constexpr_bitset     202202L // also in <bitset>
   >     […]