Skip to content

Commit 3a97ba6

Browse files
authored
[lib] Rename exposition-only 'no-throw-' concepts to 'nothrow-' (#4942)
for consistency with nothrow_constructible.
1 parent 8114ccd commit 3a97ba6

File tree

2 files changed

+55
-55
lines changed

2 files changed

+55
-55
lines changed

source/algorithms.tex

Lines changed: 32 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -10247,15 +10247,15 @@
1024710247

1024810248
\begin{itemdecl}
1024910249
template<class I>
10250-
concept @\defexposconcept{no-throw-input-iterator}@ = // \expos
10250+
concept @\defexposconcept{nothrow-input-iterator}@ = // \expos
1025110251
@\libconcept{input_iterator}@<I> &&
1025210252
is_lvalue_reference_v<iter_reference_t<I>> &&
1025310253
@\libconcept{same_as}@<remove_cvref_t<iter_reference_t<I>>, iter_value_t<I>>;
1025410254
\end{itemdecl}
1025510255

1025610256
\begin{itemdescr}
1025710257
\pnum
10258-
A type \tcode{I} models \tcode{\placeholder{no-throw-input-iterator}} only if
10258+
A type \tcode{I} models \tcode{\placeholder{nothrow-input-iterator}} only if
1025910259
no exceptions are thrown from increment,
1026010260
copy construction, move construction,
1026110261
copy assignment, move assignment,
@@ -10270,12 +10270,12 @@
1027010270

1027110271
\begin{itemdecl}
1027210272
template<class S, class I>
10273-
concept @\defexposconcept{no-throw-sentinel-for}@ = @\libconcept{sentinel_for}@<S, I>; // \expos
10273+
concept @\defexposconcept{nothrow-sentinel-for}@ = @\libconcept{sentinel_for}@<S, I>; // \expos
1027410274
\end{itemdecl}
1027510275

1027610276
\begin{itemdescr}
1027710277
\pnum
10278-
Types \tcode{S} and \tcode{I} model \tcode{\placeholder{no-throw-sentinel-for}}
10278+
Types \tcode{S} and \tcode{I} model \tcode{\placeholder{nothrow-sentinel-for}}
1027910279
only if no exceptions are thrown from copy construction, move construction,
1028010280
copy assignment, move assignment, or comparisons between
1028110281
valid values of type \tcode{I} and \tcode{S}.
@@ -10289,25 +10289,25 @@
1028910289

1029010290
\begin{itemdecl}
1029110291
template<class R>
10292-
concept @\defexposconcept{no-throw-input-range}@ = // \expos
10292+
concept @\defexposconcept{nothrow-input-range}@ = // \expos
1029310293
range<R> &&
10294-
@\placeholder{no-throw-input-iterator}@<iterator_t<R>> &&
10295-
@\placeholder{no-throw-sentinel-for}@<sentinel_t<R>, iterator_t<R>>;
10294+
@\placeholder{nothrow-input-iterator}@<iterator_t<R>> &&
10295+
@\placeholder{nothrow-sentinel-for}@<sentinel_t<R>, iterator_t<R>>;
1029610296
\end{itemdecl}
1029710297

1029810298
\begin{itemdescr}
1029910299
\pnum
10300-
A type \tcode{R} models \tcode{\placeholder{no-throw-input-range}} only if
10300+
A type \tcode{R} models \tcode{\placeholder{nothrow-input-range}} only if
1030110301
no exceptions are thrown from calls to \tcode{ranges::begin} and
1030210302
\tcode{ranges::end} on an object of type \tcode{R}.
1030310303
\end{itemdescr}
1030410304

1030510305
\begin{itemdecl}
1030610306
template<class I>
10307-
concept @\defexposconcept{no-throw-forward-iterator}@ = // \expos
10308-
@\placeholder{no-throw-input-iterator}@<I> &&
10307+
concept @\defexposconcept{nothrow-forward-iterator}@ = // \expos
10308+
@\placeholder{nothrow-input-iterator}@<I> &&
1030910309
@\libconcept{forward_iterator}@<I> &&
10310-
@\placeholder{no-throw-sentinel-for}@<I, I>;
10310+
@\placeholder{nothrow-sentinel-for}@<I, I>;
1031110311
\end{itemdecl}
1031210312

1031310313
\begin{itemdescr}
@@ -10320,9 +10320,9 @@
1032010320

1032110321
\begin{itemdecl}
1032210322
template<class R>
10323-
concept @\defexposconcept{no-throw-forward-range}@ = // \expos
10324-
@\placeholder{no-throw-input-range}@<R> &&
10325-
@\placeholder{no-throw-forward-iterator}@<iterator_t<R>>;
10323+
concept @\defexposconcept{nothrow-forward-range}@ = // \expos
10324+
@\placeholder{nothrow-input-range}@<R> &&
10325+
@\placeholder{nothrow-forward-iterator}@<iterator_t<R>>;
1032610326
\end{itemdecl}
1032710327

1032810328
\rSec2[uninitialized.construct.default]{\tcode{uninitialized_default_construct}}
@@ -10347,10 +10347,10 @@
1034710347
\indexlibraryglobal{uninitialized_default_construct}%
1034810348
\begin{itemdecl}
1034910349
namespace ranges {
10350-
template<@\placeholdernc{no-throw-forward-iterator}@ I, @\placeholder{no-throw-sentinel-for}@<I> S>
10350+
template<@\placeholdernc{nothrow-forward-iterator}@ I, @\placeholder{nothrow-sentinel-for}@<I> S>
1035110351
requires @\libconcept{default_initializable}@<iter_value_t<I>>
1035210352
I uninitialized_default_construct(I first, S last);
10353-
template<@\placeholdernc{no-throw-forward-range}@ R>
10353+
template<@\placeholdernc{nothrow-forward-range}@ R>
1035410354
requires @\libconcept{default_initializable}@<range_value_t<R>>
1035510355
borrowed_iterator_t<R> uninitialized_default_construct(R&& r);
1035610356
}
@@ -10388,7 +10388,7 @@
1038810388
\indexlibraryglobal{uninitialized_default_construct_n}%
1038910389
\begin{itemdecl}
1039010390
namespace ranges {
10391-
template<@\placeholdernc{no-throw-forward-iterator}@ I>
10391+
template<@\placeholdernc{nothrow-forward-iterator}@ I>
1039210392
requires @\libconcept{default_initializable}@<iter_value_t<I>>
1039310393
I uninitialized_default_construct_n(I first, iter_difference_t<I> n);
1039410394
}
@@ -10426,10 +10426,10 @@
1042610426
\indexlibraryglobal{uninitialized_value_construct}%
1042710427
\begin{itemdecl}
1042810428
namespace ranges {
10429-
template<@\placeholdernc{no-throw-forward-iterator}@ I, @\placeholder{no-throw-sentinel-for}@<I> S>
10429+
template<@\placeholdernc{nothrow-forward-iterator}@ I, @\placeholder{nothrow-sentinel-for}@<I> S>
1043010430
requires @\libconcept{default_initializable}@<iter_value_t<I>>
1043110431
I uninitialized_value_construct(I first, S last);
10432-
template<@\placeholdernc{no-throw-forward-range}@ R>
10432+
template<@\placeholdernc{nothrow-forward-range}@ R>
1043310433
requires @\libconcept{default_initializable}@<range_value_t<R>>
1043410434
borrowed_iterator_t<R> uninitialized_value_construct(R&& r);
1043510435
}
@@ -10467,7 +10467,7 @@
1046710467
\indexlibraryglobal{uninitialized_value_construct_n}%
1046810468
\begin{itemdecl}
1046910469
namespace ranges {
10470-
template<@\placeholdernc{no-throw-forward-iterator}@ I>
10470+
template<@\placeholdernc{nothrow-forward-iterator}@ I>
1047110471
requires @\libconcept{default_initializable}@<iter_value_t<I>>
1047210472
I uninitialized_value_construct_n(I first, iter_difference_t<I> n);
1047310473
}
@@ -10515,11 +10515,11 @@
1051510515
\begin{itemdecl}
1051610516
namespace ranges {
1051710517
template<@\libconcept{input_iterator}@ I, @\libconcept{sentinel_for}@<I> S1,
10518-
@\placeholdernc{no-throw-forward-iterator}@ O, @\placeholder{no-throw-sentinel-for}@<O> S2>
10518+
@\placeholdernc{nothrow-forward-iterator}@ O, @\placeholder{nothrow-sentinel-for}@<O> S2>
1051910519
requires @\libconcept{constructible_from}@<iter_value_t<O>, iter_reference_t<I>>
1052010520
uninitialized_copy_result<I, O>
1052110521
uninitialized_copy(I ifirst, S1 ilast, O ofirst, S2 olast);
10522-
template<@\libconcept{input_range}@ IR, @\placeholdernc{no-throw-forward-range}@ OR>
10522+
template<@\libconcept{input_range}@ IR, @\placeholdernc{nothrow-forward-range}@ OR>
1052310523
requires @\libconcept{constructible_from}@<range_value_t<OR>, range_reference_t<IR>>
1052410524
uninitialized_copy_result<borrowed_iterator_t<IR>, borrowed_iterator_t<OR>>
1052510525
uninitialized_copy(IR&& in_range, OR&& out_range);
@@ -10570,7 +10570,7 @@
1057010570
\indexlibraryglobal{uninitialized_copy_n}%
1057110571
\begin{itemdecl}
1057210572
namespace ranges {
10573-
template<@\libconcept{input_iterator}@ I, @\placeholdernc{no-throw-forward-iterator}@ O, @\placeholder{no-throw-sentinel-for}@<O> S>
10573+
template<@\libconcept{input_iterator}@ I, @\placeholdernc{nothrow-forward-iterator}@ O, @\placeholder{nothrow-sentinel-for}@<O> S>
1057410574
requires @\libconcept{constructible_from}@<iter_value_t<O>, iter_reference_t<I>>
1057510575
uninitialized_copy_n_result<I, O>
1057610576
uninitialized_copy_n(I ifirst, iter_difference_t<I> n, O ofirst, S olast);
@@ -10622,11 +10622,11 @@
1062210622
\begin{itemdecl}
1062310623
namespace ranges {
1062410624
template<@\libconcept{input_iterator}@ I, @\libconcept{sentinel_for}@<I> S1,
10625-
@\placeholdernc{no-throw-forward-iterator}@ O, @\placeholder{no-throw-sentinel-for}@<O> S2>
10625+
@\placeholdernc{nothrow-forward-iterator}@ O, @\placeholder{nothrow-sentinel-for}@<O> S2>
1062610626
requires @\libconcept{constructible_from}@<iter_value_t<O>, iter_rvalue_reference_t<I>>
1062710627
uninitialized_move_result<I, O>
1062810628
uninitialized_move(I ifirst, S1 ilast, O ofirst, S2 olast);
10629-
template<@\libconcept{input_range}@ IR, @\placeholdernc{no-throw-forward-range}@ OR>
10629+
template<@\libconcept{input_range}@ IR, @\placeholdernc{nothrow-forward-range}@ OR>
1063010630
requires @\libconcept{constructible_from}@<range_value_t<OR>, range_rvalue_reference_t<IR>>
1063110631
uninitialized_move_result<borrowed_iterator_t<IR>, borrowed_iterator_t<OR>>
1063210632
uninitialized_move(IR&& in_range, OR&& out_range);
@@ -10681,7 +10681,7 @@
1068110681
\indexlibraryglobal{uninitialized_move_n}%
1068210682
\begin{itemdecl}
1068310683
namespace ranges {
10684-
template<@\libconcept{input_iterator}@ I, @\placeholdernc{no-throw-forward-iterator}@ O, @\placeholder{no-throw-sentinel-for}@<O> S>
10684+
template<@\libconcept{input_iterator}@ I, @\placeholdernc{nothrow-forward-iterator}@ O, @\placeholder{nothrow-sentinel-for}@<O> S>
1068510685
requires @\libconcept{constructible_from}@<iter_value_t<O>, iter_rvalue_reference_t<I>>
1068610686
uninitialized_move_n_result<I, O>
1068710687
uninitialized_move_n(I ifirst, iter_difference_t<I> n, O ofirst, S olast);
@@ -10732,10 +10732,10 @@
1073210732
\indexlibraryglobal{uninitialized_fill}%
1073310733
\begin{itemdecl}
1073410734
namespace ranges {
10735-
template<@\placeholdernc{no-throw-forward-iterator}@ I, @\placeholder{no-throw-sentinel-for}@<I> S, class T>
10735+
template<@\placeholdernc{nothrow-forward-iterator}@ I, @\placeholder{nothrow-sentinel-for}@<I> S, class T>
1073610736
requires @\libconcept{constructible_from}@<iter_value_t<I>, const T&>
1073710737
I uninitialized_fill(I first, S last, const T& x);
10738-
template<@\placeholdernc{no-throw-forward-range}@ R, class T>
10738+
template<@\placeholdernc{nothrow-forward-range}@ R, class T>
1073910739
requires @\libconcept{constructible_from}@<range_value_t<R>, const T&>
1074010740
borrowed_iterator_t<R> uninitialized_fill(R&& r, const T& x);
1074110741
}
@@ -10773,7 +10773,7 @@
1077310773
\indexlibraryglobal{uninitialized_fill_n}%
1077410774
\begin{itemdecl}
1077510775
namespace ranges {
10776-
template<@\placeholdernc{no-throw-forward-iterator}@ I, class T>
10776+
template<@\placeholdernc{nothrow-forward-iterator}@ I, class T>
1077710777
requires @\libconcept{constructible_from}@<iter_value_t<I>, const T&>
1077810778
I uninitialized_fill_n(I first, iter_difference_t<I> n, const T& x);
1077910779
}
@@ -10857,10 +10857,10 @@
1085710857
\indexlibraryglobal{destroy}%
1085810858
\begin{itemdecl}
1085910859
namespace ranges {
10860-
template<@\placeholdernc{no-throw-input-iterator}@ I, @\placeholder{no-throw-sentinel-for}@<I> S>
10860+
template<@\placeholdernc{nothrow-input-iterator}@ I, @\placeholder{nothrow-sentinel-for}@<I> S>
1086110861
requires @\libconcept{destructible}@<iter_value_t<I>>
1086210862
constexpr I destroy(I first, S last) noexcept;
10863-
template<@\placeholdernc{no-throw-input-range}@ R>
10863+
template<@\placeholdernc{nothrow-input-range}@ R>
1086410864
requires @\libconcept{destructible}@<range_value_t<R>>
1086510865
constexpr borrowed_iterator_t<R> destroy(R&& r) noexcept;
1086610866
}
@@ -10897,7 +10897,7 @@
1089710897
\indexlibraryglobal{destroy_n}%
1089810898
\begin{itemdecl}
1089910899
namespace ranges {
10900-
template<@\placeholdernc{no-throw-input-iterator}@ I>
10900+
template<@\placeholdernc{nothrow-input-iterator}@ I>
1090110901
requires @\libconcept{destructible}@<iter_value_t<I>>
1090210902
constexpr I destroy_n(I first, iter_difference_t<I> n) noexcept;
1090310903
}

source/utilities.tex

Lines changed: 23 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -6919,15 +6919,15 @@
69196919
// \ref{specialized.algorithms}, specialized algorithms
69206920
// \ref{special.mem.concepts}, special memory concepts
69216921
template<class I>
6922-
concept @\exposconcept{no-throw-input-iterator}@ = @\seebelow@; // \expos
6922+
concept @\exposconcept{nothrow-input-iterator}@ = @\seebelow@; // \expos
69236923
template<class I>
6924-
concept @\exposconcept{no-throw-forward-iterator}@ = @\seebelow@; // \expos
6924+
concept @\exposconcept{nothrow-forward-iterator}@ = @\seebelow@; // \expos
69256925
template<class S, class I>
6926-
concept @\exposconcept{no-throw-sentinel-for}@ = @\seebelow@; // \expos
6926+
concept @\exposconcept{nothrow-sentinel-for}@ = @\seebelow@; // \expos
69276927
template<class R>
6928-
concept @\exposconcept{no-throw-input-range}@ = @\seebelow@; // \expos
6928+
concept @\exposconcept{nothrow-input-range}@ = @\seebelow@; // \expos
69296929
template<class R>
6930-
concept @\exposconcept{no-throw-forward-range}@ = @\seebelow@; // \expos
6930+
concept @\exposconcept{nothrow-forward-range}@ = @\seebelow@; // \expos
69316931

69326932
template<class NoThrowForwardIterator>
69336933
void uninitialized_default_construct(NoThrowForwardIterator first,
@@ -6945,14 +6945,14 @@
69456945
NoThrowForwardIterator first, Size n);
69466946

69476947
namespace ranges {
6948-
template<@\exposconcept{no-throw-forward-iterator}@ I, @\exposconcept{no-throw-sentinel-for}@<I> S>
6948+
template<@\exposconcept{nothrow-forward-iterator}@ I, @\exposconcept{nothrow-sentinel-for}@<I> S>
69496949
requires @\libconcept{default_initializable}@<iter_value_t<I>>
69506950
I uninitialized_default_construct(I first, S last);
6951-
template<@\exposconcept{no-throw-forward-range}@ R>
6951+
template<@\exposconcept{nothrow-forward-range}@ R>
69526952
requires @\libconcept{default_initializable}@<range_value_t<R>>
69536953
borrowed_iterator_t<R> uninitialized_default_construct(R&& r);
69546954

6955-
template<@\exposconcept{no-throw-forward-iterator}@ I>
6955+
template<@\exposconcept{nothrow-forward-iterator}@ I>
69566956
requires @\libconcept{default_initializable}@<iter_value_t<I>>
69576957
I uninitialized_default_construct_n(I first, iter_difference_t<I> n);
69586958
}
@@ -6973,14 +6973,14 @@
69736973
NoThrowForwardIterator first, Size n);
69746974

69756975
namespace ranges {
6976-
template<@\exposconcept{no-throw-forward-iterator}@ I, @\exposconcept{no-throw-sentinel-for}@<I> S>
6976+
template<@\exposconcept{nothrow-forward-iterator}@ I, @\exposconcept{nothrow-sentinel-for}@<I> S>
69776977
requires @\libconcept{default_initializable}@<iter_value_t<I>>
69786978
I uninitialized_value_construct(I first, S last);
6979-
template<@\exposconcept{no-throw-forward-range}@ R>
6979+
template<@\exposconcept{nothrow-forward-range}@ R>
69806980
requires @\libconcept{default_initializable}@<range_value_t<R>>
69816981
borrowed_iterator_t<R> uninitialized_value_construct(R&& r);
69826982

6983-
template<@\exposconcept{no-throw-forward-iterator}@ I>
6983+
template<@\exposconcept{nothrow-forward-iterator}@ I>
69846984
requires @\libconcept{default_initializable}@<iter_value_t<I>>
69856985
I uninitialized_value_construct_n(I first, iter_difference_t<I> n);
69866986
}
@@ -7005,18 +7005,18 @@
70057005
template<class I, class O>
70067006
using uninitialized_copy_result = in_out_result<I, O>;
70077007
template<@\libconcept{input_iterator}@ I, @\libconcept{sentinel_for}@<I> S1,
7008-
@\exposconcept{no-throw-forward-iterator}@ O, @\exposconcept{no-throw-sentinel-for}@<O> S2>
7008+
@\exposconcept{nothrow-forward-iterator}@ O, @\exposconcept{nothrow-sentinel-for}@<O> S2>
70097009
requires @\libconcept{constructible_from}@<iter_value_t<O>, iter_reference_t<I>>
70107010
uninitialized_copy_result<I, O>
70117011
uninitialized_copy(I ifirst, S1 ilast, O ofirst, S2 olast);
7012-
template<@\libconcept{input_range}@ IR, @\exposconcept{no-throw-forward-range}@ OR>
7012+
template<@\libconcept{input_range}@ IR, @\exposconcept{nothrow-forward-range}@ OR>
70137013
requires @\libconcept{constructible_from}@<range_value_t<OR>, range_reference_t<IR>>
70147014
uninitialized_copy_result<borrowed_iterator_t<IR>, borrowed_iterator_t<OR>>
70157015
uninitialized_copy(IR&& in_range, OR&& out_range);
70167016

70177017
template<class I, class O>
70187018
using uninitialized_copy_n_result = in_out_result<I, O>;
7019-
template<@\libconcept{input_iterator}@ I, @\exposconcept{no-throw-forward-iterator}@ O, @\exposconcept{no-throw-sentinel-for}@<O> S>
7019+
template<@\libconcept{input_iterator}@ I, @\exposconcept{nothrow-forward-iterator}@ O, @\exposconcept{nothrow-sentinel-for}@<O> S>
70207020
requires @\libconcept{constructible_from}@<iter_value_t<O>, iter_reference_t<I>>
70217021
uninitialized_copy_n_result<I, O>
70227022
uninitialized_copy_n(I ifirst, iter_difference_t<I> n, O ofirst, S olast);
@@ -7042,19 +7042,19 @@
70427042
template<class I, class O>
70437043
using uninitialized_move_result = in_out_result<I, O>;
70447044
template<@\libconcept{input_iterator}@ I, @\libconcept{sentinel_for}@<I> S1,
7045-
@\exposconcept{no-throw-forward-iterator}@ O, @\exposconcept{no-throw-sentinel-for}@<O> S2>
7045+
@\exposconcept{nothrow-forward-iterator}@ O, @\exposconcept{nothrow-sentinel-for}@<O> S2>
70467046
requires @\libconcept{constructible_from}@<iter_value_t<O>, iter_rvalue_reference_t<I>>
70477047
uninitialized_move_result<I, O>
70487048
uninitialized_move(I ifirst, S1 ilast, O ofirst, S2 olast);
7049-
template<@\libconcept{input_range}@ IR, @\exposconcept{no-throw-forward-range}@ OR>
7049+
template<@\libconcept{input_range}@ IR, @\exposconcept{nothrow-forward-range}@ OR>
70507050
requires @\libconcept{constructible_from}@<range_value_t<OR>, range_rvalue_reference_t<IR>>
70517051
uninitialized_move_result<borrowed_iterator_t<IR>, borrowed_iterator_t<OR>>
70527052
uninitialized_move(IR&& in_range, OR&& out_range);
70537053

70547054
template<class I, class O>
70557055
using uninitialized_move_n_result = in_out_result<I, O>;
70567056
template<@\libconcept{input_iterator}@ I,
7057-
@\exposconcept{no-throw-forward-iterator}@ O, @\exposconcept{no-throw-sentinel-for}@<O> S>
7057+
@\exposconcept{nothrow-forward-iterator}@ O, @\exposconcept{nothrow-sentinel-for}@<O> S>
70587058
requires @\libconcept{constructible_from}@<iter_value_t<O>, iter_rvalue_reference_t<I>>
70597059
uninitialized_move_n_result<I, O>
70607060
uninitialized_move_n(I ifirst, iter_difference_t<I> n, O ofirst, S olast);
@@ -7076,14 +7076,14 @@
70767076
NoThrowForwardIterator first, Size n, const T& x);
70777077

70787078
namespace ranges {
7079-
template<@\exposconcept{no-throw-forward-iterator}@ I, @\exposconcept{no-throw-sentinel-for}@<I> S, class T>
7079+
template<@\exposconcept{nothrow-forward-iterator}@ I, @\exposconcept{nothrow-sentinel-for}@<I> S, class T>
70807080
requires @\libconcept{constructible_from}@<iter_value_t<I>, const T&>
70817081
I uninitialized_fill(I first, S last, const T& x);
7082-
template<@\exposconcept{no-throw-forward-range}@ R, class T>
7082+
template<@\exposconcept{nothrow-forward-range}@ R, class T>
70837083
requires @\libconcept{constructible_from}@<range_value_t<R>, const T&>
70847084
borrowed_iterator_t<R> uninitialized_fill(R&& r, const T& x);
70857085

7086-
template<@\exposconcept{no-throw-forward-iterator}@ I, class T>
7086+
template<@\exposconcept{nothrow-forward-iterator}@ I, class T>
70877087
requires @\libconcept{constructible_from}@<iter_value_t<I>, const T&>
70887088
I uninitialized_fill_n(I first, iter_difference_t<I> n, const T& x);
70897089
}
@@ -7115,14 +7115,14 @@
71157115
template<@\libconcept{destructible}@ T>
71167116
constexpr void destroy_at(T* location) noexcept;
71177117

7118-
template<@\exposconcept{no-throw-input-iterator}@ I, @\exposconcept{no-throw-sentinel-for}@<I> S>
7118+
template<@\exposconcept{nothrow-input-iterator}@ I, @\exposconcept{nothrow-sentinel-for}@<I> S>
71197119
requires @\libconcept{destructible}@<iter_value_t<I>>
71207120
constexpr I destroy(I first, S last) noexcept;
7121-
template<@\exposconcept{no-throw-input-range}@ R>
7121+
template<@\exposconcept{nothrow-input-range}@ R>
71227122
requires @\libconcept{destructible}@<range_value_t<R>>
71237123
constexpr borrowed_iterator_t<R> destroy(R&& r) noexcept;
71247124

7125-
template<@\exposconcept{no-throw-input-iterator}@ I>
7125+
template<@\exposconcept{nothrow-input-iterator}@ I>
71267126
requires @\libconcept{destructible}@<iter_value_t<I>>
71277127
constexpr I destroy_n(I first, iter_difference_t<I> n) noexcept;
71287128
}

0 commit comments

Comments
 (0)