Project
Loading...
Searching...
No Matches
o2::soa::TableIterator< D, O, IP, C > Struct Template Reference

#include <ASoA.h>

Inherits IP, and o2::soa::C.

Public Types

using self_t = TableIterator< D, O, IP, C... >
 
using policy_t = IP
 
using all_columns = framework::pack< C... >
 
using persistent_columns_t = framework::selected_pack< soa::is_persistent_column_t, C... >
 
using external_index_columns_t = framework::selected_pack< soa::is_external_index_t, C... >
 
using internal_index_columns_t = framework::selected_pack< soa::is_self_index_t, C... >
 
using bindings_pack_t = decltype([]< typename... Cs >(framework::pack< Cs... >) -> framework::pack< typename Cs::binding_t... > {}(external_index_columns_t{}))
 

Public Member Functions

 TableIterator (arrow::ChunkedArray *columnData[sizeof...(C)], IP &&policy)
 
 TableIterator (arrow::ChunkedArray *columnData[sizeof...(C)], IP &&policy)
 
 TableIterator ()=default
 
 TableIterator (self_t const &other)
 
TableIteratoroperator= (TableIterator other)
 
 TableIterator (TableIterator< D, O, FilteredIndexPolicy, C... > const &other)
 
TableIteratoroperator++ ()
 
TableIterator operator++ (int)
 
TableIteratoroperator-- ()
 
TableIterator operator-- (int)
 
TableIterator operator+ (int64_t inc) const
 Allow incrementing by more than one the iterator.
 
TableIterator operator- (int64_t dec) const
 
TableIterator const & operator* () const
 
template<typename... CL, typename TA >
void doSetCurrentIndex (framework::pack< CL... >, TA *current)
 
template<typename CL >
auto getCurrent () const
 
template<typename... Cs>
auto getIndexBindingsImpl (framework::pack< Cs... >) const
 
auto getIndexBindings () const
 
template<typename... TA>
void bindExternalIndices (TA *... current)
 
template<typename... Cs>
void doSetCurrentIndexRaw (framework::pack< Cs... > p, std::vector< o2::soa::Binding > &&ptrs)
 
template<typename... Cs, typename I >
void doSetCurrentInternal (framework::pack< Cs... >, I const *ptr)
 
void bindExternalIndicesRaw (std::vector< o2::soa::Binding > &&ptrs)
 
template<typename I >
void bindInternalIndices (I const *table)
 

Detailed Description

template<typename D, typename O, typename IP, typename... C>
struct o2::soa::TableIterator< D, O, IP, C >

Definition at line 1035 of file ASoA.h.

Member Typedef Documentation

◆ all_columns

template<typename D , typename O , typename IP , typename... C>
using o2::soa::TableIterator< D, O, IP, C >::all_columns = framework::pack<C...>

Definition at line 1039 of file ASoA.h.

◆ bindings_pack_t

template<typename D , typename O , typename IP , typename... C>
using o2::soa::TableIterator< D, O, IP, C >::bindings_pack_t = decltype([]<typename... Cs>(framework::pack<Cs...>) -> framework::pack<typename Cs::binding_t...> {}(external_index_columns_t{}))

Definition at line 1043 of file ASoA.h.

◆ external_index_columns_t

template<typename D , typename O , typename IP , typename... C>
using o2::soa::TableIterator< D, O, IP, C >::external_index_columns_t = framework::selected_pack<soa::is_external_index_t, C...>

Definition at line 1041 of file ASoA.h.

◆ internal_index_columns_t

template<typename D , typename O , typename IP , typename... C>
using o2::soa::TableIterator< D, O, IP, C >::internal_index_columns_t = framework::selected_pack<soa::is_self_index_t, C...>

Definition at line 1042 of file ASoA.h.

◆ persistent_columns_t

template<typename D , typename O , typename IP , typename... C>
using o2::soa::TableIterator< D, O, IP, C >::persistent_columns_t = framework::selected_pack<soa::is_persistent_column_t, C...>

Definition at line 1040 of file ASoA.h.

◆ policy_t

template<typename D , typename O , typename IP , typename... C>
using o2::soa::TableIterator< D, O, IP, C >::policy_t = IP

Definition at line 1038 of file ASoA.h.

◆ self_t

template<typename D , typename O , typename IP , typename... C>
using o2::soa::TableIterator< D, O, IP, C >::self_t = TableIterator<D, O, IP, C...>

Definition at line 1037 of file ASoA.h.

Constructor & Destructor Documentation

◆ TableIterator() [1/5]

template<typename D , typename O , typename IP , typename... C>
o2::soa::TableIterator< D, O, IP, C >::TableIterator ( arrow::ChunkedArray *  columnData[sizeof...(C)],
IP &&  policy 
)
inline

Definition at line 1045 of file ASoA.h.

◆ TableIterator() [2/5]

template<typename D , typename O , typename IP , typename... C>
o2::soa::TableIterator< D, O, IP, C >::TableIterator ( arrow::ChunkedArray *  columnData[sizeof...(C)],
IP &&  policy 
)
inline

Definition at line 1052 of file ASoA.h.

◆ TableIterator() [3/5]

template<typename D , typename O , typename IP , typename... C>
o2::soa::TableIterator< D, O, IP, C >::TableIterator ( )
default

◆ TableIterator() [4/5]

template<typename D , typename O , typename IP , typename... C>
o2::soa::TableIterator< D, O, IP, C >::TableIterator ( self_t const &  other)
inline

Definition at line 1066 of file ASoA.h.

◆ TableIterator() [5/5]

template<typename D , typename O , typename IP , typename... C>
o2::soa::TableIterator< D, O, IP, C >::TableIterator ( TableIterator< D, O, FilteredIndexPolicy, C... > const &  other)
inline

Definition at line 1081 of file ASoA.h.

Member Function Documentation

◆ bindExternalIndices()

template<typename D , typename O , typename IP , typename... C>
template<typename... TA>
void o2::soa::TableIterator< D, O, IP, C >::bindExternalIndices ( TA *...  current)
inline

Definition at line 1157 of file ASoA.h.

◆ bindExternalIndicesRaw()

template<typename D , typename O , typename IP , typename... C>
void o2::soa::TableIterator< D, O, IP, C >::bindExternalIndicesRaw ( std::vector< o2::soa::Binding > &&  ptrs)
inline

Definition at line 1176 of file ASoA.h.

◆ bindInternalIndices()

template<typename D , typename O , typename IP , typename... C>
template<typename I >
void o2::soa::TableIterator< D, O, IP, C >::bindInternalIndices ( I const *  table)
inline

Definition at line 1182 of file ASoA.h.

◆ doSetCurrentIndex()

template<typename D , typename O , typename IP , typename... C>
template<typename... CL, typename TA >
void o2::soa::TableIterator< D, O, IP, C >::doSetCurrentIndex ( framework::pack< CL... >  ,
TA *  current 
)
inline

Definition at line 1134 of file ASoA.h.

◆ doSetCurrentIndexRaw()

template<typename D , typename O , typename IP , typename... C>
template<typename... Cs>
void o2::soa::TableIterator< D, O, IP, C >::doSetCurrentIndexRaw ( framework::pack< Cs... >  p,
std::vector< o2::soa::Binding > &&  ptrs 
)
inline

Definition at line 1163 of file ASoA.h.

◆ doSetCurrentInternal()

template<typename D , typename O , typename IP , typename... C>
template<typename... Cs, typename I >
void o2::soa::TableIterator< D, O, IP, C >::doSetCurrentInternal ( framework::pack< Cs... >  ,
I const *  ptr 
)
inline

Definition at line 1169 of file ASoA.h.

◆ getCurrent()

template<typename D , typename O , typename IP , typename... C>
template<typename CL >
auto o2::soa::TableIterator< D, O, IP, C >::getCurrent ( ) const
inline

Definition at line 1140 of file ASoA.h.

◆ getIndexBindings()

template<typename D , typename O , typename IP , typename... C>
auto o2::soa::TableIterator< D, O, IP, C >::getIndexBindings ( ) const
inline

Definition at line 1151 of file ASoA.h.

◆ getIndexBindingsImpl()

template<typename D , typename O , typename IP , typename... C>
template<typename... Cs>
auto o2::soa::TableIterator< D, O, IP, C >::getIndexBindingsImpl ( framework::pack< Cs... >  ) const
inline

Definition at line 1146 of file ASoA.h.

◆ operator*()

template<typename D , typename O , typename IP , typename... C>
TableIterator const & o2::soa::TableIterator< D, O, IP, C >::operator* ( ) const
inline

Definition at line 1128 of file ASoA.h.

◆ operator+()

template<typename D , typename O , typename IP , typename... C>
TableIterator o2::soa::TableIterator< D, O, IP, C >::operator+ ( int64_t  inc) const
inline

Allow incrementing by more than one the iterator.

Definition at line 1116 of file ASoA.h.

◆ operator++() [1/2]

template<typename D , typename O , typename IP , typename... C>
TableIterator & o2::soa::TableIterator< D, O, IP, C >::operator++ ( )
inline

Definition at line 1089 of file ASoA.h.

◆ operator++() [2/2]

template<typename D , typename O , typename IP , typename... C>
TableIterator o2::soa::TableIterator< D, O, IP, C >::operator++ ( int  )
inline

Definition at line 1095 of file ASoA.h.

◆ operator-()

template<typename D , typename O , typename IP , typename... C>
TableIterator o2::soa::TableIterator< D, O, IP, C >::operator- ( int64_t  dec) const
inline

Definition at line 1123 of file ASoA.h.

◆ operator--() [1/2]

template<typename D , typename O , typename IP , typename... C>
TableIterator & o2::soa::TableIterator< D, O, IP, C >::operator-- ( )
inline

Definition at line 1102 of file ASoA.h.

◆ operator--() [2/2]

template<typename D , typename O , typename IP , typename... C>
TableIterator o2::soa::TableIterator< D, O, IP, C >::operator-- ( int  )
inline

Definition at line 1108 of file ASoA.h.

◆ operator=()

template<typename D , typename O , typename IP , typename... C>
TableIterator & o2::soa::TableIterator< D, O, IP, C >::operator= ( TableIterator< D, O, IP, C other)
inline

Definition at line 1073 of file ASoA.h.


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