class future_base

Declaration

template <typename Derived, typename R>
class future_base { /* full declaration omitted */ };

Declared at: libs/pika/futures/include/pika/futures/future.hpp:334

Member Variables

protected pika::intrusive_ptr<shared_state_type> shared_state_
public static const bool sends_done = false

Method Overview

  • public future_base<Derived, R>(const pika::intrusive_ptr<shared_state_type> & p)
  • public future_base<Derived, R>(pika::intrusive_ptr<shared_state_type> && p)
  • public future_base<Derived, R>(const future_base<Derived, R> & other)
  • public future_base<Derived, R>(future_base<Derived, R> && other) noexcept
  • public future_base<Derived, R>() noexcept
  • public std::exception_ptr get_exception_ptr() const
  • public bool has_exception() const noexcept
  • public bool has_value() const noexcept
  • public bool is_ready() const noexcept
  • public void swap(future_base<Derived, R> & other) noexcept
  • public template <typename F>static auto then(Derived && fut, F && f, pika::error_code & ec = throws) -> decltype(future_then_dispatch<std::decay_t<F>>::call(static_cast<std::remove_reference_t<decltype(fut)> &&>(fut), static_cast<decltype(f) &&>(f)))
  • public template <typename F, typename T0>static auto then(Derived && fut, T0 && t0, F && f, pika::error_code & ec = throws) -> decltype(future_then_dispatch<std::decay_t<T0>>::call(static_cast<std::remove_reference_t<decltype(fut)> &&>(fut), static_cast<decltype(t0) &&>(t0), static_cast<decltype(f) &&>(f)))
  • public template <typename Allocator, typename F>static auto then_alloc(const Allocator & alloc, Derived && fut, F && f, pika::error_code & ec = throws) -> decltype(future_then_dispatch<std::decay_t<F>>::call_alloc(alloc, static_cast<std::remove_reference_t<decltype(fut)> &&>(fut), static_cast<decltype(f) &&>(f)))
  • public constexpr bool valid() const noexcept
  • public void wait(pika::error_code & ec = throws) const
  • public pika::future_status wait_for(const pika::chrono::steady_duration & rel_time, pika::error_code & ec = throws) const
  • public pika::future_status wait_until(const pika::chrono::steady_time_point & abs_time, pika::error_code & ec = throws) const

Methods

future_base<Derived, R>(
    const pika::intrusive_ptr<shared_state_type>&
        p)

Declared at: libs/pika/futures/include/pika/futures/future.hpp:369

Parameters

const pika::intrusive_ptr<shared_state_type>& p

future_base<Derived, R>(
    pika::intrusive_ptr<shared_state_type>&& p)

Declared at: libs/pika/futures/include/pika/futures/future.hpp:374

Parameters

pika::intrusive_ptr<shared_state_type>&& p

future_base<Derived, R>(
    const future_base<Derived, R>& other)

Declared at: libs/pika/futures/include/pika/futures/future.hpp:379

Parameters

const future_base<Derived, R>& other

future_base<Derived, R>(
    future_base<Derived, R>&& other) noexcept

Declared at: libs/pika/futures/include/pika/futures/future.hpp:380

Parameters

future_base<Derived, R>&& other

future_base<Derived, R>() noexcept

Declared at: libs/pika/futures/include/pika/futures/future.hpp:367

std::exception_ptr get_exception_ptr() const

Declared at: libs/pika/futures/include/pika/futures/future.hpp:420

bool has_exception() const noexcept

Declared at: libs/pika/futures/include/pika/futures/future.hpp:411

bool has_value() const noexcept

Declared at: libs/pika/futures/include/pika/futures/future.hpp:404

bool is_ready() const noexcept

Declared at: libs/pika/futures/include/pika/futures/future.hpp:397

void swap(future_base<Derived, R>& other) noexcept

Declared at: libs/pika/futures/include/pika/futures/future.hpp:382

Parameters

future_base<Derived, R>& other

template <typename F>
static auto then(Derived&& fut,
                 F&& f,
                 pika::error_code& ec = throws)
    -> decltype(future_then_dispatch<
                std::decay_t<F>>::
                    call(
                        static_cast<
                            std::remove_reference_t<
                                decltype(fut)>&&>(
                            fut),
                        static_cast<
                            decltype(f)&&>(f)))

Declared at: libs/pika/futures/include/pika/futures/future.hpp:475

Parameters

Derived&& fut
F&& f
pika::error_code& ec = throws

template <typename F, typename T0>
static auto then(Derived&& fut,
                 T0&& t0,
                 F&& f,
                 pika::error_code& ec = throws)
    -> decltype(future_then_dispatch<
                std::decay_t<T0>>::
                    call(
                        static_cast<
                            std::remove_reference_t<
                                decltype(fut)>&&>(
                            fut),
                        static_cast<
                            decltype(t0)&&>(t0),
                        static_cast<
                            decltype(f)&&>(f)))

Declared at: libs/pika/futures/include/pika/futures/future.hpp:495

Parameters

Derived&& fut
T0&& t0
F&& f
pika::error_code& ec = throws

template <typename Allocator, typename F>
static auto then_alloc(
    const Allocator& alloc,
    Derived&& fut,
    F&& f,
    pika::error_code& ec = throws)
    -> decltype(future_then_dispatch<
                std::decay_t<F>>::
                    call_alloc(
                        alloc,
                        static_cast<
                            std::remove_reference_t<
                                decltype(fut)>&&>(
                            fut),
                        static_cast<
                            decltype(f)&&>(f)))

Declared at: libs/pika/futures/include/pika/futures/future.hpp:515

Parameters

const Allocator& alloc
Derived&& fut
F&& f
pika::error_code& ec = throws

constexpr bool valid() const noexcept

Declared at: libs/pika/futures/include/pika/futures/future.hpp:391

void wait(pika::error_code& ec = throws) const

Declared at: libs/pika/futures/include/pika/futures/future.hpp:536

Parameters

pika::error_code& ec = throws

pika::future_status wait_for(
    const pika::chrono::steady_duration& rel_time,
    pika::error_code& ec = throws) const

Declared at: libs/pika/futures/include/pika/futures/future.hpp:582

Parameters

const pika::chrono::steady_duration& rel_time
pika::error_code& ec = throws

pika::future_status wait_until(
    const pika::chrono::steady_time_point&
        abs_time,
    pika::error_code& ec = throws) const

Declared at: libs/pika/futures/include/pika/futures/future.hpp:558

Parameters

const pika::chrono::steady_time_point& abs_time
pika::error_code& ec = throws