diff --git a/source/ranges.tex b/source/ranges.tex index 2c3fbe82aa..ca99d24197 100644 --- a/source/ranges.tex +++ b/source/ranges.tex @@ -138,6 +138,20 @@ template inline constexpr bool enable_borrowed_range> = true; // freestanding + template + requires ((N == 0 && @\libconcept{copyable}@) || N == 1) + constexpr auto get(const subrange& r); + + template + requires (N < 2) + constexpr auto get(subrange&& r); +} + +namespace std { + using ranges::get; +} + +namespace std::ranges { // \ref{range.dangling}, dangling iterator handling struct dangling; // freestanding @@ -1880,18 +1894,6 @@ template<@\libconcept{borrowed_range}@ R> subrange(R&&, @\placeholdernc{make-unsigned-like-t}@>) -> subrange, sentinel_t, subrange_kind::sized>; - - template - requires ((N == 0 && @\libconcept{copyable}@) || N == 1) - constexpr auto get(const subrange& r); - - template - requires (N < 2) - constexpr auto get(subrange&& r); -} - -namespace std { - using ranges::get; } \end{codeblock} diff --git a/source/threads.tex b/source/threads.tex index 630a2d865b..a383dd8181 100644 --- a/source/threads.tex +++ b/source/threads.tex @@ -2049,6 +2049,13 @@ namespace std { // \ref{atomics.order}, order and consistency enum class memory_order : @\unspec@; // freestanding + inline constexpr memory_order memory_order_relaxed = memory_order::relaxed; + inline constexpr memory_order memory_order_consume = memory_order::consume; + inline constexpr memory_order memory_order_acquire = memory_order::acquire; + inline constexpr memory_order memory_order_release = memory_order::release; + inline constexpr memory_order memory_order_acq_rel = memory_order::acq_rel; + inline constexpr memory_order memory_order_seq_cst = memory_order::seq_cst; + template T kill_dependency(T y) noexcept; // freestanding } @@ -2415,12 +2422,6 @@ enum class memory_order : @\unspec@ { relaxed, consume, acquire, release, acq_rel, seq_cst }; - inline constexpr memory_order memory_order_relaxed = memory_order::relaxed; - inline constexpr memory_order memory_order_consume = memory_order::consume; - inline constexpr memory_order memory_order_acquire = memory_order::acquire; - inline constexpr memory_order memory_order_release = memory_order::release; - inline constexpr memory_order memory_order_acq_rel = memory_order::acq_rel; - inline constexpr memory_order memory_order_seq_cst = memory_order::seq_cst; } \end{codeblock}