guanaqo 1.0.0-alpha.25
Utilities for scientific software
Loading...
Searching...
No Matches
Tag-Invoke Customization

Detailed Description

Tag-invoke customization point objects (CPO), concepts, and helpers.

Files

file  tag-invoke.hpp
 tag_invoke customization point and concepts.

Concepts

concept  guanaqo::tag_invocable
concept  guanaqo::nothrow_tag_invocable

Typedefs

template<typename Tag, typename... Args>
using guanaqo::tag_invoke_result
template<typename Tag, typename... Args>
using guanaqo::tag_invoke_result_t
template<auto & Tag>
using guanaqo::tag_t = std::decay_t<decltype(Tag)>

Variables

constexpr tag_invoke_fn_ns::tag_invoke_fn guanaqo::tag_invoke_ns::guanaqo_tag_invoke = {}
 The tag_invoke customization point object.
template<typename Tag, typename... Args>
constexpr bool guanaqo::is_tag_invocable_v = tag_invocable<Tag, Args...>
template<typename Tag, typename... Args>
constexpr bool guanaqo::is_nothrow_tag_invocable_v

Typedef Documentation

◆ tag_invoke_result

template<typename Tag, typename... Args>
using guanaqo::tag_invoke_result

#include <guanaqo/tag-invoke.hpp>

Initial value:
std::invoke_result<decltype(::guanaqo::guanaqo_tag_invoke), Tag, Args...>
constexpr tag_invoke_fn_ns::tag_invoke_fn guanaqo_tag_invoke
The tag_invoke customization point object.

Definition at line 74 of file tag-invoke.hpp.

◆ tag_invoke_result_t

template<typename Tag, typename... Args>
using guanaqo::tag_invoke_result_t

#include <guanaqo/tag-invoke.hpp>

Initial value:
std::invoke_result_t<decltype(::guanaqo::guanaqo_tag_invoke), Tag, Args...>

Definition at line 78 of file tag-invoke.hpp.

◆ tag_t

template<auto & Tag>
using guanaqo::tag_t = std::decay_t<decltype(Tag)>

#include <guanaqo/tag-invoke.hpp>

Definition at line 82 of file tag-invoke.hpp.

Variable Documentation

◆ guanaqo_tag_invoke

tag_invoke_fn_ns::tag_invoke_fn guanaqo::tag_invoke_ns::guanaqo_tag_invoke = {}
inlineconstexpr

#include <guanaqo/tag-invoke.hpp>

The tag_invoke customization point object.

Definition at line 46 of file tag-invoke.hpp.

◆ is_tag_invocable_v

template<typename Tag, typename... Args>
bool guanaqo::is_tag_invocable_v = tag_invocable<Tag, Args...>
inlineconstexpr

#include <guanaqo/tag-invoke.hpp>

Definition at line 67 of file tag-invoke.hpp.

◆ is_nothrow_tag_invocable_v

template<typename Tag, typename... Args>
bool guanaqo::is_nothrow_tag_invocable_v
inlineconstexpr

#include <guanaqo/tag-invoke.hpp>

Initial value:

Definition at line 70 of file tag-invoke.hpp.