Helper utilities for defining customisation point objects (CPOs). More...
#include <seqan3/core/platform.hpp>
Go to the source code of this file.
Namespaces | |
seqan3 | |
The main SeqAn3 namespace. | |
Macros | |
#define | SEQAN3_CPO_IMPL(PRIO, TERM) |
A macro that helps defining the overload set of a customisation point. More... | |
#define | SEQAN3_CPO_OVERLOAD(...) |
A macro that helps to define a seqan3::detail::customisation_point_object. More... | |
#define | SEQAN3_CPO_OVERLOAD_BODY(...) noexcept(auto) { return __VA_ARGS__; } |
A macro helper for SEQAN3_CPO_OVERLOAD. More... | |
Helper utilities for defining customisation point objects (CPOs).
| no-api |
A macro that helps defining the overload set of a customisation point.
| no-api |
A macro that helps to define a seqan3::detail::customisation_point_object.
Expands to a function definition with the name cpo_overload
.
It puts the given expression via SEQAN3_CPO_OVERLOAD_BODY as a single return statement in the function body, the noexcept declaration and requires declaration.
expands to something similar to
| no-api |
A macro helper for SEQAN3_CPO_OVERLOAD.
Please note that in order to allow a semicolon at the end when using this macro, i.e.
we need some expression at the end of the macro that can have a semicolon appended. We chose static_assert(true)
for that reason.