44#if SEQAN3_DOXYGEN_ONLY(1) 0
62# define SEQAN3_CPO_OVERLOAD_BODY(...) \
68# define SEQAN3_CPO_OVERLOAD_BODY(...) \
69 noexcept(noexcept(__VA_ARGS__))->decltype(__VA_ARGS__) \
107#define SEQAN3_CPO_OVERLOAD(...) cpo_overload(__VA_ARGS__) SEQAN3_CPO_OVERLOAD_BODY
139template <
typename derived_t,
unsigned max_priority>
163 template <
typename... args_t,
typename derived_type =
derived_t >
#define SEQAN3_CPO_OVERLOAD_BODY(...)
A macro helper for SEQAN3_CPO_OVERLOAD.
Definition: customisation_point.hpp:62
The internal SeqAn3 namespace.
Definition: aligned_sequence_concept.hpp:29
A CRTP base-class that defines a customisation_point_object (CPO).
Definition: customisation_point.hpp:141
constexpr customisation_point_object & operator=(customisation_point_object &&)=default
Defaulted.
constexpr customisation_point_object(customisation_point_object const &)=default
Defaulted.
constexpr customisation_point_object(customisation_point_object &&)=default
Defaulted.
constexpr auto operator()(args_t &&... args) const noexcept(auto)
SFINAE-friendly call-operator of this seqan3::detail::customisation_point_object instance.
Definition: customisation_point.hpp:164
constexpr customisation_point_object()=default
Defaulted.
friend derived_t
Allow derived_t to inherit the constructors of this CRTP-class.
Definition: customisation_point.hpp:144
constexpr customisation_point_object & operator=(customisation_point_object const &)=default
Defaulted.
A tag that allows controlled overload resolution via implicit base conversion rules.
Definition: customisation_point.hpp:32