hpx/iterator_support/iterator_facade.hpp¶
See Public API for a list of names and headers that are part of the public HPX API.
Defines
-
HPX_UTIL_ITERATOR_FACADE_INTEROP_HEAD
(prefix, op, result_type)¶
-
HPX_UTIL_ITERATOR_FACADE_INTEROP_HEAD_EX
(prefix, op, result_type, cond)¶
-
namespace
hpx
-
namespace
util
Functions
-
template<typename
Derived
, typenameT
, typenameCategory
, typenameReference
, typenameDistance
, typenamePointer
>
util::detail::postfix_increment_result_t<Derived, typename Derived::value_type, typename Derived::reference>operator++
(iterator_facade<Derived, T, Category, Reference, Distance, Pointer> &i, int)¶
-
hpx::util::HPX_UTIL_ITERATOR_FACADE_INTEROP_HEAD(inline constexpr, bool)
-
hpx::util::HPX_UTIL_ITERATOR_FACADE_INTEROP_HEAD(inline constexpr, !, bool)
-
hpx::util::HPX_UTIL_ITERATOR_FACADE_INTEROP_HEAD_EX(inline constexpr)
-
hpx::util::HPX_UTIL_ITERATOR_FACADE_INTEROP_HEAD_EX(inline constexpr, bool, detail::enable_random_access_operations)
-
hpx::util::HPX_UTIL_ITERATOR_FACADE_INTEROP_HEAD_EX(inline constexpr, <=, bool, detail::enable_random_access_operations)
-
hpx::util::HPX_UTIL_ITERATOR_FACADE_INTEROP_HEAD_EX(inline constexpr, >=, bool, detail::enable_random_access_operations)
-
hpx::util::HPX_UTIL_ITERATOR_FACADE_INTEROP_HEAD_EX(inline constexpr, -, typename std::iterator_traits< Derived2 >::difference_type, detail::enable_random_access_operations)
-
template<typename
Derived
, typenameT
, typenameCategory
, typenameReference
, typenameDistance
, typenamePointer
>
constexpr std::enable_if_t<std::is_same_v<typename Derived::iterator_category, std::random_access_iterator_tag>, Derived>operator+
(iterator_facade<Derived, T, Category, Reference, Distance, Pointer> const &it, typename Derived::difference_type n)¶
-
template<typename
Derived
, typenameT
, typenameCategory
, typenameReference
, typenameDistance
, typenamePointer
>
constexpr std::enable_if_t<std::is_same_v<typename Derived::iterator_category, std::random_access_iterator_tag>, Derived>operator+
(typename Derived::difference_type n, iterator_facade<Derived, T, Category, Reference, Distance, Pointer> const &it)¶
-
class
iterator_core_access
¶ Public Static Functions
-
template<typename
Iterator1
, typenameIterator2
>
static constexpr boolequal
(Iterator1 const &lhs, Iterator2 const &rhs)¶
-
template<typename
Reference
, typenameIterator
>
static constexpr Referencedereference
(Iterator const &it)¶
-
template<typename
-
template<typename
Derived
, typenameT
, typenameCategory
, typenameReference
= T&, typenameDistance
= std::ptrdiff_t, typenamePointer
= void>
structiterator_facade
: public hpx::util::detail::iterator_facade_base<Derived, T, Category, T&, std::ptrdiff_t, void>¶ Subclassed by hpx::util::iterator_adaptor< Derived, Base, Value, Category, Reference, Difference, Pointer >
Public Types
Public Functions
-
iterator_facade
()¶
Protected Types
-
template<>
usingiterator_adaptor_
= iterator_facade<Derived, T, Category, Reference, Distance, Pointer>¶
Private Types
-
template<>
usingbase_type
= detail::iterator_facade_base<Derived, T, Category, Reference, Distance, Pointer>¶
-
-
template<typename
-
namespace