5#ifndef TRIGSTORAGEDEFINITIONS_EDM_MASTERSEARCH
6#define TRIGSTORAGEDEFINITIONS_EDM_MASTERSEARCH
29template<
template<
class E,
class L,
int I>
class Functor,
typename T>
31 template<
class E,
class L,
int I>
struct functor {
32 static constexpr bool result = Functor<E,L,I>::result;
39template<
typename element,
typename last_result,
typename arg,
bool isLast>
45 typename element::map,
46 arg::template functor >
::type;
50 static constexpr bool is_found = !std::is_same_v<ErrorType, result_type>;
56 using result = std::conditional_t<is_found, result_type, typename last_result::search_result>;
59 using type = std::conditional_t<
60 std::is_same_v<result, HLT::TypeInformation::nil>,
66template<
typename MASTER_EDM,
template <
class,
class,
int>
class functor,
typename which>
struct master_search{
bool add(const std::string &hname, TKey *tobj)
HLT::TypeInformation::for_each_type_c< MASTER_EDM, my_functor, my_result<>, my_arg< functor, which > >::type result
static constexpr bool result
std::conditional_t< std::is_same_v< result, HLT::TypeInformation::nil >, my_result< added, ErrorType >, my_result< added, result > > type
HLT::TypeInformation::ERROR_THE_FOLLOWING_TYPE_IS_NOT_KNOWN_TO_THE_EDM< typename arg::type > ErrorType
std::conditional_t< is_found, result_type, typename last_result::search_result > result
static constexpr bool is_found
last_result::list::template add< std::bool_constant< is_found > >::go::done added
HLT::TypeInformation::map_search< typename arg::type, typename element::map, arg::template functor >::type result_type
SearchResult search_result