struct tagged_ptr_pair
Declaration
template <class Left, class Right>
struct tagged_ptr_pair { /* full declaration omitted */ };Declared at: libs/pika/concurrency/include/pika/concurrency/detail/tagged_ptr_pair.hpp:64
Member Variables
- public static const std::size_t left_tag_index = 3
- public static const std::size_t right_tag_index = 7
- public static const pika::concurrency::detail::tagged_ptr_pair:: compressed_ptr_t ptr_mask = 281474976710655L
Method Overview
- public static Left * extract_left_ptr(const volatile pika::concurrency::detail::tagged_ptr_pair::compressed_ptr_pair_t & i)
- public static pika::concurrency::detail::tagged_ptr_pair::tag_t extract_left_tag(const volatile pika::concurrency::detail::tagged_ptr_pair::compressed_ptr_pair_t & i)
- public static Right * extract_right_ptr(const volatile pika::concurrency::detail::tagged_ptr_pair::compressed_ptr_pair_t & i)
- public static pika::concurrency::detail::tagged_ptr_pair::tag_t extract_right_tag(const volatile pika::concurrency::detail::tagged_ptr_pair::compressed_ptr_pair_t & i)
- public Left * get_left_ptr() const volatile
- public pika::concurrency::detail::tagged_ptr_pair::tag_t get_left_tag() const volatile
- public Right * get_right_ptr() const volatile
- public pika::concurrency::detail::tagged_ptr_pair::tag_t get_right_tag() const volatile
- public bool operator bool() const
- public template <typename IntegralL, typename IntegralR>static void pack_ptr_pair(pika::concurrency::detail::tagged_ptr_pair::compressed_ptr_pair_t & pair, Left * lptr, Right * rptr, IntegralL ltag, IntegralR rtag)
- public template <typename IntegralL, typename IntegralR>void reset(Left * lptr, Right * rptr, IntegralL ltag, IntegralR rtag)
- public template <typename IntegralL>void reset(Left * lptr, Right * rptr, IntegralL ltag)
- public void reset(Left * lptr, Right * rptr)
- public void set(Left * lptr, Right * rptr)
- public template <typename IntegralL, typename IntegralR>void set(Left * lptr, Right * rptr, IntegralL ltag, IntegralR rtag)
- public template <typename IntegralL>void set(Left * lptr, Right * rptr, IntegralL ltag)
- public void set_left_ptr(Left * lptr) volatile
- public template <typename Integral>void set_left_tag(Integral ltag) volatile
- public void set_right_ptr(Right * rptr) volatile
- public template <typename Integral>void set_right_tag(Integral rtag) volatile
- public template <typename IntegralL, typename IntegralR> tagged_ptr_pair<Left, Right>(Left * lptr, Right * rptr, IntegralL ltag, IntegralR rtag)
- public template <typename IntegralL> tagged_ptr_pair<Left, Right>(Left * lptr, Right * rptr, IntegralL ltag)
- public tagged_ptr_pair<Left, Right>(Left * lptr, Right * rptr)
- public tagged_ptr_pair<Left, Right>(const tagged_ptr_pair<Left, Right> & p)
- public tagged_ptr_pair<Left, Right>() noexcept
Methods
static Left* extract_left_ptr(
const volatile pika::concurrency::detail::
tagged_ptr_pair::compressed_ptr_pair_t& i)
static Left* extract_left_ptr(
const volatile pika::concurrency::detail::
tagged_ptr_pair::compressed_ptr_pair_t& i)Declared at: libs/pika/concurrency/include/pika/concurrency/detail/tagged_ptr_pair.hpp:80
Parameters
- const volatile pika::concurrency::detail:: tagged_ptr_pair::compressed_ptr_pair_t& i
static pika::concurrency::detail::
tagged_ptr_pair::tag_t
extract_left_tag(
const volatile pika::concurrency::detail::
tagged_ptr_pair::
compressed_ptr_pair_t& i)
static pika::concurrency::detail::
tagged_ptr_pair::tag_t
extract_left_tag(
const volatile pika::concurrency::detail::
tagged_ptr_pair::
compressed_ptr_pair_t& i)Declared at: libs/pika/concurrency/include/pika/concurrency/detail/tagged_ptr_pair.hpp:90
Parameters
- const volatile pika::concurrency::detail:: tagged_ptr_pair::compressed_ptr_pair_t& i
static Right* extract_right_ptr(
const volatile pika::concurrency::detail::
tagged_ptr_pair::compressed_ptr_pair_t& i)
static Right* extract_right_ptr(
const volatile pika::concurrency::detail::
tagged_ptr_pair::compressed_ptr_pair_t& i)Declared at: libs/pika/concurrency/include/pika/concurrency/detail/tagged_ptr_pair.hpp:85
Parameters
- const volatile pika::concurrency::detail:: tagged_ptr_pair::compressed_ptr_pair_t& i
static pika::concurrency::detail::
tagged_ptr_pair::tag_t
extract_right_tag(
const volatile pika::concurrency::detail::
tagged_ptr_pair::
compressed_ptr_pair_t& i)
static pika::concurrency::detail::
tagged_ptr_pair::tag_t
extract_right_tag(
const volatile pika::concurrency::detail::
tagged_ptr_pair::
compressed_ptr_pair_t& i)Declared at: libs/pika/concurrency/include/pika/concurrency/detail/tagged_ptr_pair.hpp:98
Parameters
- const volatile pika::concurrency::detail:: tagged_ptr_pair::compressed_ptr_pair_t& i
Left* get_left_ptr() const volatile
Left* get_left_ptr() const volatileDeclared at: libs/pika/concurrency/include/pika/concurrency/detail/tagged_ptr_pair.hpp:199
pika::concurrency::detail::tagged_ptr_pair::tag_t
get_left_tag() const volatile
pika::concurrency::detail::tagged_ptr_pair::tag_t
get_left_tag() const volatileDeclared at: libs/pika/concurrency/include/pika/concurrency/detail/tagged_ptr_pair.hpp:228
Right* get_right_ptr() const volatile
Right* get_right_ptr() const volatileDeclared at: libs/pika/concurrency/include/pika/concurrency/detail/tagged_ptr_pair.hpp:204
pika::concurrency::detail::tagged_ptr_pair::tag_t
get_right_tag() const volatile
pika::concurrency::detail::tagged_ptr_pair::tag_t
get_right_tag() const volatileDeclared at: libs/pika/concurrency/include/pika/concurrency/detail/tagged_ptr_pair.hpp:233
bool operator bool() const
bool operator bool() constDeclared at: libs/pika/concurrency/include/pika/concurrency/detail/tagged_ptr_pair.hpp:259
template <typename IntegralL, typename IntegralR>
static void pack_ptr_pair(
pika::concurrency::detail::tagged_ptr_pair::
compressed_ptr_pair_t& pair,
Left* lptr,
Right* rptr,
IntegralL ltag,
IntegralR rtag)
template <typename IntegralL, typename IntegralR>
static void pack_ptr_pair(
pika::concurrency::detail::tagged_ptr_pair::
compressed_ptr_pair_t& pair,
Left* lptr,
Right* rptr,
IntegralL ltag,
IntegralR rtag)Declared at: libs/pika/concurrency/include/pika/concurrency/detail/tagged_ptr_pair.hpp:107
Parameters
- pika::concurrency::detail::tagged_ptr_pair:: compressed_ptr_pair_t& pair
- Left* lptr
- Right* rptr
- IntegralL ltag
- IntegralR rtag
template <typename IntegralL, typename IntegralR>
void reset(Left* lptr,
Right* rptr,
IntegralL ltag,
IntegralR rtag)
template <typename IntegralL, typename IntegralR>
void reset(Left* lptr,
Right* rptr,
IntegralL ltag,
IntegralR rtag)Declared at: libs/pika/concurrency/include/pika/concurrency/detail/tagged_ptr_pair.hpp:178
Parameters
- Left* lptr
- Right* rptr
- IntegralL ltag
- IntegralR rtag
template <typename IntegralL>
void reset(Left* lptr,
Right* rptr,
IntegralL ltag)
template <typename IntegralL>
void reset(Left* lptr,
Right* rptr,
IntegralL ltag)Declared at: libs/pika/concurrency/include/pika/concurrency/detail/tagged_ptr_pair.hpp:172
Parameters
- Left* lptr
- Right* rptr
- IntegralL ltag
void reset(Left* lptr, Right* rptr)
void reset(Left* lptr, Right* rptr)Declared at: libs/pika/concurrency/include/pika/concurrency/detail/tagged_ptr_pair.hpp:154
Parameters
- Left* lptr
- Right* rptr
void set(Left* lptr, Right* rptr)
void set(Left* lptr, Right* rptr)Declared at: libs/pika/concurrency/include/pika/concurrency/detail/tagged_ptr_pair.hpp:149
Parameters
- Left* lptr
- Right* rptr
template <typename IntegralL, typename IntegralR>
void set(Left* lptr,
Right* rptr,
IntegralL ltag,
IntegralR rtag)
template <typename IntegralL, typename IntegralR>
void set(Left* lptr,
Right* rptr,
IntegralL ltag,
IntegralR rtag)Declared at: libs/pika/concurrency/include/pika/concurrency/detail/tagged_ptr_pair.hpp:166
Parameters
- Left* lptr
- Right* rptr
- IntegralL ltag
- IntegralR rtag
template <typename IntegralL>
void set(Left* lptr, Right* rptr, IntegralL ltag)
template <typename IntegralL>
void set(Left* lptr, Right* rptr, IntegralL ltag)Declared at: libs/pika/concurrency/include/pika/concurrency/detail/tagged_ptr_pair.hpp:160
Parameters
- Left* lptr
- Right* rptr
- IntegralL ltag
void set_left_ptr(Left* lptr) volatile
void set_left_ptr(Left* lptr) volatileDeclared at: libs/pika/concurrency/include/pika/concurrency/detail/tagged_ptr_pair.hpp:209
Parameters
- Left* lptr
template <typename Integral>
void set_left_tag(Integral ltag) volatile
template <typename Integral>
void set_left_tag(Integral ltag) volatileDeclared at: libs/pika/concurrency/include/pika/concurrency/detail/tagged_ptr_pair.hpp:239
Parameters
- Integral ltag
void set_right_ptr(Right* rptr) volatile
void set_right_ptr(Right* rptr) volatileDeclared at: libs/pika/concurrency/include/pika/concurrency/detail/tagged_ptr_pair.hpp:217
Parameters
- Right* rptr
template <typename Integral>
void set_right_tag(Integral rtag) volatile
template <typename Integral>
void set_right_tag(Integral rtag) volatileDeclared at: libs/pika/concurrency/include/pika/concurrency/detail/tagged_ptr_pair.hpp:248
Parameters
- Integral rtag
template <typename IntegralL, typename IntegralR>
tagged_ptr_pair<Left, Right>(Left* lptr,
Right* rptr,
IntegralL ltag,
IntegralR rtag)
template <typename IntegralL, typename IntegralR>
tagged_ptr_pair<Left, Right>(Left* lptr,
Right* rptr,
IntegralL ltag,
IntegralR rtag)Declared at: libs/pika/concurrency/include/pika/concurrency/detail/tagged_ptr_pair.hpp:132
Parameters
- Left* lptr
- Right* rptr
- IntegralL ltag
- IntegralR rtag
template <typename IntegralL>
tagged_ptr_pair<Left, Right>(Left* lptr,
Right* rptr,
IntegralL ltag)
template <typename IntegralL>
tagged_ptr_pair<Left, Right>(Left* lptr,
Right* rptr,
IntegralL ltag)Declared at: libs/pika/concurrency/include/pika/concurrency/detail/tagged_ptr_pair.hpp:126
Parameters
- Left* lptr
- Right* rptr
- IntegralL ltag
tagged_ptr_pair<Left, Right>(Left* lptr,
Right* rptr)
tagged_ptr_pair<Left, Right>(Left* lptr,
Right* rptr)Declared at: libs/pika/concurrency/include/pika/concurrency/detail/tagged_ptr_pair.hpp:140
Parameters
- Left* lptr
- Right* rptr
tagged_ptr_pair<Left, Right>(
const tagged_ptr_pair<Left, Right>& p)
tagged_ptr_pair<Left, Right>(
const tagged_ptr_pair<Left, Right>& p)Description
copy constructors
Declared at: libs/pika/concurrency/include/pika/concurrency/detail/tagged_ptr_pair.hpp:138
Parameters
- const tagged_ptr_pair<Left, Right>& p
tagged_ptr_pair<Left, Right>() noexcept
tagged_ptr_pair<Left, Right>() noexceptDescription
uninitialized constructor
Declared at: libs/pika/concurrency/include/pika/concurrency/detail/tagged_ptr_pair.hpp:119