ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
ActsFatras::detail::CombineSelectors< Initial, Combine, Selectors > Class Template Reference

Combine multiple selectors with a configurable combine function. More...

#include <acts/blob/master/Fatras/include/ActsFatras/Selectors/detail/combine_selectors.hpp>

Public Member Functions

template<typename... Ts>
bool operator() (const Ts &...things) const
 
template<size_t I>
std::tuple_element_t< I,
std::tuple< Selectors...> > & 
get ()
 Access a specific selector by index.
 
template<typename Selector >
Selector & get ()
 Access a specific selector by type.
 

Private Member Functions

template<std::size_t... Is, typename... Ts>
bool impl (std::index_sequence< Is...>, const Ts &...things) const
 

Private Attributes

std::tuple< Selectors...> selectors
 

Detailed Description

template<bool Initial, typename Combine, typename... Selectors>
class ActsFatras::detail::CombineSelectors< Initial, Combine, Selectors >

Combine multiple selectors with a configurable combine function.

Definition at line 20 of file combine_selectors.hpp.

View newest version in sPHENIX GitHub at line 20 of file combine_selectors.hpp

Member Function Documentation

template<bool Initial, typename Combine, typename... Selectors>
template<size_t I>
std::tuple_element_t<I, std::tuple<Selectors...> >& ActsFatras::detail::CombineSelectors< Initial, Combine, Selectors >::get ( )
inline

Access a specific selector by index.

Definition at line 42 of file combine_selectors.hpp.

View newest version in sPHENIX GitHub at line 42 of file combine_selectors.hpp

References I, and ActsFatras::detail::CombineSelectors< Initial, Combine, Selectors >::selectors.

Referenced by BOOST_AUTO_TEST_CASE().

+ Here is the caller graph for this function:

template<bool Initial, typename Combine, typename... Selectors>
template<typename Selector >
Selector& ActsFatras::detail::CombineSelectors< Initial, Combine, Selectors >::get ( )
inline

Access a specific selector by type.

Definition at line 47 of file combine_selectors.hpp.

View newest version in sPHENIX GitHub at line 47 of file combine_selectors.hpp

References ActsFatras::detail::CombineSelectors< Initial, Combine, Selectors >::selectors.

template<bool Initial, typename Combine, typename... Selectors>
template<std::size_t... Is, typename... Ts>
bool ActsFatras::detail::CombineSelectors< Initial, Combine, Selectors >::impl ( std::index_sequence< Is...>  ,
const Ts &...  things 
) const
inlineprivate

Definition at line 55 of file combine_selectors.hpp.

View newest version in sPHENIX GitHub at line 55 of file combine_selectors.hpp

References ActsFatras::detail::CombineSelectors< Initial, Combine, Selectors >::selectors.

Referenced by ActsFatras::detail::CombineSelectors< Initial, Combine, Selectors >::operator()().

+ Here is the caller graph for this function:

template<bool Initial, typename Combine, typename... Selectors>
template<typename... Ts>
bool ActsFatras::detail::CombineSelectors< Initial, Combine, Selectors >::operator() ( const Ts &...  things) const
inline

Call all configured selectors and combine the result.

Parameters
[in]thingsthe inputs that will be selected
Returns
a boolean indicating the combined selection decision
Template Parameters
Tsthe types of the selected inputs

Definition at line 32 of file combine_selectors.hpp.

View newest version in sPHENIX GitHub at line 32 of file combine_selectors.hpp

References ActsFatras::detail::CombineSelectors< Initial, Combine, Selectors >::impl().

+ Here is the call graph for this function:

Member Data Documentation

template<bool Initial, typename Combine, typename... Selectors>
std::tuple<Selectors...> ActsFatras::detail::CombineSelectors< Initial, Combine, Selectors >::selectors
private

The documentation for this class was generated from the following file: