-
Notifications
You must be signed in to change notification settings - Fork 772
P2976R1 Freestanding Library: algorithm, numeric, and random #7706
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Large diffs are not rendered by default.
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -194,16 +194,17 @@ | |
constexpr void uninitialized_default_construct(NoThrowForwardIterator first, // freestanding | ||
NoThrowForwardIterator last); | ||
template<class ExecutionPolicy, class NoThrowForwardIterator> | ||
void uninitialized_default_construct(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads} | ||
NoThrowForwardIterator first, | ||
void uninitialized_default_construct(ExecutionPolicy&& exec, // freestanding-deleted, | ||
NoThrowForwardIterator first, // see \ref{algorithms.parallel.overloads} | ||
Comment on lines
+197
to
+198
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I don't think this comment is aligned with the other There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This seems fine, do you have anything specific in mind? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. No objections to the status quo. |
||
NoThrowForwardIterator last); | ||
template<class NoThrowForwardIterator, class Size> | ||
constexpr NoThrowForwardIterator | ||
uninitialized_default_construct_n(NoThrowForwardIterator first, Size n); // freestanding | ||
template<class ExecutionPolicy, class NoThrowForwardIterator, class Size> | ||
NoThrowForwardIterator | ||
uninitialized_default_construct_n(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads} | ||
NoThrowForwardIterator first, Size n); | ||
uninitialized_default_construct_n(ExecutionPolicy&& exec, // freestanding-deleted, | ||
NoThrowForwardIterator first, // see \ref{algorithms.parallel.overloads} | ||
Size n); | ||
|
||
namespace ranges { | ||
template<@\exposconcept{nothrow-forward-iterator}@ I, @\exposconcept{nothrow-sentinel-for}@<I> S> | ||
|
@@ -223,16 +224,17 @@ | |
constexpr void uninitialized_value_construct(NoThrowForwardIterator first, // freestanding | ||
NoThrowForwardIterator last); | ||
template<class ExecutionPolicy, class NoThrowForwardIterator> | ||
void uninitialized_value_construct(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads} | ||
NoThrowForwardIterator first, | ||
void uninitialized_value_construct(ExecutionPolicy&& exec, // freestanding-deleted, | ||
NoThrowForwardIterator first, // see \ref{algorithms.parallel.overloads} | ||
NoThrowForwardIterator last); | ||
template<class NoThrowForwardIterator, class Size> | ||
constexpr NoThrowForwardIterator | ||
uninitialized_value_construct_n(NoThrowForwardIterator first, Size n); // freestanding | ||
template<class ExecutionPolicy, class NoThrowForwardIterator, class Size> | ||
NoThrowForwardIterator | ||
uninitialized_value_construct_n(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads} | ||
NoThrowForwardIterator first, Size n); | ||
uninitialized_value_construct_n(ExecutionPolicy&& exec, // freestanding-deleted, | ||
NoThrowForwardIterator first, // see \ref{algorithms.parallel.overloads} | ||
Size n); | ||
|
||
namespace ranges { | ||
template<@\exposconcept{nothrow-forward-iterator}@ I, @\exposconcept{nothrow-sentinel-for}@<I> S> | ||
|
@@ -253,17 +255,19 @@ | |
InputIterator last, | ||
NoThrowForwardIterator result); | ||
template<class ExecutionPolicy, class ForwardIterator, class NoThrowForwardIterator> | ||
NoThrowForwardIterator uninitialized_copy(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads} | ||
ForwardIterator first, ForwardIterator last, | ||
NoThrowForwardIterator uninitialized_copy(ExecutionPolicy&& exec, // freestanding-deleted, | ||
ForwardIterator first, // see \ref{algorithms.parallel.overloads} | ||
ForwardIterator last, | ||
NoThrowForwardIterator result); | ||
template<class InputIterator, class Size, class NoThrowForwardIterator> | ||
constexpr NoThrowForwardIterator uninitialized_copy_n(InputIterator first, // freestanding | ||
Size n, | ||
NoThrowForwardIterator result); | ||
template<class ExecutionPolicy, class ForwardIterator, class Size, | ||
class NoThrowForwardIterator> | ||
NoThrowForwardIterator uninitialized_copy_n(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads} | ||
ForwardIterator first, Size n, | ||
NoThrowForwardIterator uninitialized_copy_n(ExecutionPolicy&& exec, // freestanding-deleted, | ||
ForwardIterator first, // see \ref{algorithms.parallel.overloads} | ||
Size n, | ||
NoThrowForwardIterator result); | ||
|
||
namespace ranges { | ||
|
@@ -293,8 +297,9 @@ | |
InputIterator last, | ||
NoThrowForwardIterator result); | ||
template<class ExecutionPolicy, class ForwardIterator, class NoThrowForwardIterator> | ||
NoThrowForwardIterator uninitialized_move(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads} | ||
ForwardIterator first, ForwardIterator last, | ||
NoThrowForwardIterator uninitialized_move(ExecutionPolicy&& exec, // freestanding-deleted, | ||
ForwardIterator first, // see \ref{algorithms.parallel.overloads} | ||
ForwardIterator last, | ||
NoThrowForwardIterator result); | ||
template<class InputIterator, class Size, class NoThrowForwardIterator> | ||
constexpr pair<InputIterator, NoThrowForwardIterator> | ||
|
@@ -303,8 +308,9 @@ | |
template<class ExecutionPolicy, class ForwardIterator, class Size, | ||
class NoThrowForwardIterator> | ||
pair<ForwardIterator, NoThrowForwardIterator> | ||
uninitialized_move_n(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads} | ||
ForwardIterator first, Size n, NoThrowForwardIterator result); | ||
uninitialized_move_n(ExecutionPolicy&& exec, // freestanding-deleted, | ||
ForwardIterator first, Size n, // see \ref{algorithms.parallel.overloads} | ||
NoThrowForwardIterator result); | ||
|
||
namespace ranges { | ||
template<class I, class O> | ||
|
@@ -333,16 +339,18 @@ | |
constexpr void uninitialized_fill(NoThrowForwardIterator first, // freestanding | ||
NoThrowForwardIterator last, const T& x); | ||
template<class ExecutionPolicy, class NoThrowForwardIterator, class T> | ||
void uninitialized_fill(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads} | ||
NoThrowForwardIterator first, NoThrowForwardIterator last, | ||
void uninitialized_fill(ExecutionPolicy&& exec, // freestanding-deleted, | ||
NoThrowForwardIterator first, // see \ref{algorithms.parallel.overloads} | ||
NoThrowForwardIterator last, | ||
const T& x); | ||
template<class NoThrowForwardIterator, class Size, class T> | ||
constexpr NoThrowForwardIterator | ||
uninitialized_fill_n(NoThrowForwardIterator first, Size n, const T& x); // freestanding | ||
template<class ExecutionPolicy, class NoThrowForwardIterator, class Size, class T> | ||
NoThrowForwardIterator | ||
uninitialized_fill_n(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads} | ||
NoThrowForwardIterator first, Size n, const T& x); | ||
uninitialized_fill_n(ExecutionPolicy&& exec, // freestanding-deleted, | ||
NoThrowForwardIterator first, // see \ref{algorithms.parallel.overloads} | ||
Size n, const T& x); | ||
|
||
namespace ranges { | ||
template<@\exposconcept{nothrow-forward-iterator}@ I, @\exposconcept{nothrow-sentinel-for}@<I> S, class T> | ||
|
@@ -374,14 +382,15 @@ | |
constexpr void destroy(NoThrowForwardIterator first, // freestanding | ||
NoThrowForwardIterator last); | ||
template<class ExecutionPolicy, class NoThrowForwardIterator> | ||
void destroy(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads} | ||
NoThrowForwardIterator first, NoThrowForwardIterator last); | ||
void destroy(ExecutionPolicy&& exec, // freestanding-deleted, | ||
NoThrowForwardIterator first, // see \ref{algorithms.parallel.overloads} | ||
NoThrowForwardIterator last); | ||
template<class NoThrowForwardIterator, class Size> | ||
constexpr NoThrowForwardIterator destroy_n(NoThrowForwardIterator first, // freestanding | ||
Size n); | ||
template<class ExecutionPolicy, class NoThrowForwardIterator, class Size> | ||
NoThrowForwardIterator destroy_n(ExecutionPolicy&& exec, // see \ref{algorithms.parallel.overloads} | ||
NoThrowForwardIterator first, Size n); | ||
NoThrowForwardIterator destroy_n(ExecutionPolicy&& exec, // freestanding-deleted, | ||
NoThrowForwardIterator first, Size n); // see \ref{algorithms.parallel.overloads} | ||
|
||
namespace ranges { | ||
template<@\libconcept{destructible}@ T> | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oops, the header should be
<execution>
. I'll open a PR for this.