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<typename 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)
 
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
 
gsl::span< int64_t const > groupSelection
 
std::array< gsl::span< int64_t const > const *, sizeof...(A)> selections
 
std::array< gsl::span< int64_t const >::iterator, sizeof...(A)> starts
 
std::array< SliceInfoPtr, sizeof...(A)> sliceInfos
 
std::array< SliceInfoUnsortedPtr, sizeof...(A)> sliceInfosUnsorted
 
ArrowTableSlicingCachemSlices
 

Detailed Description

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

Definition at line 38 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 39 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 
)
inline

prepare slices and offsets for all associated tables that have index to grouping table

extract selections from filtered associated tables

Definition at line 85 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 155 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 73 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 78 of file GroupSlicer.h.

◆ groupingElement()

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

Definition at line 145 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 140 of file GroupSlicer.h.

◆ operator*()

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

Definition at line 150 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 120 of file GroupSlicer.h.

◆ operator++()

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

Definition at line 113 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 128 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 135 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 162 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 196 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 235 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 259 of file GroupSlicer.h.

◆ splittingFunction() [1/2]

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

Definition at line 48 of file GroupSlicer.h.

◆ splittingFunction() [2/2]

template<typename G , typename... A>
template<typename 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 54 of file GroupSlicer.h.

Member Data Documentation

◆ groupSelection

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

Definition at line 269 of file GroupSlicer.h.

◆ mAt

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

Definition at line 266 of file GroupSlicer.h.

◆ mGroupingElement

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

Definition at line 267 of file GroupSlicer.h.

◆ mGt

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

Definition at line 265 of file GroupSlicer.h.

◆ mIndexColumnName

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

Definition at line 264 of file GroupSlicer.h.

◆ mSlices

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

Definition at line 275 of file GroupSlicer.h.

◆ position

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

Definition at line 268 of file GroupSlicer.h.

◆ selections

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

Definition at line 270 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 273 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 274 of file GroupSlicer.h.

◆ starts

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

Definition at line 271 of file GroupSlicer.h.


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