53 std::is_copy_constructible_v<T>;
70template<
typename H,
typename E>
72 std::is_void_v<std::invoke_result_t<H, const E&>>;
92template<
typename F,
typename E>
94 std::convertible_to<std::invoke_result_t<F, const E&>,
bool>;
114 { t.timestamp } -> std::convertible_to<std::chrono::steady_clock::time_point>;
135 { t.module_name } -> std::convertible_to<std::string>;
156 { t.error_message } -> std::convertible_to<std::string>;
157 { t.error_code } -> std::convertible_to<int>;
177 { t.name } -> std::convertible_to<std::string>;
178 { t.value } -> std::convertible_to<double>;
179 { t.unit } -> std::convertible_to<std::string>;
253 { t.start() } -> std::same_as<void>;
254 { t.stop() } -> std::same_as<void>;
255 { t.is_running() } -> std::convertible_to<bool>;
256 { t.unsubscribe(
id) } -> std::same_as<void>;
An event type representing an error.
A type that satisfies the event bus interface requirements.
A callable that filters events based on criteria.
A callable that can handle events of a specific type.
A type that can be used as an event in the event bus.
A complete error event with module, message, code, and timestamp.
A complete metric event with timestamp.
An event type representing a metric measurement.
An event type representing module lifecycle changes.
An event type that includes a module or source name.
An event type that includes a timestamp.