Project
Loading...
Searching...
No Matches
o2::framework::GroupSlicer< G, A >::GroupSlicerIterator Struct Reference

#include <GroupSlicer.h>

Public Types

using associated_pack_t = framework::pack< A... >
 

Public Member Functions

 GroupSlicerIterator ()=default
 
 GroupSlicerIterator (GroupSlicerIterator const &)=default
 
 GroupSlicerIterator (GroupSlicerIterator &&)=default
 
GroupSlicerIteratoroperator= (GroupSlicerIterator const &)=default
 
GroupSlicerIteratoroperator= (GroupSlicerIterator &&)=default
 
template<typename T >
auto splittingFunction (T &&)
 
template<soa::is_table T>
requires (o2::soa::relatedByIndex<std::decay_t<G>, std::decay_t<T>>() && !soa::is_smallgroups<T>)
auto splittingFunction (T &&table)
 
template<soa::is_smallgroups T>
requires (o2::soa::relatedByIndex<std::decay_t<G>, std::decay_t<T>>())
auto splittingFunction (T &&table)
 
template<typename T >
auto extractingFunction (T &&)
 
template<soa::is_filtered_table T>
auto extractingFunction (T &&table)
 
 GroupSlicerIterator (G &gt, std::tuple< A... > &at, ArrowTableSlicingCache &slices, header::DataOrigin newOrigin=header::DataOrigin{"AOD"})
 
GroupSlicerIteratoroperator++ ()
 
GroupSlicerIterator operator+ (int64_t inc) const
 
GroupSlicerIterator operator+= (int64_t inc)
 
bool operator== (GroupSlicerSentinel const &other)
 
bool operator!= (GroupSlicerSentinel const &other)
 
auto & groupingElement ()
 
GroupSlicerIteratoroperator* ()
 
auto associatedTables ()
 
template<soa::is_smallgroups A1>
requires (o2::soa::relatedByIndex<std::decay_t<G>, std::decay_t<A1>>() && soa::is_filtered_table<A1>)
auto prepareArgument ()
 
template<soa::is_filtered_table A1>
requires (o2::soa::relatedByIndex<std::decay_t<G>, std::decay_t<A1>>() && !soa::is_smallgroups<A1>)
auto prepareArgument ()
 
template<soa::is_table A1>
requires (o2::soa::relatedByIndex<std::decay_t<G>, std::decay_t<A1>>() && !soa::is_smallgroups<A1> && !soa::is_filtered_table<A1>)
auto prepareArgument ()
 
template<soa::is_table A1>
requires (!o2::soa::relatedByIndex<std::decay_t<G>, std::decay_t<A1>>() && !soa::is_smallgroups<A1>)
auto prepareArgument ()
 

Public Attributes

std::string mIndexColumnName
 
G const * mGt
 
std::tuple< A... > * mAt
 
grouping_t::iterator mGroupingElement
 
uint64_t position = 0
 
std::span< int64_t const > groupSelection
 
std::array< std::span< int64_t const > const *, sizeof...(A)> selections
 
std::array< std::span< int64_t const >::iterator, sizeof...(A)> starts
 
std::array< std::shared_ptr< arrow::Table >, sizeof...(A)> emptyTables {}
 
std::array< SliceInfoPtr, sizeof...(A)> sliceInfos
 
std::array< SliceInfoUnsortedPtr, sizeof...(A)> sliceInfosUnsorted
 
ArrowTableSlicingCachemSlices
 
header::DataOrigin replacementOrigin
 

Detailed Description

template<typename G, typename... A>
struct o2::framework::GroupSlicer< G, A >::GroupSlicerIterator

Definition at line 51 of file GroupSlicer.h.

Member Typedef Documentation

◆ associated_pack_t

template<typename G , typename... A>
using o2::framework::GroupSlicer< G, A >::GroupSlicerIterator::associated_pack_t = framework::pack<A...>

Definition at line 52 of file GroupSlicer.h.

Constructor & Destructor Documentation

◆ GroupSlicerIterator() [1/4]

template<typename G , typename... A>
o2::framework::GroupSlicer< G, A >::GroupSlicerIterator::GroupSlicerIterator ( )
default

◆ GroupSlicerIterator() [2/4]

template<typename G , typename... A>
o2::framework::GroupSlicer< G, A >::GroupSlicerIterator::GroupSlicerIterator ( GroupSlicerIterator const &  )
default

◆ GroupSlicerIterator() [3/4]

template<typename G , typename... A>
o2::framework::GroupSlicer< G, A >::GroupSlicerIterator::GroupSlicerIterator ( GroupSlicerIterator &&  )
default

◆ GroupSlicerIterator() [4/4]

template<typename G , typename... A>
o2::framework::GroupSlicer< G, A >::GroupSlicerIterator::GroupSlicerIterator ( G &  gt,
std::tuple< A... > &  at,
ArrowTableSlicingCache slices,
header::DataOrigin  newOrigin = header::DataOrigin{"AOD"} 
)
inline

prepare slices and offsets for all associated tables that have index to grouping table extract selections from filtered associated tables

Definition at line 98 of file GroupSlicer.h.

Member Function Documentation

◆ associatedTables()

template<typename G , typename... A>
auto o2::framework::GroupSlicer< G, A >::GroupSlicerIterator::associatedTables ( )
inline

Definition at line 163 of file GroupSlicer.h.

◆ extractingFunction() [1/2]

template<typename G , typename... A>
template<typename T >
auto o2::framework::GroupSlicer< G, A >::GroupSlicerIterator::extractingFunction ( T &&  )
inline

Definition at line 86 of file GroupSlicer.h.

◆ extractingFunction() [2/2]

template<typename G , typename... A>
template<soa::is_filtered_table T>
auto o2::framework::GroupSlicer< G, A >::GroupSlicerIterator::extractingFunction ( T &&  table)
inline

Definition at line 91 of file GroupSlicer.h.

◆ groupingElement()

template<typename G , typename... A>
auto & o2::framework::GroupSlicer< G, A >::GroupSlicerIterator::groupingElement ( )
inline

Definition at line 153 of file GroupSlicer.h.

◆ operator!=()

template<typename G , typename... A>
bool o2::framework::GroupSlicer< G, A >::GroupSlicerIterator::operator!= ( GroupSlicerSentinel const &  other)
inline

Definition at line 148 of file GroupSlicer.h.

◆ operator*()

template<typename G , typename... A>
GroupSlicerIterator & o2::framework::GroupSlicer< G, A >::GroupSlicerIterator::operator* ( )
inline

Definition at line 158 of file GroupSlicer.h.

◆ operator+()

template<typename G , typename... A>
GroupSlicerIterator o2::framework::GroupSlicer< G, A >::GroupSlicerIterator::operator+ ( int64_t  inc) const
inline

Definition at line 128 of file GroupSlicer.h.

◆ operator++()

template<typename G , typename... A>
GroupSlicerIterator & o2::framework::GroupSlicer< G, A >::GroupSlicerIterator::operator++ ( )
inline

Definition at line 121 of file GroupSlicer.h.

◆ operator+=()

template<typename G , typename... A>
GroupSlicerIterator o2::framework::GroupSlicer< G, A >::GroupSlicerIterator::operator+= ( int64_t  inc)
inline

Definition at line 136 of file GroupSlicer.h.

◆ operator=() [1/2]

template<typename G , typename... A>
GroupSlicerIterator & o2::framework::GroupSlicer< G, A >::GroupSlicerIterator::operator= ( GroupSlicerIterator &&  )
default

◆ operator=() [2/2]

template<typename G , typename... A>
GroupSlicerIterator & o2::framework::GroupSlicer< G, A >::GroupSlicerIterator::operator= ( GroupSlicerIterator const &  )
default

◆ operator==()

template<typename G , typename... A>
bool o2::framework::GroupSlicer< G, A >::GroupSlicerIterator::operator== ( GroupSlicerSentinel const &  other)
inline

Definition at line 143 of file GroupSlicer.h.

◆ prepareArgument() [1/4]

template<typename G , typename... A>
template<soa::is_smallgroups A1>
requires (o2::soa::relatedByIndex<std::decay_t<G>, std::decay_t<A1>>() && soa::is_filtered_table<A1>)
auto o2::framework::GroupSlicer< G, A >::GroupSlicerIterator::prepareArgument ( )
inline

Definition at line 170 of file GroupSlicer.h.

◆ prepareArgument() [2/4]

template<typename G , typename... A>
template<soa::is_filtered_table A1>
requires (o2::soa::relatedByIndex<std::decay_t<G>, std::decay_t<A1>>() && !soa::is_smallgroups<A1>)
auto o2::framework::GroupSlicer< G, A >::GroupSlicerIterator::prepareArgument ( )
inline

Definition at line 204 of file GroupSlicer.h.

◆ prepareArgument() [3/4]

template<typename G , typename... A>
template<soa::is_table A1>
requires (o2::soa::relatedByIndex<std::decay_t<G>, std::decay_t<A1>>() && !soa::is_smallgroups<A1> && !soa::is_filtered_table<A1>)
auto o2::framework::GroupSlicer< G, A >::GroupSlicerIterator::prepareArgument ( )
inline

Definition at line 249 of file GroupSlicer.h.

◆ prepareArgument() [4/4]

template<typename G , typename... A>
template<soa::is_table A1>
requires (!o2::soa::relatedByIndex<std::decay_t<G>, std::decay_t<A1>>() && !soa::is_smallgroups<A1>)
auto o2::framework::GroupSlicer< G, A >::GroupSlicerIterator::prepareArgument ( )
inline

Definition at line 271 of file GroupSlicer.h.

◆ splittingFunction() [1/3]

template<typename G , typename... A>
template<typename T >
auto o2::framework::GroupSlicer< G, A >::GroupSlicerIterator::splittingFunction ( T &&  )
inline

Definition at line 61 of file GroupSlicer.h.

◆ splittingFunction() [2/3]

template<typename G , typename... A>
template<soa::is_table T>
requires (o2::soa::relatedByIndex<std::decay_t<G>, std::decay_t<T>>() && !soa::is_smallgroups<T>)
auto o2::framework::GroupSlicer< G, A >::GroupSlicerIterator::splittingFunction ( T &&  table)
inline

Definition at line 67 of file GroupSlicer.h.

◆ splittingFunction() [3/3]

template<typename G , typename... A>
template<soa::is_smallgroups T>
requires (o2::soa::relatedByIndex<std::decay_t<G>, std::decay_t<T>>())
auto o2::framework::GroupSlicer< G, A >::GroupSlicerIterator::splittingFunction ( T &&  table)
inline

Definition at line 77 of file GroupSlicer.h.

Member Data Documentation

◆ emptyTables

template<typename G , typename... A>
std::array<std::shared_ptr<arrow::Table>, sizeof...(A)> o2::framework::GroupSlicer< G, A >::GroupSlicerIterator::emptyTables {}

Definition at line 286 of file GroupSlicer.h.

◆ groupSelection

template<typename G , typename... A>
std::span<int64_t const> o2::framework::GroupSlicer< G, A >::GroupSlicerIterator::groupSelection

Definition at line 281 of file GroupSlicer.h.

◆ mAt

template<typename G , typename... A>
std::tuple<A...>* o2::framework::GroupSlicer< G, A >::GroupSlicerIterator::mAt

Definition at line 278 of file GroupSlicer.h.

◆ mGroupingElement

template<typename G , typename... A>
grouping_t::iterator o2::framework::GroupSlicer< G, A >::GroupSlicerIterator::mGroupingElement

Definition at line 279 of file GroupSlicer.h.

◆ mGt

template<typename G , typename... A>
G const* o2::framework::GroupSlicer< G, A >::GroupSlicerIterator::mGt

Definition at line 277 of file GroupSlicer.h.

◆ mIndexColumnName

template<typename G , typename... A>
std::string o2::framework::GroupSlicer< G, A >::GroupSlicerIterator::mIndexColumnName

Definition at line 276 of file GroupSlicer.h.

◆ mSlices

template<typename G , typename... A>
ArrowTableSlicingCache* o2::framework::GroupSlicer< G, A >::GroupSlicerIterator::mSlices

Definition at line 290 of file GroupSlicer.h.

◆ position

template<typename G , typename... A>
uint64_t o2::framework::GroupSlicer< G, A >::GroupSlicerIterator::position = 0

Definition at line 280 of file GroupSlicer.h.

◆ replacementOrigin

template<typename G , typename... A>
header::DataOrigin o2::framework::GroupSlicer< G, A >::GroupSlicerIterator::replacementOrigin

Definition at line 291 of file GroupSlicer.h.

◆ selections

template<typename G , typename... A>
std::array<std::span<int64_t const> const*, sizeof...(A)> o2::framework::GroupSlicer< G, A >::GroupSlicerIterator::selections

Definition at line 282 of file GroupSlicer.h.

◆ sliceInfos

template<typename G , typename... A>
std::array<SliceInfoPtr, sizeof...(A)> o2::framework::GroupSlicer< G, A >::GroupSlicerIterator::sliceInfos

Definition at line 288 of file GroupSlicer.h.

◆ sliceInfosUnsorted

template<typename G , typename... A>
std::array<SliceInfoUnsortedPtr, sizeof...(A)> o2::framework::GroupSlicer< G, A >::GroupSlicerIterator::sliceInfosUnsorted

Definition at line 289 of file GroupSlicer.h.

◆ starts

template<typename G , typename... A>
std::array<std::span<int64_t const>::iterator, sizeof...(A)> o2::framework::GroupSlicer< G, A >::GroupSlicerIterator::starts

Definition at line 283 of file GroupSlicer.h.


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