clude/algorithm_test_utils.hpp

See Public API for a list of names and headers that are part of the public HPX API.

Functions

template<typename ExpectedValType, typename Env = hpx::execution::experimental::empty_env, typename Sender>
void check_value_types(Sender&&)
template<typename ExpectedErrorType, typename Env = hpx::execution::experimental::empty_env, typename Sender>
void check_error_types(Sender&&)
template<bool Expected, typename Env = hpx::execution::experimental::empty_env, typename Sender>
void check_sends_stopped(Sender&&)

Check that the sends_stopped of a sender matches the expected value.

struct void_sender

Friends

template<typename R>
operation_state<R> tag_invoke(hpx::execution::experimental::connect_t, void_sender, R &&r)
template<typename Env>
auto tag_invoke(hpx::execution::experimental::get_completion_signatures_t, void_sender const&, Env)
template<typename R>
struct operation_state

Public Members

std::decay_t<R> r

Friends

void tag_invoke(hpx::execution::experimental::start_t, operation_state &os)
template<typename ...Ts>
struct error_sender

Friends

template<typename R>
operation_state<R> tag_invoke(hpx::execution::experimental::connect_t, error_sender, R &&r)
template<typename Env>
auto tag_invoke(hpx::execution::experimental::get_completion_signatures_t, error_sender const&, Env)
template<typename R>
struct operation_state

Public Members

template<>
std::decay_t<R> r

Friends

void tag_invoke(hpx::execution::experimental::start_t, operation_state &os)
struct stopped_sender

Friends

template<typename R>
operation_state<R> tag_invoke(hpx::execution::experimental::connect_t, stopped_sender, R &&r)
template<typename Env>
auto tag_invoke(hpx::execution::experimental::get_completion_signatures_t, stopped_sender const&, Env)
template<typename R>
struct operation_state

Public Members

std::decay_t<R> r

Friends

void tag_invoke(hpx::execution::experimental::start_t, operation_state &os)
template<typename F>
struct callback_receiver

Public Members

std::decay_t<F> f
std::atomic<bool> &set_value_called

Friends

template<typename E>
void tag_invoke(hpx::execution::experimental::set_error_t, callback_receiver&&, E&&)
void tag_invoke(hpx::execution::experimental::set_stopped_t, callback_receiver&&)
template<typename ...Ts>
auto tag_invoke(hpx::execution::experimental::set_value_t, callback_receiver &&r, Ts&&... ts)
template<typename F>
struct error_callback_receiver

Public Members

std::decay_t<F> f
std::atomic<bool> &set_error_called
bool expect_set_value = false

Friends

template<typename E>
void tag_invoke(hpx::execution::experimental::set_error_t, error_callback_receiver &&r, E &&e)
void tag_invoke(hpx::execution::experimental::set_stopped_t, error_callback_receiver&&)
template<typename ...Ts>
void tag_invoke(hpx::execution::experimental::set_value_t, error_callback_receiver &&r, Ts&&...)
struct expect_stopped_receiver

Public Members

std::atomic<bool> &set_stopped_called

Friends

template<typename ...Ts>
void tag_invoke(hpx::execution::experimental::set_value_t, expect_stopped_receiver&&, Ts...)
void tag_invoke(hpx::execution::experimental::set_stopped_t, expect_stopped_receiver &&r)
void tag_invoke(hpx::execution::experimental::set_error_t, expect_stopped_receiver&&, std::exception_ptr)
template<typename F>
struct void_callback_helper

Public Functions

void operator()() const
template<typename T>
void operator()(T &&t)

Public Members

std::decay_t<F> f
template<typename T>
struct error_typed_sender

Friends

template<typename R>
auto tag_invoke(hpx::execution::experimental::connect_t, error_typed_sender&&, R &&r)
template<typename Env>
auto tag_invoke(hpx::execution::experimental::get_completion_signatures_t, error_typed_sender const&, Env)
template<typename R>
struct operation_state

Public Members

template<>
std::decay_t<R> r

Friends

void tag_invoke(hpx::execution::experimental::start_t, operation_state &os)
struct check_exception_ptr

Public Functions

void operator()(std::exception_ptr eptr) const
void operator()(std::runtime_error const &e) const
struct custom_sender_tag_invoke

Public Members

std::atomic<bool> &tag_invoke_overload_called

Friends

template<typename R>
operation_state<R> tag_invoke(hpx::execution::experimental::connect_t, custom_sender_tag_invoke&&, R &&r)
template<typename Env>
auto tag_invoke(hpx::execution::experimental::get_completion_signatures_t, custom_sender_tag_invoke const&, Env)
template<typename R>
struct operation_state

Public Functions

void start()

Public Members

std::decay_t<R> r
struct custom_sender

Subclassed by custom_sender2

Public Types

template<template<class...> class Tuple, template<class...> class Variant>
using value_types = Variant<Tuple<>>
template<template<class...> class Variant>
using error_types = Variant<std::exception_ptr>

Public Members

std::atomic<bool> &start_called
std::atomic<bool> &connect_called
std::atomic<bool> &tag_invoke_overload_called

Public Static Attributes

constexpr bool sends_stopped = false

Friends

template<typename R>
auto tag_invoke(hpx::execution::experimental::connect_t, custom_sender &&s, R &&r)
template<typename Env>
auto tag_invoke(hpx::execution::experimental::get_completion_signatures_t, custom_sender const&, Env)
template<typename R>
struct operation_state

Public Members

std::atomic<bool> &start_called
std::decay_t<R> r

Friends

void tag_invoke(hpx::execution::experimental::start_t, operation_state &os)
template<typename T>
struct custom_typed_sender

Public Members

std::decay_t<T> x
std::atomic<bool> &start_called
std::atomic<bool> &connect_called
std::atomic<bool> &tag_invoke_overload_called

Friends

template<typename R>
auto tag_invoke(hpx::execution::experimental::connect_t, custom_typed_sender &&s, R &&r)
template<typename Env>
auto tag_invoke(hpx::execution::experimental::get_completion_signatures_t, custom_typed_sender const&, Env)
template<typename R>
struct operation_state

Public Members

template<>
std::decay_t<T> x
template<>
std::atomic<bool> &start_called
template<>
std::decay_t<R> r

Friends

void tag_invoke(hpx::execution::experimental::start_t, operation_state &os)
struct custom_sender2 : public custom_sender

Public Functions

custom_sender2(custom_sender s)
template<typename T>
struct custom_type

Public Members

std::atomic<bool> &tag_invoke_overload_called
std::decay_t<T> x
struct custom_type_non_default_constructible

Public Functions

custom_type_non_default_constructible()
custom_type_non_default_constructible(int x)
custom_type_non_default_constructible(custom_type_non_default_constructible&&)
custom_type_non_default_constructible &operator=(custom_type_non_default_constructible&&)
custom_type_non_default_constructible(custom_type_non_default_constructible const&)
custom_type_non_default_constructible &operator=(custom_type_non_default_constructible const&)

Public Members

int x
struct custom_type_non_default_constructible_non_copyable

Public Functions

custom_type_non_default_constructible_non_copyable()
custom_type_non_default_constructible_non_copyable(int x)
custom_type_non_default_constructible_non_copyable(custom_type_non_default_constructible_non_copyable&&)
custom_type_non_default_constructible_non_copyable &operator=(custom_type_non_default_constructible_non_copyable&&)
custom_type_non_default_constructible_non_copyable(custom_type_non_default_constructible_non_copyable const&)
custom_type_non_default_constructible_non_copyable &operator=(custom_type_non_default_constructible_non_copyable const&)

Public Members

int x
struct scheduler

Subclassed by scheduler2

Public Functions

bool operator==(scheduler const&) const
bool operator!=(scheduler const&) const

Public Members

std::atomic<bool> &schedule_called
std::atomic<bool> &execute_called
std::atomic<bool> &tag_invoke_overload_called

Friends

template<typename F>
void tag_invoke(hpx::execution::experimental::execute_t, scheduler s, F &&f)
sender tag_invoke(hpx::execution::experimental::schedule_t, scheduler s)
struct sender

Friends

template<typename R>
auto tag_invoke(hpx::execution::experimental::connect_t, sender&&, R &&r)
template<typename Env>
auto tag_invoke(hpx::execution::experimental::get_completion_signatures_t, sender const&, Env)
template<typename R>
struct operation_state

Public Members

std::decay_t<R> r

Friends

void tag_invoke(hpx::execution::experimental::start_t, operation_state &os)
struct scheduler2 : public scheduler

Public Functions

scheduler2(scheduler s)