datastructures¶
The contents of this module can be included with the header
hpx/modules/datastructures.hpp. These headers may be used by user-code but are not
guaranteed stable (neither header location nor contents). You are using these at
your own risk. If you wish to use non-public functionality from a module we
strongly suggest only including the module header hpx/modules/datastructures.hpp, not
the particular header in which the functionality you would like to use is
defined. See Public API for a list of names that are part of the public
HPX API.
Header hpx/datastructures/any.hpp¶
-
template<>
classbasic_any<void, void, void, std::true_type>¶ - #include <any.hpp>
Public Functions
-
constexpr
basic_any()¶
-
template<typename
T, typenameEnable= typename std::enable_if<!std::is_same<basic_any, typename std::decay<T>::type>::value>::type>basic_any(T &&x, typename std::enable_if<std::is_copy_constructible<typename std::decay<T>::type>::value>::type* = nullptr)¶
-
~basic_any()¶
-
basic_any &
operator=(basic_any const &x)¶
-
basic_any &
operator=(basic_any &&rhs)¶
-
template<typename
T, typenameEnable= typename std::enable_if<!std::is_same<basic_any, typename std::decay<T>::type>::value && std::is_copy_constructible<typename std::decay<T>::type>::value>::type>
basic_any &operator=(T &&rhs)¶
-
basic_any &
swap(basic_any &x)¶
-
bool
has_value() const¶
-
void
reset()¶
-
bool
equal_to(basic_any const &rhs) const¶
Private Functions
-
basic_any &
assign(basic_any const &x)¶
-
constexpr
-
template<typename
Char>
classbasic_any<void, void, Char, std::true_type>¶ - #include <any.hpp>
Public Functions
-
constexpr
basic_any()
-
basic_any(basic_any const &x)
-
basic_any(basic_any &&x)
-
template<typename
T, typenameEnable= typename std::enable_if<!std::is_same<basic_any, typename std::decay<T>::type>::value>::type>basic_any(T &&x, typename std::enable_if<std::is_copy_constructible<typename std::decay<T>::type>::value>::type* = nullptr)
-
~basic_any()
-
basic_any &
operator=(basic_any const &x)
-
basic_any &
operator=(basic_any &&rhs)
-
template<typename
T, typenameEnable= typename std::enable_if<!std::is_same<basic_any, typename std::decay<T>::type>::value && std::is_copy_constructible<typename std::decay<T>::type>::value>::type>
basic_any &operator=(T &&rhs)
-
basic_any &
swap(basic_any &x)
-
std::type_info const &
type() const
-
template<typename
T>
T const &cast() const
-
bool
has_value() const
-
void
reset()
-
bool
equal_to(basic_any const &rhs) const
Private Functions
-
basic_any &
assign(basic_any const &x)
-
constexpr
-
template<>
classbasic_any<void, void, void, std::false_type>¶ - #include <any.hpp>
Public Functions
-
constexpr
basic_any()
-
basic_any(basic_any &&x)
-
template<typename
T, typenameEnable= typename std::enable_if<!std::is_same<basic_any, typename std::decay<T>::type>::value>::type>basic_any(T &&x, typename std::enable_if<std::is_move_constructible<typename std::decay<T>::type>::value>::type* = nullptr)¶
-
basic_any(basic_any const &x)
-
basic_any &
operator=(basic_any const &x)
-
~basic_any()
-
basic_any &
operator=(basic_any &&rhs)
-
template<typename
T, typenameEnable= typename std::enable_if<!std::is_same<basic_any, typename std::decay<T>::type>::value && std::is_move_constructible<typename std::decay<T>::type>::value>::type>
basic_any &operator=(T &&rhs)¶
-
basic_any &
swap(basic_any &x)
-
std::type_info const &
type() const
-
template<typename
T>
T const &cast() const
-
bool
has_value() const
-
void
reset()
-
bool
equal_to(basic_any const &rhs) const
-
constexpr
-
template<typename
Char>
classbasic_any<void, void, Char, std::false_type>¶ - #include <any.hpp>
Public Functions
-
constexpr
basic_any()
-
basic_any(basic_any &&x)
-
template<typename
T, typenameEnable= typename std::enable_if<!std::is_same<basic_any, typename std::decay<T>::type>::value>::type>basic_any(T &&x, typename std::enable_if<std::is_move_constructible<typename std::decay<T>::type>::value>::type* = nullptr)
-
basic_any(basic_any const &x)
-
basic_any &
operator=(basic_any const &x)
-
~basic_any()
-
basic_any &
operator=(basic_any &&rhs)
-
template<typename
T, typenameEnable= typename std::enable_if<!std::is_same<basic_any, typename std::decay<T>::type>::value && std::is_move_constructible<typename std::decay<T>::type>::value>::type>
basic_any &operator=(T &&rhs)
-
basic_any &
swap(basic_any &x)
-
std::type_info const &
type() const
-
template<typename
T>
T const &cast() const
-
bool
has_value() const
-
void
reset()
-
bool
equal_to(basic_any const &rhs) const
-
constexpr
-
namespace
hpx -
namespace
util Typedefs
Functions
-
template<typename
IArch, typenameOArch, typenameChar, typenameCopyable, typenameEnable= typename std::enable_if<!std::is_void<Char>::value>::type>
std::basic_istream<Char> &operator>>(std::basic_istream<Char> &i, basic_any<IArch, OArch, Char, Copyable> &obj)¶
-
template<typename
IArch, typenameOArch, typenameChar, typenameCopyable, typenameEnable= typename std::enable_if<!std::is_void<Char>::value>::type>
std::basic_ostream<Char> &operator<<(std::basic_ostream<Char> &o, basic_any<IArch, OArch, Char, Copyable> const &obj)¶
-
template<typename
IArch, typenameOArch, typenameChar, typenameCopyable>
voidswap(basic_any<IArch, OArch, Char, Copyable> &lhs, basic_any<IArch, OArch, Char, Copyable> &rhs)¶
-
template<typename
T, typenameIArch, typenameOArch, typenameChar, typenameCopyable>
T *any_cast(basic_any<IArch, OArch, Char, Copyable> *operand)¶
-
template<typename
T, typenameIArch, typenameOArch, typenameChar, typenameCopyable>
T const *any_cast(basic_any<IArch, OArch, Char, Copyable> const *operand)¶
-
template<typename
T, typenameIArch, typenameOArch, typenameChar, typenameCopyable>
Tany_cast(basic_any<IArch, OArch, Char, Copyable> &operand)¶
-
template<typename
T, typenameIArch, typenameOArch, typenameChar, typenameCopyable>
T const &any_cast(basic_any<IArch, OArch, Char, Copyable> const &operand)¶
-
struct
bad_any_cast: public bad_cast¶ - #include <any.hpp>
Public Functions
-
const char *
what() const¶
-
const char *
-
template<typename
Char>
classbasic_any<void, void, Char, std::false_type> - #include <any.hpp>
Public Functions
-
constexpr
basic_any()
-
basic_any(basic_any &&x)
-
template<typename
T, typenameEnable= typename std::enable_if<!std::is_same<basic_any, typename std::decay<T>::type>::value>::type>basic_any(T &&x, typename std::enable_if<std::is_move_constructible<typename std::decay<T>::type>::value>::type* = nullptr)
-
basic_any(basic_any const &x)
-
basic_any &
operator=(basic_any const &x)
-
~basic_any()
-
basic_any &
operator=(basic_any &&rhs)
-
template<typename
T, typenameEnable= typename std::enable_if<!std::is_same<basic_any, typename std::decay<T>::type>::value && std::is_move_constructible<typename std::decay<T>::type>::value>::type>
basic_any &operator=(T &&rhs)
-
basic_any &
swap(basic_any &x)
-
std::type_info const &
type() const
-
template<typename
T>
T const &cast() const
-
bool
has_value() const
-
void
reset()
-
bool
equal_to(basic_any const &rhs) const
-
constexpr
-
template<typename
Char>
classbasic_any<void, void, Char, std::true_type> - #include <any.hpp>
Public Functions
-
constexpr
basic_any()
-
basic_any(basic_any const &x)
-
basic_any(basic_any &&x)
-
template<typename
T, typenameEnable= typename std::enable_if<!std::is_same<basic_any, typename std::decay<T>::type>::value>::type>basic_any(T &&x, typename std::enable_if<std::is_copy_constructible<typename std::decay<T>::type>::value>::type* = nullptr)
-
~basic_any()
-
basic_any &
operator=(basic_any const &x)
-
basic_any &
operator=(basic_any &&rhs)
-
template<typename
T, typenameEnable= typename std::enable_if<!std::is_same<basic_any, typename std::decay<T>::type>::value && std::is_copy_constructible<typename std::decay<T>::type>::value>::type>
basic_any &operator=(T &&rhs)
-
basic_any &
swap(basic_any &x)
-
std::type_info const &
type() const
-
template<typename
T>
T const &cast() const
-
bool
has_value() const
-
void
reset()
-
bool
equal_to(basic_any const &rhs) const
Private Functions
-
basic_any &
assign(basic_any const &x)
-
constexpr
-
template<>
classbasic_any<void, void, void, std::false_type> - #include <any.hpp>
Public Functions
-
constexpr
basic_any()
-
basic_any(basic_any &&x)
-
template<typename
T, typenameEnable= typename std::enable_if<!std::is_same<basic_any, typename std::decay<T>::type>::value>::type>basic_any(T &&x, typename std::enable_if<std::is_move_constructible<typename std::decay<T>::type>::value>::type* = nullptr)
-
basic_any(basic_any const &x)
-
basic_any &
operator=(basic_any const &x)
-
~basic_any()
-
basic_any &
operator=(basic_any &&rhs)
-
template<typename
T, typenameEnable= typename std::enable_if<!std::is_same<basic_any, typename std::decay<T>::type>::value && std::is_move_constructible<typename std::decay<T>::type>::value>::type>
basic_any &operator=(T &&rhs)
-
basic_any &
swap(basic_any &x)
-
std::type_info const &
type() const
-
template<typename
T>
T const &cast() const
-
bool
has_value() const
-
void
reset()
-
bool
equal_to(basic_any const &rhs) const
-
constexpr
-
template<>
classbasic_any<void, void, void, std::true_type> - #include <any.hpp>
Public Functions
-
constexpr
basic_any()
-
basic_any(basic_any const &x)
-
basic_any(basic_any &&x)
-
template<typename
T, typenameEnable= typename std::enable_if<!std::is_same<basic_any, typename std::decay<T>::type>::value>::type>basic_any(T &&x, typename std::enable_if<std::is_copy_constructible<typename std::decay<T>::type>::value>::type* = nullptr)
-
~basic_any()
-
basic_any &
operator=(basic_any const &x)
-
basic_any &
operator=(basic_any &&rhs)
-
template<typename
T, typenameEnable= typename std::enable_if<!std::is_same<basic_any, typename std::decay<T>::type>::value && std::is_copy_constructible<typename std::decay<T>::type>::value>::type>
basic_any &operator=(T &&rhs)
-
basic_any &
swap(basic_any &x)
-
std::type_info const &
type() const
-
template<typename
T>
T const &cast() const
-
bool
has_value() const
-
void
reset()
-
bool
equal_to(basic_any const &rhs) const
Private Functions
-
basic_any &
assign(basic_any const &x)
-
constexpr
-
template<typename
-
namespace
Header hpx/datastructures/member_pack.hpp¶
-
template<std::size_t...
Is, typename ...Ts>
structmember_pack<util::index_pack<Is...>, Ts...> : public hpx::util::detail::member_leaf<Is, Ts>¶ - #include <member_pack.hpp>
Public Functions
-
member_pack()¶
-
-
namespace
hpx -
namespace
serialization
-
namespace
Header hpx/datastructures/optional.hpp¶
-
namespace
hpx -
namespace
util Functions
-
class
bad_optional_access: public logic_error¶ - #include <optional.hpp>
-
struct
nullopt_t¶ - #include <optional.hpp>
-
template<typename
T>
classoptional¶ - #include <optional.hpp>
Public Types
-
template<>
usingvalue_type= T¶
Public Functions
-
constexpr
optional()¶
-
optional(T const &val)¶
-
optional(T &&val)¶
-
~optional()¶
-
optional &
operator=(optional const &other)¶
-
optional &
operator=(optional &&other)¶
-
optional &
operator=(T const &other)¶
-
optional &
operator=(T &&other)¶
-
constexpr T const *
operator->() const¶
-
T *
operator->()¶
-
constexpr T const &
operator*() const¶
-
T &
operator*()¶
-
constexpr
operator bool() const¶
-
constexpr bool
has_value() const¶
-
T &
value()¶
-
T const &
value() const¶
-
void
swap(optional &other)¶
-
void
reset()¶
-
template<>
-
class
-
namespace
Header hpx/datastructures/tagged.hpp¶
Defines
-
HPX_DEFINE_TAG_SPECIFIER(NAME)¶
Header hpx/datastructures/tagged_pair.hpp¶
-
namespace
hpx -
namespace
util Functions
-
template<typename
Tag1, typenameTag2, typenameT1, typenameT2>
constexpr tagged_pair<Tag1(typename decay<T1>::type), Tag2(typename decay<T2>::type)>make_tagged_pair(std::pair<T1, T2> &&p)¶
-
template<typename
Tag1, typenameTag2, typenameT1, typenameT2>
constexpr tagged_pair<Tag1(typename decay<T1>::type), Tag2(typename decay<T2>::type)>make_tagged_pair(std::pair<T1, T2> const &p)¶
-
template<typename
Tag1, typenameTag2, typename ...Ts>
constexpr tagged_pair<Tag1(typename tuple_element<0, tuple<Ts...>>::type), Tag2(typename tuple_element<1, tuple<Ts...>>::type)>make_tagged_pair(tuple<Ts...> &&p)¶
-
template<typename
-
namespace
Header hpx/datastructures/tagged_tuple.hpp¶
-
namespace
hpx -
namespace
util
-
namespace
Header hpx/datastructures/traits/is_tuple_like.hpp¶
Header hpx/datastructures/traits/supports_streaming_with_any.hpp¶
Header hpx/datastructures/tuple.hpp¶
-
template<typename
T0, typenameT1>
structtuple_element<0, std::pair<T0, T1>>¶ - #include <tuple.hpp>
Public Types
-
template<>
usingtype= T0¶
-
template<>
-
template<typename
T0, typenameT1>
structtuple_element<1, std::pair<T0, T1>>¶ - #include <tuple.hpp>
Public Types
-
template<>
usingtype= T1¶
-
template<>
-
template<std::size_t
I, typenameType, std::size_tSize>
structtuple_element<I, std::array<Type, Size>>¶ - #include <tuple.hpp>
Public Types
-
template<>
usingtype= Type¶
-
template<>
-
namespace
hpx -
namespace
util Functions
-
template<typename ...
Ts, typename ...Us>
constexpr std::enable_if<sizeof...(Ts) == sizeof...(Us), bool>::typeoperator==(tuple<Ts...> const &t, tuple<Us...> const &u)¶
-
template<typename ...
Ts, typename ...Us>
constexpr std::enable_if<sizeof...(Ts) == sizeof...(Us), bool>::typeoperator!=(tuple<Ts...> const &t, tuple<Us...> const &u)¶
-
template<typename ...
Ts, typename ...Us>
constexpr std::enable_if<sizeof...(Ts) == sizeof...(Us), bool>::typeoperator<(tuple<Ts...> const &t, tuple<Us...> const &u)¶
-
template<typename ...
Ts, typename ...Us>
constexpr std::enable_if<sizeof...(Ts) == sizeof...(Us), bool>::typeoperator>(tuple<Ts...> const &t, tuple<Us...> const &u)¶
-
template<typename ...
Ts, typename ...Us>
constexpr std::enable_if<sizeof...(Ts) == sizeof...(Us), bool>::typeoperator<=(tuple<Ts...> const &t, tuple<Us...> const &u)¶
Variables
-
detail::ignore_type const
ignore= {}¶
-
template<typename ...
Ts>
classtuple¶ - #include <tuple.hpp>
Public Functions
-
template<typename
Dependent= void, typenameEnable= typename std::enable_if<util::all_of<std::is_constructible<Ts>...>::value, Dependent>::type>
constexprtuple()¶
-
constexpr
tuple(Ts const&... vs)¶
-
template<typename
U, typename ...Us, typenameEnable= typename std::enable_if<!std::is_same<tuple, typename std::decay<U>::type>::value || util::pack<Us...>::size != 0>::type, typenameEnableCompatible= typename std::enable_if<detail::are_tuples_compatible<tuple, tuple<U, Us...>>::value>::type>
constexprtuple(U &&v, Us&&... vs)¶
-
template<typename
UTuple, typenameEnable= typename std::enable_if<!std::is_same<tuple, typename std::decay<UTuple>::type>::value>::type, typenameEnableCompatible= typename std::enable_if<detail::are_tuples_compatible<tuple, UTuple>::value>::type>
constexprtuple(UTuple &&other)¶
-
tuple &
operator=(tuple const &other)¶
-
tuple &
operator=(tuple &&other)¶
-
void
swap(tuple &other)¶
Private Functions
-
template<std::size_t...
Is, typenameUTuple>
constexprtuple(util::index_pack<Is...>, UTuple &&other)¶
-
template<std::size_t...
Is>
voidassign_(util::index_pack<Is...>, tuple const &other)¶
-
template<std::size_t...
Is>
voidassign_(util::index_pack<Is...>, tuple &&other)¶
-
template<std::size_t...
Is>
voidswap_(util::index_pack<Is...>, tuple &other)¶
Private Members
-
util::member_pack_for<Ts...>
_members¶
-
template<typename
-
template<>
classtuple<>¶ - #include <tuple.hpp>
-
template<typename
T0, typenameT1>
structtuple_element<0, std::pair<T0, T1>> - #include <tuple.hpp>
Public Types
-
template<>
usingtype= T0
-
template<>
-
template<typename
T0, typenameT1>
structtuple_element<1, std::pair<T0, T1>> - #include <tuple.hpp>
Public Types
-
template<>
usingtype= T1
-
template<>
-
template<std::size_t
I, typenameType, std::size_tSize>
structtuple_element<I, std::array<Type, Size>> - #include <tuple.hpp>
Public Types
-
template<>
usingtype= Type
-
template<>
-
template<class
T>
structtuple_size¶ - #include <tuple.hpp>
Subclassed by hpx::util::tuple_size< const T >, hpx::util::tuple_size< const volatile T >, hpx::util::tuple_size< volatile T >
-
namespace
adl_barrier¶ Functions
-
template<std::size_t
I, typenameTuple, typenameEnable= typename util::always_void<typename util::tuple_element<I, Tuple>::type>::type>
constexpr util::tuple_element<I, Tuple>::type &get(Tuple &t)¶
-
template<std::size_t
I, typenameTuple, typenameEnable= typename util::always_void<typename util::tuple_element<I, Tuple>::type>::type>
constexpr util::tuple_element<I, Tuple>::type const &get(Tuple const &t)¶
-
template<std::size_t
-
namespace
std_adl_barrier¶ Functions
-
template<std::size_t
I, typename ...Ts>
constexpr util::tuple_element<I, util::tuple<Ts...>>::type &get(util::tuple<Ts...> &t)¶
-
template<std::size_t
I, typename ...Ts>
constexpr util::tuple_element<I, util::tuple<Ts...>>::type const &get(util::tuple<Ts...> const &t)¶
-
template<std::size_t
-
template<typename ...
-
namespace