Skip to content
Permalink
Browse files

Renaming moveonly_any to unique_any

  • Loading branch information...
hkaiser committed Oct 8, 2019
1 parent fa2ae9e commit 5337254b1564dbfbc48ed805470ddb40ae8609e1
@@ -137,7 +137,7 @@ namespace hpx { namespace serialization { namespace detail {
shared_state_->set_on_completed(std::move(f));
}

// We add this solely for the purpose of making moveonly_any compile.
// We add this solely for the purpose of making unique_any compile.
// Comparing instances of this type does not make any sense,
// conceptually.
friend bool operator==(
@@ -162,10 +162,10 @@ namespace hpx { namespace serialization {
constexpr std::size_t extra_output_handle_futures = 2;

template <>
inline util::moveonly_any_nonser
inline util::unique_any_nonser
init_extra_output_data_item<extra_output_handle_futures>()
{
return util::moveonly_any_nonser{detail::preprocess_futures{}};
return util::unique_any_nonser{detail::preprocess_futures{}};
}

template <>
@@ -88,7 +88,7 @@ namespace hpx { namespace serialization {
split_gids_ = std::move(gids);
}

// We add this solely for the purpose of making moveonly_any compile.
// We add this solely for the purpose of making unique_any compile.
// Comparing instances of this type does not make any sense,
// conceptually.
friend bool operator==(
@@ -110,10 +110,10 @@ namespace hpx { namespace serialization {
constexpr std::size_t encode_parcel_extra_output_data_size = 2;

template <>
inline util::moveonly_any_nonser
inline util::unique_any_nonser
init_extra_output_data_item<extra_output_split_credits>()
{
return util::moveonly_any_nonser{detail::preprocess_gid_types{}};
return util::unique_any_nonser{detail::preprocess_gid_types{}};
}

template <>
@@ -5,7 +5,7 @@
Copyright (c) Pablo Aguilar 2005
Copyright (c) Kevlin Henney 2001
// SPDX-License-Identifier: BSL-1.0
SPDX-License-Identifier: BSL-1.0
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -1,11 +1,11 @@
/*=============================================================================
Copyright (c) 2013 Shuangyang Yang
Copyright (c) 2007-2013 Hartmut Kaiser
Copyright (c) 2007-2019 Hartmut Kaiser
Copyright (c) Christopher Diggins 2005
Copyright (c) Pablo Aguilar 2005
Copyright (c) Kevlin Henney 2001
// SPDX-License-Identifier: BSL-1.0
SPDX-License-Identifier: BSL-1.0
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -312,7 +312,7 @@ namespace hpx { namespace util {
};

////////////////////////////////////////////////////////////////////////
// static functions for small value-types (moveonly any)
// static functions for small value-types (unique_any)
template <>
struct fxns<std::true_type, std::false_type>
{
@@ -360,7 +360,7 @@ namespace hpx { namespace util {
};
};

// static functions for big value-types (bigger than a void*, moveonly)
// static functions for big value-types (bigger than a void*, unique)
template <>
struct fxns<std::false_type, std::false_type>
{
@@ -1037,7 +1037,7 @@ namespace hpx { namespace util {
};

////////////////////////////////////////////////////////////////////////////
// specialization for moveonly any without streaming and without
// specialization for unique_any without streaming and without
// serialization
template <>
class basic_any<void, void, void, std::false_type>
@@ -1225,7 +1225,7 @@ namespace hpx { namespace util {
void* object;
};

// specialization for moveonly any supporting streaming
// specialization for unique_any supporting streaming
template <typename Char> // default is char
class basic_any<void, void, Char, std::false_type>
{
@@ -1558,17 +1558,17 @@ namespace hpx { namespace util {
}

////////////////////////////////////////////////////////////////////////////
// make moveonly any
// make unique_any
template <typename T, typename... Ts>
basic_any<void, void, void, std::false_type> make_moveonly_any_nonser(
basic_any<void, void, void, std::false_type> make_unique_any_nonser(
Ts&&... ts)
{
return basic_any<void, void, void, std::false_type>(
std::in_place_type<T>, std::forward<Ts>(ts)...);
}

template <typename T, typename U, typename... Ts>
basic_any<void, void, void, std::false_type> make_moveonly_any_nonser(
basic_any<void, void, void, std::false_type> make_unique_any_nonser(
std::initializer_list<U> il, Ts&&... ts)
{
return basic_any<void, void, void, std::false_type>(
@@ -1577,15 +1577,15 @@ namespace hpx { namespace util {

template <typename T, typename Char, typename... Ts>
basic_any<void, void, Char, std::false_type>
make_streamable_moveonly_any_nonser(Ts&&... ts)
make_streamable_unique_any_nonser(Ts&&... ts)
{
return basic_any<void, void, Char, std::false_type>(
std::in_place_type<T>, std::forward<Ts>(ts)...);
}

template <typename T, typename Char, typename U, typename... Ts>
basic_any<void, void, Char, std::false_type>
make_streamable_moveonly_any_nonser(std::initializer_list<U> il, Ts&&... ts)
make_streamable_unique_any_nonser(std::initializer_list<U> il, Ts&&... ts)
{
return basic_any<void, void, Char, std::false_type>(
std::in_place_type<T>, il, std::forward<Ts>(ts)...);
@@ -1606,16 +1606,16 @@ namespace hpx { namespace util {
return basic_any<void, void, Char, std::true_type>(std::forward<T>(t));
}

// make moveonly any
// make unique_any
template <typename T>
basic_any<void, void, void, std::false_type> make_moveonly_any_nonser(T&& t)
basic_any<void, void, void, std::false_type> make_unique_any_nonser(T&& t)
{
return basic_any<void, void, void, std::false_type>(std::forward<T>(t));
}

template <typename T, typename Char>
basic_any<void, void, Char, std::false_type>
make_streamable_moveonly_any_nonser(T&& t)
make_streamable_unique_any_nonser(T&& t)
{
return basic_any<void, void, Char, std::false_type>(std::forward<T>(t));
}
@@ -1629,12 +1629,12 @@ namespace hpx { namespace util {
basic_any<void, void, wchar_t, std::true_type>;

////////////////////////////////////////////////////////////////////////////
// better names for moveonly any
using moveonly_any_nonser = basic_any<void, void, void, std::false_type>;
// better names for unique_any
using unique_any_nonser = basic_any<void, void, void, std::false_type>;

using streamable_moveonly_any_nonser =
using streamable_unique_any_nonser =
basic_any<void, void, char, std::false_type>;
using streamable_moveonly_wany_nonser =
using streamable_unique_wany_nonser =
basic_any<void, void, wchar_t, std::false_type>;

}} // namespace hpx::util
@@ -8,7 +8,7 @@ set(tests
any
boost_any
is_tuple_like
moveonly_any
unique_any
tuple
)

@@ -18,14 +18,14 @@
#include "small_big_object.hpp"

using hpx::util::any_cast;
using hpx::util::moveonly_any_nonser;
using hpx::util::streamable_moveonly_any_nonser;
using hpx::util::streamable_unique_any_nonser;
using hpx::util::unique_any_nonser;

///////////////////////////////////////////////////////////////////////////////
int main()
{
{
streamable_moveonly_any_nonser any1(big_object(30, 40));
streamable_unique_any_nonser any1(big_object(30, 40));
std::stringstream buffer;

buffer << any1;
@@ -37,7 +37,7 @@ int main()
{
// test equality
{
moveonly_any_nonser any1_nonser(7), any2_nonser(7), any3_nonser(10),
unique_any_nonser any1_nonser(7), any2_nonser(7), any3_nonser(10),
any4_nonser(std::string("seven"));

HPX_TEST(any_cast<int>(any1_nonser) == 7);
@@ -73,12 +73,12 @@ int main()

small_object const f(17);

moveonly_any_nonser any1_nonser(f);
moveonly_any_nonser any2_nonser(std::move(any1_nonser));
unique_any_nonser any1_nonser(f);
unique_any_nonser any2_nonser(std::move(any1_nonser));
HPX_TEST(!any1_nonser.has_value()); // NOLINT

moveonly_any_nonser any3_nonser(f);
moveonly_any_nonser any4_nonser = std::move(any3_nonser);
unique_any_nonser any3_nonser(f);
unique_any_nonser any4_nonser = std::move(any3_nonser);
HPX_TEST(!any3_nonser.has_value()); // NOLINT

HPX_TEST_EQ(
@@ -95,12 +95,12 @@ int main()

big_object const f(5, 12);

moveonly_any_nonser any1_nonser(f);
moveonly_any_nonser any2_nonser(std::move(any1_nonser));
unique_any_nonser any1_nonser(f);
unique_any_nonser any2_nonser(std::move(any1_nonser));
HPX_TEST(!any1_nonser.has_value()); // NOLINT

moveonly_any_nonser any3_nonser(f);
moveonly_any_nonser any4_nonser = std::move(any3_nonser);
unique_any_nonser any3_nonser(f);
unique_any_nonser any4_nonser = std::move(any3_nonser);
HPX_TEST(!any3_nonser.has_value()); // NOLINT

HPX_TEST_EQ((any_cast<big_object>(any2_nonser))(5, 6),
@@ -111,17 +111,17 @@ int main()

// move semantics
{
moveonly_any_nonser any1(5);
unique_any_nonser any1(5);
HPX_TEST(any1.has_value());
moveonly_any_nonser any2(std::move(any1));
unique_any_nonser any2(std::move(any1));
HPX_TEST(any2.has_value());
HPX_TEST(!any1.has_value()); // NOLINT
}

{
moveonly_any_nonser any1(5);
unique_any_nonser any1(5);
HPX_TEST(any1.has_value());
moveonly_any_nonser any2;
unique_any_nonser any2;
HPX_TEST(!any2.has_value());

any2 = std::move(any1);
@@ -49,17 +49,17 @@ namespace hpx { namespace serialization {

////////////////////////////////////////////////////////////////////////////
template <>
inline util::moveonly_any_nonser
inline util::unique_any_nonser
init_extra_input_data_item<extra_input_pointer_tracker>()
{
return util::moveonly_any_nonser{detail::input_pointer_tracker{}};
return util::unique_any_nonser{detail::input_pointer_tracker{}};
}

template <>
inline util::moveonly_any_nonser
inline util::unique_any_nonser
init_extra_output_data_item<extra_output_pointer_tracker>()
{
return util::moveonly_any_nonser{detail::output_pointer_tracker{}};
return util::unique_any_nonser{detail::output_pointer_tracker{}};
}

template <>
@@ -13,7 +13,7 @@

namespace hpx { namespace serialization {

using extra_archive_data_type = std::vector<util::moveonly_any_nonser>;
using extra_archive_data_type = std::vector<util::unique_any_nonser>;
}} // namespace hpx::serialization

#endif
@@ -20,7 +20,7 @@ namespace hpx { namespace serialization {

////////////////////////////////////////////////////////////////////////////
template <std::size_t N>
util::moveonly_any_nonser init_extra_input_data_item();
util::unique_any_nonser init_extra_input_data_item();

namespace detail {

@@ -20,7 +20,7 @@ namespace hpx { namespace serialization {

////////////////////////////////////////////////////////////////////////////
template <std::size_t N>
util::moveonly_any_nonser init_extra_output_data_item();
util::unique_any_nonser init_extra_output_data_item();

template <std::size_t N>
void reset_extra_output_data_item(extra_archive_data_type& data);

0 comments on commit 5337254

Please sign in to comment.
You can’t perform that action at this time.