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_;