Connected features
Papers
12 · Varna 2023 → Brno 2026Makes more of <cmath> and <complex> constexpr (sqrt, exp, trigonometry…).
Makes stable_sort, stable_partition and inplace_merge constexpr.
Adds std::is_within_lifetime to check which union member is active during constant evaluation.
Makes std::atomic and atomic_ref constexpr.
Makes uninitialized_default_construct constexpr.
Wording for constexpr specialized memory algorithms (uninitialized_copy etc.).
Makes the remaining containers and adaptors (map, set, deque, list, flat_*, unordered_*…) constexpr.
Makes the standard exception types (std::exception, logic_error…) constexpr.
Makes std::shared_ptr, weak_ptr and related functions constexpr.
Extends std::is_within_lifetime to more cases.
Allows std::uncaught_exceptions() and current_exception() in constant evaluation in a conservative way.
Adds pointer-tagging utilities usable in constant evaluation.