Event::Handle<T> declare_event_output(const std::string & bname, const std::string & ename_ = ""){ static_assert(!std::is_pointer<T>::value, "T must not be of pointer type"); const auto & ename = ename_.empty() ? bname : ename_; declare_event_output(typeid(T), bname, ename); return es.get_handle<T>(ename); }
void declare_output(const Event & event, const char * event_member_name, const char * branchname){ const T & t = event.get<T>(event_member_name); declare_event_output(branchname, static_cast<const void*>(&t), typeid(T)); }