struct deque_anchor

Declaration

template <typename T>
struct deque_anchor { /* full declaration omitted */ };

Declared at: libs/pika/concurrency/include/pika/concurrency/deque.hpp:90

Method Overview

  • public bool cas(deque_anchor<T> & expected, const deque_anchor<T> & desired, std::memory_order mo = std::memory_order_acq_rel) volatile
  • public bool cas(pika::concurrency::detail::deque_anchor::pair & expected, const deque_anchor<T> & desired, std::memory_order mo = std::memory_order_acq_rel) volatile
  • public bool cas(deque_anchor<T> & expected, const pika::concurrency::detail::deque_anchor::pair & desired, std::memory_order mo = std::memory_order_acq_rel) volatile
  • public bool cas(pika::concurrency::detail::deque_anchor::pair & expected, const pika::concurrency::detail::deque_anchor::pair & desired, std::memory_order mo = std::memory_order_acq_rel) volatile
  • public deque_anchor<T>()
  • public deque_anchor<T>(const deque_anchor<T> & p)
  • public deque_anchor<T>(const pika::concurrency::detail::deque_anchor::pair & p)
  • public deque_anchor<T>(pika::concurrency::detail::deque_anchor::node * lptr, pika::concurrency::detail::deque_anchor::node * rptr, pika::concurrency::detail::deque_anchor::tag_t status = stable, pika::concurrency::detail::deque_anchor::tag_t tag = 0)
  • public bool is_lock_free() const
  • public pika::concurrency::detail::deque_anchor::node * left(std::memory_order mo = std::memory_order_acquire) const volatile
  • public pika::concurrency::detail::deque_anchor::pair lrs(std::memory_order mo = std::memory_order_acquire) const volatile
  • public pika::concurrency::detail::deque_anchor::node * right(std::memory_order mo = std::memory_order_acquire) const volatile
  • public pika::concurrency::detail::deque_anchor::tag_t status(std::memory_order mo = std::memory_order_acquire) const volatile
  • public pika::concurrency::detail::deque_anchor::tag_t tag(std::memory_order mo = std::memory_order_acquire) const volatile

Methods

bool cas(deque_anchor<T>& expected,
         const deque_anchor<T>& desired,
         std::memory_order mo =
             std::memory_order_acq_rel) volatile

Declared at: libs/pika/concurrency/include/pika/concurrency/deque.hpp:157

Parameters

deque_anchor<T>& expected
const deque_anchor<T>& desired
std::memory_order mo = std::memory_order_acq_rel

bool cas(
    pika::concurrency::detail::deque_anchor::pair&
        expected,
    const deque_anchor<T>& desired,
    std::memory_order mo =
        std::memory_order_acq_rel) volatile

Declared at: libs/pika/concurrency/include/pika/concurrency/deque.hpp:165

Parameters

pika::concurrency::detail::deque_anchor::pair& expected
const deque_anchor<T>& desired
std::memory_order mo = std::memory_order_acq_rel

bool cas(deque_anchor<T>& expected,
         const pika::concurrency::detail::
             deque_anchor::pair& desired,
         std::memory_order mo =
             std::memory_order_acq_rel) volatile

Declared at: libs/pika/concurrency/include/pika/concurrency/deque.hpp:172

Parameters

deque_anchor<T>& expected
const pika::concurrency::detail::deque_anchor:: pair& desired
std::memory_order mo = std::memory_order_acq_rel

bool cas(
    pika::concurrency::detail::deque_anchor::pair&
        expected,
    const pika::concurrency::detail::
        deque_anchor::pair& desired,
    std::memory_order mo =
        std::memory_order_acq_rel) volatile

Declared at: libs/pika/concurrency/include/pika/concurrency/deque.hpp:179

Parameters

pika::concurrency::detail::deque_anchor::pair& expected
const pika::concurrency::detail::deque_anchor:: pair& desired
std::memory_order mo = std::memory_order_acq_rel

deque_anchor<T>()

Declared at: libs/pika/concurrency/include/pika/concurrency/deque.hpp:106

deque_anchor<T>(const deque_anchor<T>& p)

Declared at: libs/pika/concurrency/include/pika/concurrency/deque.hpp:111

Parameters

const deque_anchor<T>& p

deque_anchor<T>(const pika::concurrency::detail::
                    deque_anchor::pair& p)

Declared at: libs/pika/concurrency/include/pika/concurrency/deque.hpp:116

Parameters

const pika::concurrency::detail::deque_anchor:: pair& p

deque_anchor<T>(
    pika::concurrency::detail::deque_anchor::node*
        lptr,
    pika::concurrency::detail::deque_anchor::node*
        rptr,
    pika::concurrency::detail::deque_anchor::tag_t
        status = stable,
    pika::concurrency::detail::deque_anchor::tag_t
        tag = 0)

Declared at: libs/pika/concurrency/include/pika/concurrency/deque.hpp:121

Parameters

pika::concurrency::detail::deque_anchor::node* lptr
pika::concurrency::detail::deque_anchor::node* rptr
pika::concurrency::detail::deque_anchor::tag_t status = stable
pika::concurrency::detail::deque_anchor::tag_t tag = 0

bool is_lock_free() const

Declared at: libs/pika/concurrency/include/pika/concurrency/deque.hpp:206

pika::concurrency::detail::deque_anchor::node*
left(std::memory_order mo =
         std::memory_order_acquire) const volatile

Declared at: libs/pika/concurrency/include/pika/concurrency/deque.hpp:133

Parameters

std::memory_order mo = std::memory_order_acquire

pika::concurrency::detail::deque_anchor::pair lrs(
    std::memory_order mo =
        std::memory_order_acquire) const volatile

Declared at: libs/pika/concurrency/include/pika/concurrency/deque.hpp:127

Parameters

std::memory_order mo = std::memory_order_acquire

pika::concurrency::detail::deque_anchor::node*
right(std::memory_order mo =
          std::memory_order_acquire) const
    volatile

Declared at: libs/pika/concurrency/include/pika/concurrency/deque.hpp:139

Parameters

std::memory_order mo = std::memory_order_acquire

pika::concurrency::detail::deque_anchor::tag_t
status(std::memory_order mo =
           std::memory_order_acquire) const
    volatile

Declared at: libs/pika/concurrency/include/pika/concurrency/deque.hpp:145

Parameters

std::memory_order mo = std::memory_order_acquire

pika::concurrency::detail::deque_anchor::tag_t
tag(std::memory_order mo =
        std::memory_order_acquire) const volatile

Declared at: libs/pika/concurrency/include/pika/concurrency/deque.hpp:151

Parameters

std::memory_order mo = std::memory_order_acquire