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