11 #ifndef LARDATA_UTILITIES_FINDMANYINCHAINP_H 12 #define LARDATA_UTILITIES_FINDMANYINCHAINP_H 21 #include <initializer_list> 30 template <
typename T,
typename R =
void>
33 template <
typename T,
typename R =
void>
36 template <
typename H,
typename R =
void>
108 template <
typename Target,
typename... Intermediate>
134 template <
typename Source,
typename Event,
typename... InputTags>
136 : results(find(
std::forward<Source>(source), event, tags...))
142 std::size_t
size()
const noexcept;
220 template <
typename Source,
typename Event,
typename... InputTags>
221 static std::vector<TargetPtrCollection_t> find
222 (Source&& source, Event
const&
event, InputTags... tags);
236 #include "FindManyInChainP.tcc" 241 #endif // LARDATA_UTILITIES_FINDMANYINCHAINP_H
FindManyInChainP(Source &&source, Event const &event, InputTags...tags)
Constructor: extracts target objects associated to all objects under the specified handle...
enable_if_type_exists_t< typename std::decay_t< H >::HandleTag, R > enable_if_is_handle_t
constexpr SameAsDataTag SameAsData
Value for default tag in FindManyInChainP constructors.
decltype(auto) constexpr size(T &&obj)
ADL-aware version of std::size.
Type for default tag in FindManyInChainP constructors.
typename enable_if_type_exists< T, R >::type enable_if_type_exists_t
std::vector< TargetPtrCollection_t > results
Stored results.
Query object collecting a list of associated objects.
Target Target_t
Type of the associated objects.
std::vector< TargetPtr_t > TargetPtrCollection_t
Type returned by at() method.
LArSoft-specific namespace.
Event finding and building.