hpx::any, hpx::make_any#

Defined in header hpx/any.hpp.

See Public API for a list of names and headers that are part of the public HPX API.

template<typename IArch, typename OArch, typename Char>
class basic_any<IArch, OArch, Char, std::true_type>#

Public Functions

inline constexpr basic_any() noexcept#
inline basic_any(basic_any const &x)#
inline basic_any(basic_any &&x) noexcept#
template<typename T>  requires (!std::is_same_v< basic_any, std::decay_t< T >>) basic_any(T &&x
inline std::enable_if_t< std::is_copy_constructible_v< std::decay_t< T > > > typename Ts requires (std::is_constructible_v< std::decay_t< T >, Ts... > &&std::is_copy_constructible_v< std::decay_t< T >>) explicit basic_any(std
template<typename T, typename U, typename... Ts> inline  requires (std::is_constructible_v< std::decay_t< T >, Ts... > &&std::is_copy_constructible_v< std::decay_t< T >>) explicit basic_any(std
inline ~basic_any()#
inline basic_any &operator=(basic_any const &x)#
inline basic_any &operator=(basic_any &&rhs) noexcept#
template<typename T>  requires (!std::is_same_v< basic_any, std::decay_t< T >> &&std::is_copy_constructible_v< std::decay_t< T >>) basic_any &operator
inline void load(IArch &ar, unsigned const version)#
inline void save(OArch &ar, unsigned const version) const#

Private Functions

inline basic_any &assign(basic_any const &x)#

Private Members

detail::any::fxn_ptr_table<IArch, OArch, Char, std::true_type> *table#
void *object#

Private Static Functions

template<typename T, typename ...Ts>
static inline void new_object(void *&object, std::true_type, Ts&&... ts)#
template<typename T, typename ...Ts>
static inline void new_object(void *&object, std::false_type, Ts&&... ts)#
namespace hpx

Top level HPX namespace.

Typedefs

using any = util::basic_any<serialization::input_archive, serialization::output_archive, char, std::true_type>#

Functions

template<typename T, typename Char> HPX_CXX_EXPORT util::basic_any< serialization::input_archive, serialization::output_archive, Char > make_any (T &&t)

Constructs an any object containing an object of type T, passing the provided arguments to T’s constructor. Equivalent to:

return std::any(std::in_place_type<T>, std::forward<Args>(args)...);

namespace util

Typedefs

using wany = basic_any<serialization::input_archive, serialization::output_archive, wchar_t, std::true_type>#

Functions

template<typename T, typename Char, typename... Ts> HPX_CXX_EXPORT basic_any< serialization::input_archive, serialization::output_archive, Char > make_any (Ts &&... ts)
template<typename T, typename Char, typename U, typename... Ts> HPX_CXX_EXPORT basic_any< serialization::input_archive, serialization::output_archive, Char > make_any (std::initializer_list< U > il, Ts &&... ts)
template<typename IArch, typename OArch, typename Char> true_type >

Public Functions

inline constexpr basic_any() noexcept
inline basic_any(basic_any const &x)
inline basic_any(basic_any &&x) noexcept
template<typename T>  requires (!std::is_same_v< basic_any, std::decay_t< T >>) basic_any(T &&x
inline std::enable_if_t< std::is_copy_constructible_v< std::decay_t< T > > > typename Ts requires (std::is_constructible_v< std::decay_t< T >, Ts... > &&std::is_copy_constructible_v< std::decay_t< T >>) explicit basic_any(std
template<typename T, typename U, typename... Ts> inline  requires (std::is_constructible_v< std::decay_t< T >, Ts... > &&std::is_copy_constructible_v< std::decay_t< T >>) explicit basic_any(std
inline ~basic_any()
inline basic_any &operator=(basic_any const &x)
inline basic_any &operator=(basic_any &&rhs) noexcept
template<typename T>  requires (!std::is_same_v< basic_any, std::decay_t< T >> &&std::is_copy_constructible_v< std::decay_t< T >>) basic_any &operator
inline void load(IArch &ar, unsigned const version)#
inline void save(OArch &ar, unsigned const version) const#

Private Functions

inline basic_any &assign(basic_any const &x)

Private Members

detail::any::fxn_ptr_table<IArch, OArch, Char, std::true_type> *table
void *object

Private Static Functions

template<typename T, typename ...Ts>
static inline void new_object(void *&object, std::true_type, Ts&&... ts)
template<typename T, typename ...Ts>
static inline void new_object(void *&object, std::false_type, Ts&&... ts)
struct hash_any#

Public Functions

template<typename Char>
std::size_t operator()(basic_any<serialization::input_archive, serialization::output_archive, Char, std::true_type> const &elem) const#