Skip to content

Commit

Permalink
Merge pull request #5415 from Jedi18/adapt_uninit_default_construct
Browse files Browse the repository at this point in the history
Adapt uninitialized_default_construct and uninitialized_default_construct_n to C++ 20
  • Loading branch information
msimberg committed Jul 6, 2021
2 parents fa1f0b2 + d6248e7 commit 99fb68a
Show file tree
Hide file tree
Showing 11 changed files with 1,243 additions and 139 deletions.
6 changes: 4 additions & 2 deletions docs/sphinx/api/public_api.rst
Expand Up @@ -567,15 +567,17 @@ Functions

- :cpp:func:`hpx::parallel::v1::uninitialized_copy`
- :cpp:func:`hpx::parallel::v1::uninitialized_copy_n`
- :cpp:func:`hpx::parallel::v1::uninitialized_default_construct`
- :cpp:func:`hpx::parallel::v1::uninitialized_default_construct_n`
- :cpp:func:`hpx::uninitialized_default_construct`
- :cpp:func:`hpx::uninitialized_default_construct_n`
- :cpp:func:`hpx::parallel::v1::uninitialized_fill`
- :cpp:func:`hpx::parallel::v1::uninitialized_fill_n`
- :cpp:func:`hpx::uninitialized_move`
- :cpp:func:`hpx::uninitialized_move_n`
- :cpp:func:`hpx::parallel::v1::uninitialized_value_construct`
- :cpp:func:`hpx::parallel::v1::uninitialized_value_construct_n`

- :cpp:func:`hpx::ranges::uninitialized_default_construct`
- :cpp:func:`hpx::ranges::uninitialized_default_construct_n`
- :cpp:func:`hpx::ranges::uninitialized_move`
- :cpp:func:`hpx::ranges::uninitialized_move_n`

Expand Down
4 changes: 2 additions & 2 deletions docs/sphinx/manual/writing_single_node_hpx_applications.rst
Expand Up @@ -724,11 +724,11 @@ Parallel algorithms
* Copies a number of objects to an uninitialized area of memory.
* ``<hpx/memory.hpp>``
* :cppreference-memory:`uninitialized_copy_n`
* * :cpp:func:`hpx::parallel::v1::uninitialized_default_construct`
* * :cpp:func:`hpx::uninitialized_default_construct`
* Copies a range of objects to an uninitialized area of memory.
* ``<hpx/memory.hpp>``
* :cppreference-memory:`uninitialized_default_construct`
* * :cpp:func:`hpx::parallel::v1::uninitialized_default_construct_n`
* * :cpp:func:`hpx::uninitialized_default_construct_n`
* Copies a number of objects to an uninitialized area of memory.
* ``<hpx/memory.hpp>``
* :cppreference-memory:`uninitialized_default_construct_n`
Expand Down
2 changes: 0 additions & 2 deletions libs/full/include_local/include/hpx/local/memory.hpp
Expand Up @@ -12,8 +12,6 @@
namespace hpx {
using hpx::parallel::uninitialized_copy;
using hpx::parallel::uninitialized_copy_n;
using hpx::parallel::uninitialized_default_construct;
using hpx::parallel::uninitialized_default_construct_n;
using hpx::parallel::uninitialized_fill;
using hpx::parallel::uninitialized_fill_n;
using hpx::parallel::uninitialized_value_construct;
Expand Down
1 change: 1 addition & 0 deletions libs/parallelism/algorithms/CMakeLists.txt
Expand Up @@ -121,6 +121,7 @@ set(algorithms_headers
hpx/parallel/container_algorithms/stable_sort.hpp
hpx/parallel/container_algorithms/transform.hpp
hpx/parallel/container_algorithms/transform_reduce.hpp
hpx/parallel/container_algorithms/uninitialized_default_construct.hpp
hpx/parallel/container_algorithms/uninitialized_move.hpp
hpx/parallel/container_algorithms/unique.hpp
hpx/parallel/container_memory.hpp
Expand Down

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Expand Up @@ -52,7 +52,7 @@ void test_uninitialized_default_construct(ExPolicy&& policy, IteratorTag)
std::memset(
static_cast<void*>(p), 0xcd, data_size * sizeof(default_constructable));

hpx::parallel::uninitialized_default_construct(
hpx::uninitialized_default_construct(
std::forward<ExPolicy>(policy), iterator(p), iterator(p + data_size));

std::size_t count = 0;
Expand All @@ -76,7 +76,7 @@ void test_uninitialized_default_construct_async(ExPolicy&& policy, IteratorTag)
std::memset(
static_cast<void*>(p), 0xcd, data_size * sizeof(default_constructable));

auto f = hpx::parallel::uninitialized_default_construct(
auto f = hpx::uninitialized_default_construct(
std::forward<ExPolicy>(policy), iterator(p), iterator(p + data_size));
f.wait();

Expand Down Expand Up @@ -104,7 +104,7 @@ void test_uninitialized_default_construct2(ExPolicy&& policy, IteratorTag)
std::memset(
static_cast<void*>(p), 0xcd, data_size * sizeof(value_constructable));

hpx::parallel::uninitialized_default_construct(
hpx::uninitialized_default_construct(
std::forward<ExPolicy>(policy), iterator(p), iterator(p + data_size));

std::size_t count = 0;
Expand All @@ -128,7 +128,7 @@ void test_uninitialized_default_construct_async2(ExPolicy&& policy, IteratorTag)
std::memset(
static_cast<void*>(p), 0xcd, data_size * sizeof(value_constructable));

auto f = hpx::parallel::uninitialized_default_construct(
auto f = hpx::uninitialized_default_construct(
std::forward<ExPolicy>(policy), iterator(p), iterator(p + data_size));
f.wait();

Expand Down Expand Up @@ -167,7 +167,7 @@ void test_uninitialized_default_construct_exception(
bool caught_exception = false;
try
{
hpx::parallel::uninitialized_default_construct(policy,
hpx::uninitialized_default_construct(policy,
decorated_iterator(p,
[&throw_after]() {
if (throw_after-- == 0)
Expand Down Expand Up @@ -215,7 +215,7 @@ void test_uninitialized_default_construct_exception_async(
bool returned_from_algorithm = false;
try
{
auto f = hpx::parallel::uninitialized_default_construct(policy,
auto f = hpx::uninitialized_default_construct(policy,
decorated_iterator(p,
[&throw_after]() {
if (throw_after-- == 0)
Expand Down Expand Up @@ -271,7 +271,7 @@ void test_uninitialized_default_construct_bad_alloc(
bool caught_bad_alloc = false;
try
{
hpx::parallel::uninitialized_default_construct(policy,
hpx::uninitialized_default_construct(policy,
decorated_iterator(p,
[&throw_after]() {
if (throw_after-- == 0)
Expand Down Expand Up @@ -319,7 +319,7 @@ void test_uninitialized_default_construct_bad_alloc_async(
bool returned_from_algorithm = false;
try
{
auto f = hpx::parallel::uninitialized_default_construct(policy,
auto f = hpx::uninitialized_default_construct(policy,
decorated_iterator(p,
[&throw_after]() {
if (throw_after-- == 0)
Expand Down
Expand Up @@ -50,8 +50,7 @@ void test_uninitialized_default_construct_n(ExPolicy policy, IteratorTag)
std::memset(
static_cast<void*>(p), 0xcd, data_size * sizeof(default_constructable));

hpx::parallel::uninitialized_default_construct_n(
policy, iterator(p), data_size);
hpx::uninitialized_default_construct_n(policy, iterator(p), data_size);

std::size_t count = 0;
std::for_each(p, p + data_size, [&count](default_constructable v1) {
Expand All @@ -74,8 +73,8 @@ void test_uninitialized_default_construct_n_async(ExPolicy policy, IteratorTag)
std::memset(
static_cast<void*>(p), 0xcd, data_size * sizeof(default_constructable));

auto f = hpx::parallel::uninitialized_default_construct_n(
policy, iterator(p), data_size);
auto f =
hpx::uninitialized_default_construct_n(policy, iterator(p), data_size);
f.wait();

std::size_t count = 0;
Expand All @@ -102,8 +101,7 @@ void test_uninitialized_default_construct_n2(ExPolicy policy, IteratorTag)
std::memset(
static_cast<void*>(p), 0xcd, data_size * sizeof(value_constructable));

hpx::parallel::uninitialized_default_construct_n(
policy, iterator(p), data_size);
hpx::uninitialized_default_construct_n(policy, iterator(p), data_size);

std::size_t count = 0;
std::for_each(p, p + data_size, [&count](value_constructable v1) {
Expand All @@ -126,8 +124,8 @@ void test_uninitialized_default_construct_n_async2(ExPolicy policy, IteratorTag)
std::memset(
static_cast<void*>(p), 0xcd, data_size * sizeof(value_constructable));

auto f = hpx::parallel::uninitialized_default_construct_n(
policy, iterator(p), data_size);
auto f =
hpx::uninitialized_default_construct_n(policy, iterator(p), data_size);
f.wait();

std::size_t count = 0;
Expand Down Expand Up @@ -191,7 +189,7 @@ void test_uninitialized_default_construct_n_exception(
bool caught_exception = false;
try
{
hpx::parallel::uninitialized_default_construct_n(policy,
hpx::uninitialized_default_construct_n(policy,
decorated_iterator(p,
[&throw_after]() {
if (throw_after-- == 0)
Expand Down Expand Up @@ -239,7 +237,7 @@ void test_uninitialized_default_construct_n_exception_async(
bool returned_from_algorithm = false;
try
{
auto f = hpx::parallel::uninitialized_default_construct_n(policy,
auto f = hpx::uninitialized_default_construct_n(policy,
decorated_iterator(p,
[&throw_after]() {
if (throw_after-- == 0)
Expand Down Expand Up @@ -320,7 +318,7 @@ void test_uninitialized_default_construct_n_bad_alloc(
bool caught_bad_alloc = false;
try
{
hpx::parallel::uninitialized_default_construct_n(policy,
hpx::uninitialized_default_construct_n(policy,
decorated_iterator(p,
[&throw_after]() {
if (throw_after-- == 0)
Expand Down Expand Up @@ -368,7 +366,7 @@ void test_uninitialized_default_construct_n_bad_alloc_async(
bool returned_from_algorithm = false;
try
{
auto f = hpx::parallel::uninitialized_default_construct_n(policy,
auto f = hpx::uninitialized_default_construct_n(policy,
decorated_iterator(p,
[&throw_after]() {
if (throw_after-- == 0)
Expand Down
Expand Up @@ -94,6 +94,8 @@ set(tests
transform_reduce_binary_exception_range
transform_reduce_binary_range
transform_reduce_range
uninitialized_default_construct_range
uninitialized_default_constructn_range
uninitialized_move_range
uninitialized_move_n_range
unique_range
Expand Down

0 comments on commit 99fb68a

Please sign in to comment.