SeqAn3  3.0.1
The Modern C++ library for sequence analysis.
customisation_point.hpp File Reference

Helper utilities for defining customisation point objects. More...

+ Include dependency graph for customisation_point.hpp:
+ This graph shows which files directly or indirectly include this file:

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...
 

Detailed Description

Helper utilities for defining customisation point objects.

Author
Hannes Hauswedell <hannes.hauswedell AT fu-berlin.de>

Macro Definition Documentation

◆ SEQAN3_CPO_IMPL

#define SEQAN3_CPO_IMPL (   PRIO,
  TERM 
)
Value:
\
template <typename t, typename ...arg_ts> \
static constexpr decltype(auto) impl(seqan3::detail::priority_tag<PRIO>, \
[[maybe_unused]] t && v, \
[[maybe_unused]] arg_ts && ... args) \
noexcept(noexcept(TERM)) \
requires requires (seqan3::detail::priority_tag<PRIO> const &/*<- need for doxygen*/, t && v, arg_ts && ... args)\
{ { TERM }; } \
{ \
return TERM; \
}

A macro that helps defining the overload set of a customisation point.

seqan3
The main SeqAn3 namespace.
Definition: aligned_sequence_concept.hpp:36