7 static_assert(std::is_copy_constructible_v<EventVariant>,
"EventVariant must be copy constructible");
10 template <
typename Event>
12 requires(!std::same_as<std::decay_t<Event>,
EventRef> && std::is_const_v<Event>)
13 : variant_(std::cref(event)) {}
15 template <
typename Event>
17 requires(!std::same_as<std::decay_t<Event>,
EventRef> && !std::is_const_v<Event>)
18 : variant_(std::ref(event)) {}
22 EventVariant& get() {
return variant_; }
24 EventVariant
const& get()
const {
return variant_; }
27 EventVariant variant_;