hpx/executors/annotating_executor.hpp#

Defined in header hpx/executors/annotating_executor.hpp.

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

namespace hpx
namespace execution
namespace experimental

Functions

template<typename Tag, typename BaseExecutor, typename Property>
auto tag_invoke(Tag tag, annotating_executor<BaseExecutor> const &exec, Property &&prop) -> decltype(annotating_executor<BaseExecutor>(std::declval<Tag>()(std::declval<BaseExecutor>(), std::declval<Property>())))#
template<typename Tag, typename BaseExecutor>
auto tag_invoke(Tag tag, annotating_executor<BaseExecutor> const &exec) -> decltype(std::declval<Tag>()(std::declval<BaseExecutor>()))#
template<typename Executor>
constexpr auto tag_fallback_invoke(with_annotation_t, Executor &&exec, char const *annotation)#
template<typename Executor>
auto tag_fallback_invoke(with_annotation_t, Executor &&exec, std::string annotation)#
template<typename BaseExecutor>
struct annotating_executor#
#include <annotating_executor.hpp>

An annotating_executor wraps any other executor and adds the capability to add annotations to the launched threads.

Public Functions

template<typename Executor, typename Enable = std::enable_if_t<hpx::traits::is_executor_any_v<Executor> && !std::is_same_v<std::decay_t<Executor>, annotating_executor>>>
inline explicit constexpr annotating_executor(Executor &&exec, char const *annotation = nullptr)#
template<typename Executor, typename Enable = std::enable_if_t<hpx::traits::is_executor_any_v<Executor>>>
inline explicit annotating_executor(Executor &&exec, std::string annotation)#