easylocal::trace::tracer_for
A tracer that says, with observes<Event>, whether it receives Event, and that has emit(event) when it does.
Synopsis
Declared in <easylocal/trace/tracer.hpp>
template<
class Tracer,
class Event>
concept tracer_for = requires {
{ std::remove_cvref_t<Tracer>::template observes<Event> } ->
std::convertible_to<bool>;
} && (
!std::remove_cvref_t<Tracer>::template observes<Event> ||
requires(Tracer& tracer, const Event& event) {
tracer.emit(event);
});