| 
| template<typename T >  | 
| using  | Gaudi::Functional::details::details2::is_optional_ = decltype(std::declval< T >().has_value(), std::declval< T >().value()) | 
|   | 
| template<typename T >  | 
| using  | Gaudi::Functional::details::details2::value_type_of_t = typename T::value_type | 
|   | 
| template<typename Arg >  | 
| using  | Gaudi::Functional::details::require_is_optional = std::enable_if_t< is_optional_v< Arg > > | 
|   | 
| template<typename Arg >  | 
| using  | Gaudi::Functional::details::require_is_not_optional = std::enable_if_t<!is_optional_v< Arg > > | 
|   | 
| template<typename T >  | 
| using  | Gaudi::Functional::details::remove_optional_t = std::conditional_t< is_optional_v< T >, Gaudi::cpp17::detected_t< details2::value_type_of_t, T >, T > | 
|   | 
| template<typename Value , auto N>  | 
| using  | Gaudi::Functional::details::RepeatValues_ = decltype(get_values_helper< Value >(std::make_index_sequence< N >())) | 
|   | 
| template<typename Tr >  | 
| using  | Gaudi::Functional::details::detail2::BaseClass_t = typename Tr::BaseClass | 
|   | 
| template<typename Tr , typename T >  | 
| using  | Gaudi::Functional::details::detail2::OutputHandle_t = typename Tr::template OutputHandle< T > | 
|   | 
| template<typename Tr , typename T >  | 
| using  | Gaudi::Functional::details::detail2::InputHandle_t = typename Tr::template InputHandle< T > | 
|   | 
| template<typename T >  | 
| using  | Gaudi::Functional::details::detail2::ToolHandle_t = ToolHandle< Gaudi::Interface::Bind::IBinder< std::decay_t< T > >> | 
|   | 
| template<typename T >  | 
| using  | Gaudi::Functional::details::detail2::DefaultInputHandle = std::conditional_t< is_tool_v< T >, ToolHandle_t< T >, DataObjectReadHandle< T > > | 
|   | 
| template<typename Tr , typename Base  = Gaudi::Algorithm>  | 
| using  | Gaudi::Functional::details::BaseClass_t = Gaudi::cpp17::detected_or_t< Base, detail2::BaseClass_t, Tr > | 
|   | 
| template<typename Tr , typename T >  | 
| using  | Gaudi::Functional::details::OutputHandle_t = Gaudi::cpp17::detected_or_t< DataObjectWriteHandle< T >, detail2::OutputHandle_t, Tr, T > | 
|   | 
| template<typename Tr , typename T >  | 
| using  | Gaudi::Functional::details::InputHandle_t = Gaudi::cpp17::detected_or_t< detail2::DefaultInputHandle< T >, detail2::InputHandle_t, Tr, T > | 
|   | 
| template<typename... In>  | 
| using  | Gaudi::Functional::details::filter_evtcontext = typename filter_evtcontext_t< In... >::type | 
|   | 
 | 
| template<typename OS , typename Arg >  | 
| void  | Gaudi::Functional::details::zip::printSizes (OS &out, Arg &&arg) | 
|   | Print the parameter.  More...
  | 
|   | 
| template<typename OS , typename Arg , typename... Args>  | 
| void  | Gaudi::Functional::details::zip::printSizes (OS &out, Arg &&arg, Args &&... args) | 
|   | Print the parameters.  More...
  | 
|   | 
| template<typename A >  | 
| bool  | Gaudi::Functional::details::zip::check_sizes (const A &) noexcept | 
|   | Resolve case there is only one container in the range.  More...
  | 
|   | 
| template<typename A , typename B >  | 
| bool  | Gaudi::Functional::details::zip::check_sizes (const A &a, const B &b) noexcept | 
|   | Compare sizes of two containers.  More...
  | 
|   | 
| template<typename A , typename B , typename... C>  | 
| bool  | Gaudi::Functional::details::zip::check_sizes (const A &a, const B &b, const C &... c) noexcept | 
|   | Compare sizes of 3 or more containers.  More...
  | 
|   | 
| template<typename... Args>  | 
| decltype(auto)  | Gaudi::Functional::details::zip::verifySizes (Args &... args) | 
|   | Verify the data container sizes have the same sizes.  More...
  | 
|   | 
| template<typename... Args>  | 
| decltype(auto)  | Gaudi::Functional::details::zip::range (Args &&... args) | 
|   | Zips multiple containers together to form a single range.  More...
  | 
|   | 
| template<typename... Args>  | 
| decltype(auto)  | Gaudi::Functional::details::zip::const_range (Args &&... args) | 
|   | Zips multiple containers together to form a single const range.  More...
  | 
|   | 
| std::vector< DataObjID >  | Gaudi::Functional::details::to_DataObjID (const std::vector< std::string > &in) | 
|   | 
| template<typename Value , std::size_t... I>  | 
| auto  | Gaudi::Functional::details::get_values_helper (std::index_sequence< I... >) | 
|   | 
| template<typename Out1 , typename Out2 , typename  = std::enable_if_t<std::is_constructible_v<Out1, Out2> && std::is_base_of_v<DataObject, Out1>>>  | 
| auto  | Gaudi::Functional::details::put (const DataObjectHandle< Out1 > &out_handle, Out2 &&out) | 
|   | 
| template<typename Out1 , typename Out2 , typename  = std::enable_if_t<std::is_constructible_v<Out1, Out2>>>  | 
| auto  | Gaudi::Functional::details::put (const DataObjectHandle< AnyDataWrapper< Out1 >> &out_handle, Out2 &&out) | 
|   | 
| template<typename OutHandle , typename OptOut , typename  = require_is_optional<OptOut>>  | 
| void  | Gaudi::Functional::details::put (const OutHandle &out_handle, OptOut &&out) | 
|   | 
| template<typename Container , typename Value >  | 
| void  | Gaudi::Functional::details::details2::push_back (Container &c, const Value &v, std::true_type) | 
|   | 
| template<typename Container , typename Value >  | 
| void  | Gaudi::Functional::details::details2::push_back (Container &c, const Value &v, std::false_type) | 
|   | 
| template<typename T >  | 
| T *  | Gaudi::Functional::details::details2::deref_if (T *const t, std::false_type) | 
|   | 
| template<typename T >  | 
| T &  | Gaudi::Functional::details::details2::deref_if (T *const t, std::true_type) | 
|   | 
| template<typename Handles >  | 
| Handles  | Gaudi::Functional::details::make_vector_of_handles (IDataHandleHolder *owner, const std::vector< DataObjID > &init) | 
|   | 
| template<typename Handle , typename Algo >  | 
| auto  | Gaudi::Functional::details::get (const Handle &handle, const Algo &, const EventContext &) -> decltype(details::deref(handle.get())) | 
|   | 
| template<typename IFace , typename Algo >  | 
| auto  | Gaudi::Functional::details::get (const ToolHandle< Gaudi::Interface::Bind::IBinder< IFace >> &handle, const Algo &, const EventContext &ctx) | 
|   | 
| template<typename Handle >  | 
| auto  | Gaudi::Functional::details::getKey (const Handle &h) -> decltype(h.objKey()) | 
|   | 
| template<typename Out , typename In , typename Tr >  | 
| void  | Gaudi::Functional::details::updateHandleLocation (DataHandleMixin< Out, In, Tr > &parent, const std::string &prop, const std::string &newLoc) | 
|   | 
| template<typename Out , typename In , typename Tr >  | 
| void  | Gaudi::Functional::details::updateHandleLocations (DataHandleMixin< Out, In, Tr > &parent, const std::string &prop, const std::vector< std::string > &newLocs) | 
|   | 
| template<typename Fun , typename Container , typename... Args>  | 
| constexpr void  | Gaudi::Functional::details::applyPostProcessing (const Fun &, Container &, Args...) | 
|   | 
| template<typename Fun , typename Container >  | 
| auto  | Gaudi::Functional::details::applyPostProcessing (const Fun &fun, Container &c) -> decltype(fun.postprocess(c), void()) | 
|   |