datastructures¶
#include <compatibility/hpx/util/any.hpp>
¶
#include <compatibility/hpx/util/optional.hpp>
¶
#include <compatibility/hpx/util/tuple.hpp>
¶
#include <compatibility/hpx/traits/supports_streaming_with_any.hpp>
¶
#include <compatibility/hpx/traits/is_tuple_like.hpp>
¶
#include <hpx/datastructures/any.hpp>
¶
-
template <>
template<>
classbasic_any
<void, void, void, std::true_type>¶ Public Functions
-
basic_any
()¶
-
template <typename T, typename Enable = 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, typename Enable = 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)¶
-
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)¶
-
-
template <typename Char>
template<>
classbasic_any
<void, void, Char, std::true_type>¶ Public Functions
-
basic_any
()
-
template <typename T, typename Enable = 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, typename Enable = 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)
-
-
template <>
template<>
classbasic_any
<void, void, void, std::false_type>¶ Public Functions
-
basic_any
()
-
template <typename T, typename Enable = 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 &
operator=
(basic_any const &x)
-
~basic_any
()
-
basic_any &
operator=
(basic_any &&rhs)¶
-
template <typename T, typename Enable = 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
-
-
template <typename Char>
template<>
classbasic_any
<void, void, Char, std::false_type>¶ Public Functions
-
basic_any
()
-
basic_any
(basic_any &&x)
-
template <typename T, typename Enable = 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, typename Enable = 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
-
-
namespace
hpx
-
namespace
util
Typedefs
-
using
hpx::util::any_nonser = typedef basic_any<void, void, void, std::true_type>
-
using
hpx::util::streamable_any_nonser = typedef basic_any<void, void, char, std::true_type>
-
using
hpx::util::streamable_wany_nonser = typedef basic_any<void, void, wchar_t, std::true_type>
-
using
hpx::util::unique_any_nonser = typedef basic_any<void, void, void, std::false_type>
-
using
hpx::util::streamable_unique_any_nonser = typedef basic_any<void, void, char, std::false_type>
-
using
hpx::util::streamable_unique_wany_nonser = typedef basic_any<void, void, wchar_t, std::false_type>
Functions
-
template <typename IArch, typename OArch, typename Char, typename Copyable, typename Enable = 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, typename OArch, typename Char, typename Copyable, typename Enable = 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, typename OArch, typename Char, typename Copyable>
voidswap
(basic_any<IArch, OArch, Char, Copyable> &lhs, basic_any<IArch, OArch, Char, Copyable> &rhs)¶
-
template <typename T, typename IArch, typename OArch, typename Char, typename Copyable>
T *any_cast
(basic_any<IArch, OArch, Char, Copyable> *operand)¶
-
template <typename T, typename IArch, typename OArch, typename Char, typename Copyable>
T const *any_cast
(basic_any<IArch, OArch, Char, Copyable> const *operand)
-
template <typename T, typename IArch, typename OArch, typename Char, typename Copyable>
Tany_cast
(basic_any<IArch, OArch, Char, Copyable> &operand)¶
-
template <typename T, typename IArch, typename OArch, typename Char, typename Copyable>
T const &any_cast
(basic_any<IArch, OArch, Char, Copyable> const &operand)¶
-
template <typename Char>
template<>
classbasic_any
<void, void, Char, std::false_type> Public Functions
-
basic_any
()
-
basic_any
(basic_any &&x)
-
template <typename T, typename Enable = 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, typename Enable = 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
-
-
template <typename Char>
template<>
classbasic_any
<void, void, Char, std::true_type> Public Functions
-
basic_any
()
-
basic_any
(basic_any const &x)
-
basic_any
(basic_any &&x)
-
template <typename T, typename Enable = 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, typename Enable = 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)
-
-
template <>
template<>
classbasic_any
<void, void, void, std::false_type> Public Functions
-
basic_any
()
-
basic_any
(basic_any &&x)
-
template <typename T, typename Enable = 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, typename Enable = 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
-
-
template <>
template<>
classbasic_any
<void, void, void, std::true_type> Public Functions
-
basic_any
()
-
basic_any
(basic_any const &x)
-
basic_any
(basic_any &&x)
-
template <typename T, typename Enable = 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, typename Enable = 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)
-
-
using
-
namespace
#include <hpx/datastructures/optional.hpp>
¶
-
namespace
hpx
-
namespace
util
Functions
-
template <typename T>
booloperator==
(optional<T> const &lhs, optional<T> const &rhs)¶
-
template <typename T>
booloperator!=
(optional<T> const &lhs, optional<T> const &rhs)¶
-
template <typename T>
booloperator<
(optional<T> const &lhs, optional<T> const &rhs)¶
-
template <typename T>
booloperator>=
(optional<T> const &lhs, optional<T> const &rhs)¶
-
template <typename T>
booloperator>
(optional<T> const &lhs, optional<T> const &rhs)¶
-
template <typename T>
booloperator<=
(optional<T> const &lhs, optional<T> const &rhs)¶
-
template <typename T>
booloperator==
(optional<T> const &opt, T const &value)¶
-
template <typename T>
booloperator==
(T const &value, optional<T> const &opt)¶
-
template <typename T>
booloperator!=
(optional<T> const &opt, T const &value)¶
-
template <typename T>
booloperator!=
(T const &value, optional<T> const &opt)¶
-
template <typename T>
booloperator<
(optional<T> const &opt, T const &value)¶
-
template <typename T>
booloperator<
(T const &value, optional<T> const &opt)¶
-
template <typename T>
booloperator>=
(optional<T> const &opt, T const &value)¶
-
template <typename T>
booloperator>=
(T const &value, optional<T> const &opt)¶
-
template <typename T>
booloperator>
(optional<T> const &opt, T const &value)¶
-
template <typename T>
booloperator>
(T const &value, optional<T> const &opt)¶
-
template <typename T>
booloperator<=
(optional<T> const &opt, T const &value)¶
-
template <typename T>
booloperator<=
(T const &value, optional<T> const &opt)¶
-
template <typename T>
voidswap
(optional<T> &x, optional<T> &y)¶
-
template <typename T, typename... Ts>
optional<T>make_optional
(Ts&&... ts)¶
-
class
bad_optional_access
: public logic_error¶
-
struct
nullopt_t
¶
-
template <typename T>
classoptional
¶ Public Types
-
template<>
usingvalue_type
= T¶
Public Functions
-
optional
()¶
-
optional
(T const &val)¶
-
optional
(T &&val)¶
-
template <typename... Ts>
optional
(in_place_t, Ts&&... ts)¶
-
~optional
()¶
-
T const *
operator->
() const¶
-
T *
operator->
()¶
-
T const &
operator*
() const¶
-
T &
operator*
()¶
-
operator bool
() const¶
-
bool
has_value
() const¶
-
T &
value
()¶
-
T const &
value
() const¶
- template <typename U>
-
HPX_CXX14_CONSTEXPR T hpx::util::optional::value_or(U && value) const
-
template <typename... Ts>
voidemplace
(Ts&&... ts)¶
-
void
reset
()¶
-
template<>
-
template <typename T>
-
namespace
#include <hpx/datastructures/tuple.hpp>
¶
-
template <typename T0, typename T1>
template<>
structtuple_element
<0, std::pair<T0, T1>>¶ Public Types
-
template<>
usingtype
= T0¶
Public Static Functions
-
static HPX_HOST_DEVICE type& hpx::util::tuple_element::get(std::pair< T0, T1 > & tuple)
-
static HPX_HOST_DEVICE type const& hpx::util::tuple_element::get(std::pair< T0, T1 > const & tuple)
-
template<>
-
template <typename T0, typename T1>
template<>
structtuple_element
<1, std::pair<T0, T1>>¶ Public Types
-
template<>
usingtype
= T1¶
Public Static Functions
-
static HPX_HOST_DEVICE type& hpx::util::tuple_element::get(std::pair< T0, T1 > & tuple)
-
static HPX_HOST_DEVICE type const& hpx::util::tuple_element::get(std::pair< T0, T1 > const & tuple)
-
template<>
-
template <std::size_t I, typename Type, std::size_t Size>
template<>
structtuple_element
<I, boost::array<Type, Size>>¶ Public Types
-
template<>
usingtype
= Type¶
Public Static Functions
-
static HPX_HOST_DEVICE type& hpx::util::tuple_element::get(boost::array< Type, Size > & tuple)
-
static HPX_HOST_DEVICE type const& hpx::util::tuple_element::get(boost::array< Type, Size > const & tuple)
-
template<>
-
template <std::size_t I, typename Type, std::size_t Size>
template<>
structtuple_element
<I, std::array<Type, Size>>¶ Public Types
-
template<>
usingtype
= Type¶
Public Static Functions
-
static HPX_HOST_DEVICE type& hpx::util::tuple_element::get(std::array< Type, Size > & tuple)
-
static HPX_HOST_DEVICE type const& hpx::util::tuple_element::get(std::array< Type, Size > const & tuple)
-
template<>
-
namespace
hpx
-
namespace
util
Functions
- template <typename… Ts>
-
HPX_HOST_DEVICE tuple<typename decay_unwrap<Ts>::type...> hpx::util::make_tuple(Ts &&... vs)
- template <typename… Ts>
-
HPX_HOST_DEVICE tuple<Ts&&...> hpx::util::forward_as_tuple(Ts &&... vs)
- template <typename… Ts>
-
HPX_HOST_DEVICE tuple<Ts&...> hpx::util::tie(Ts &... vs)
- template <typename… Tuples>
-
HPX_HOST_DEVICE auto hpx::util::tuple_cat(Tuples &&... tuples)
- template <typename… Ts, typename… Us>
-
HPX_HOST_DEVICE std::enable_if<sizeof...(Ts) == sizeof...(Us), bool>::type hpx::util::operator==(tuple < Ts... > const & t, tuple < Us... > const & u)
- template <typename… Ts, typename… Us>
-
HPX_HOST_DEVICE std::enable_if<sizeof...(Ts) == sizeof...(Us), bool>::type hpx::util::operator!=(tuple < Ts... > const & t, tuple < Us... > const & u)
- template <typename… Ts, typename… Us>
-
HPX_HOST_DEVICE std::enable_if<sizeof...(Ts) == sizeof...(Us), bool>::type hpx::util::operator<(tuple < Ts... > const & t, tuple < Us... > const & u)
- template <typename… Ts, typename… Us>
-
HPX_HOST_DEVICE std::enable_if<sizeof...(Ts) == sizeof...(Us), bool>::type hpx::util::operator>(tuple < Ts... > const & t, tuple < Us... > const & u)
- template <typename… Ts, typename… Us>
-
HPX_HOST_DEVICE std::enable_if<sizeof...(Ts) == sizeof...(Us), bool>::type hpx::util::operator<=(tuple < Ts... > const & t, tuple < Us... > const & u)
- template <typename… Ts, typename… Us>
-
HPX_HOST_DEVICE std::enable_if<sizeof...(Ts) == sizeof...(Us), bool>::type hpx::util::operator>=(tuple < Ts... > const & t, tuple < Us... > const & u)
- template <typename… Ts>
-
HPX_HOST_DEVICE void hpx::util::swap(tuple < Ts... > & x, tuple < Ts... > & y)
Variables
-
detail::ignore_type const
ignore
= {}¶
-
template <typename... Ts>
classtuple
¶ Public Functions
-
template <typename Dependent = void, typename Enable = typename std::enable_if< hpx::util::detail::all_of<std::is_constructible<Ts>...>::value, Dependent>::type>
HPX_HOST_DEVICEtuple
()¶
-
HPX_HOST_DEVICE
tuple
(Ts const&... vs)¶
-
template <typename U, typename... Us, typename Enable = typename std::enable_if< detail::pack<U, Us...>::size == detail::pack<Ts...>::size && std::conditional<detail::pack<Us...>::size == 0, typename std::enable_if< !std::is_same<tuple, typename std::decay<U>::type>::value && !detail::are_tuples_compatible_not_same<tuple, U&&>::value, detail::are_tuples_compatible<tuple, tuple<U>&&>>::type, detail::are_tuples_compatible<tuple, tuple<U, Us...>&&>>::type::value>::type>
HPX_HOST_DEVICEtuple
(U &&v, Us&&... vs)¶
-
template <typename UTuple, typename Enable = typename std::enable_if<detail::are_tuples_compatible_not_same< tuple, UTuple&&>::value>::type>
HPX_HOST_DEVICEtuple
(UTuple &&other)¶
-
HPX_HOST_DEVICE tuple& hpx::util::tuple::operator=(tuple const & other)
-
HPX_HOST_DEVICE tuple& hpx::util::tuple::operator=(tuple && other)
- template <typename UTuple>
-
HPX_HOST_DEVICE std::enable_if< tuple_size<typename std::decay<UTuple>::type>::value == detail::pack<Ts...>::size, tuple&>::type hpx::util::tuple::operator=(UTuple && other)
-
HPX_HOST_DEVICE void hpx::util::tuple::swap(tuple & other)
Public Members
-
detail::tuple_impl<typename detail::make_index_pack<sizeof...(Ts)>::type, Ts...>
_impl
¶
-
template <typename Dependent = void, typename Enable = typename std::enable_if< hpx::util::detail::all_of<std::is_constructible<Ts>...>::value, Dependent>::type>
-
template <>
template<>
classtuple
<>¶
-
template <typename T0, typename T1>
template<>
structtuple_element
<0, std::pair<T0, T1>> Public Types
-
template<>
usingtype
= T0
Public Static Functions
-
static HPX_HOST_DEVICE type& hpx::util::tuple_element::get(std::pair< T0, T1 > & tuple)
-
static HPX_HOST_DEVICE type const& hpx::util::tuple_element::get(std::pair< T0, T1 > const & tuple)
-
template<>
-
template <typename T0, typename T1>
template<>
structtuple_element
<1, std::pair<T0, T1>> Public Types
-
template<>
usingtype
= T1
Public Static Functions
-
static HPX_HOST_DEVICE type& hpx::util::tuple_element::get(std::pair< T0, T1 > & tuple)
-
static HPX_HOST_DEVICE type const& hpx::util::tuple_element::get(std::pair< T0, T1 > const & tuple)
-
template<>
-
template <std::size_t I, typename Type, std::size_t Size>
template<>
structtuple_element
<I, boost::array<Type, Size>> Public Types
-
template<>
usingtype
= Type
Public Static Functions
-
static HPX_HOST_DEVICE type& hpx::util::tuple_element::get(boost::array< Type, Size > & tuple)
-
static HPX_HOST_DEVICE type const& hpx::util::tuple_element::get(boost::array< Type, Size > const & tuple)
-
template<>
-
template <std::size_t I, typename Type, std::size_t Size>
template<>
structtuple_element
<I, std::array<Type, Size>> Public Types
-
template<>
usingtype
= Type
Public Static Functions
-
static HPX_HOST_DEVICE type& hpx::util::tuple_element::get(std::array< Type, Size > & tuple)
-
static HPX_HOST_DEVICE type const& hpx::util::tuple_element::get(std::array< Type, Size > const & tuple)
-
template<>
-
template <std::size_t I, typename... Ts>
template<>
structtuple_element
<I, tuple<Ts...>>¶ Public Types
-
template<>
usingtype
= typename detail::at_index::type¶
Public Static Functions
-
static HPX_HOST_DEVICE type& hpx::util::tuple_element::get(tuple < Ts... > & tuple)
-
static HPX_HOST_DEVICE type const& hpx::util::tuple_element::get(tuple < Ts... > const & tuple)
-
template<>
-
template <class T>
structtuple_size
¶ 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, typename Tuple>
-
HPX_HOST_DEVICE tuple_element< I, Tuple >::type & hpx::util::adl_barrier::get(Tuple & t)
- template <std::size_t I, typename Tuple>
-
HPX_HOST_DEVICE tuple_element< I, Tuple >::type const & hpx::util::adl_barrier::get(Tuple const & t)
- template <std::size_t I, typename Tuple>
-
HPX_HOST_DEVICE tuple_element< I, Tuple >::type && hpx::util::adl_barrier::get(Tuple && t)
- template <std::size_t I, typename Tuple>
-
HPX_HOST_DEVICE tuple_element< I, Tuple >::type const && hpx::util::adl_barrier::get(Tuple const && t)
-
namespace