Go to the documentation of this file.
17 template <
typename Tr,
typename Base = FixTESPath<AlgTool>>
18 using add_base_t = std::conditional_t<Gaudi::cpp17::is_detected_v<detail2::BaseClass_t, Tr>, Tr,
21 template <
typename Signature,
typename Traits>
24 template <
typename IFace,
typename... Args,
typename Traits>
26 :
public extends<details::BaseClass_t<Traits, AlgTool>, Gaudi::Interface::Bind::IBinder<IFace>> {
32 std::index_sequence<I...> )
49 [&](
auto const&... arg ) {
51 return std::invoke( *
this,
get( arg, *
this,
ctx )... );
56 template <std::
size_t N = 0>
57 decltype(
auto ) inputLocation()
const {
59 return getKey( std::get<N>( m_handles ) );
62 decltype(
auto ) inputLocation()
const {
69 template <
typename Signature,
typename Traits_ = Traits::use_<Traits::BaseClass_t<AlgTool>>>
std::conditional_t< Gaudi::cpp17::is_detected_v< detail2::BaseClass_t, Tr >, Tr, Traits::use_< Tr, BaseClass_t< Base > >> add_base_t
Gaudi::cpp17::detected_or_t< detail2::DefaultInputHandle< T >, detail2::InputHandle_t, Tr, T > InputHandle_t
auto get(const Handle &handle, const Algo &, const EventContext &) -> decltype(details::deref(handle.get()))
T forward_as_tuple(T... args)
Base class used to extend a class implementing other interfaces.
Header file for std:chrono::duration-based Counters.
decltype(get_values_helper< Value >(std::make_index_sequence< N >())) RepeatValues_
Gaudi::cpp17::detected_or_t< Base, detail2::BaseClass_t, Tr > BaseClass_t
auto getKey(const Handle &h) -> decltype(h.objKey())