Project
Loading...
Searching...
No Matches
o2::framework::InputSpan Class Reference

#include <InputSpan.h>

Classes

class  InputSpanIterator
 
class  Iterator
 

Public Types

using iterator = InputSpanIterator< DataRef >
 
using const_iterator = InputSpanIterator< const DataRef >
 

Public Member Functions

 InputSpan ()=delete
 
 InputSpan (InputSpan const &)=delete
 
 InputSpan (InputSpan &&)=default
 
 InputSpan (std::function< size_t(size_t)> nofPartsGetter, std::function< int(size_t)> refCountGetter, std::function< DataRef(size_t, DataRefIndices)> indicesGetter, std::function< DataRefIndices(size_t, DataRefIndices)> nextIndicesGetter, size_t size)
 
DataRef get (size_t i, size_t partidx=0) const
 i-th element of the InputSpan (O(partidx) sequential scan via indices protocol)
 
DataRef getAtIndices (size_t slotIdx, DataRefIndices indices) const
 Return the DataRef for the part described by indices in slot slotIdx in O(1).
 
DataRefIndices nextIndices (size_t slotIdx, DataRefIndices current) const
 Advance from current to the indices of the next part in slot slotIdx in O(1).
 
DataRefIndices initialIndices () const
 
DataRefIndices endIndices () const
 
DataRef getAtIndices (DataRefIndices indices) const
 
DataRefIndices nextIndices (DataRefIndices current) const
 
size_t getNofParts (size_t i) const
 number of parts in the i-th element of the InputSpan
 
int getRefCount (size_t i) const
 
size_t size () const
 Number of elements in the InputSpan.
 
const charheader (size_t i) const
 
const charpayload (size_t i) const
 
const_iterator begin () const
 
const_iterator end () const
 

Detailed Description

Mapping helper between the store of all inputs being processed and the actual inputs to be processed in a given go. In general this will use an helper which returns fair::mq::Message->GetData() from the Message cache, but in principle the mechanism should be flexible enough to allow all kind of input stores.

Definition at line 28 of file InputSpan.h.

Member Typedef Documentation

◆ const_iterator

◆ iterator

Constructor & Destructor Documentation

◆ InputSpan() [1/4]

o2::framework::InputSpan::InputSpan ( )
delete

◆ InputSpan() [2/4]

o2::framework::InputSpan::InputSpan ( InputSpan const &  )
delete

◆ InputSpan() [3/4]

o2::framework::InputSpan::InputSpan ( InputSpan &&  )
default

◆ InputSpan() [4/4]

o2::framework::InputSpan::InputSpan ( std::function< size_t(size_t)>  nofPartsGetter,
std::function< int(size_t)>  refCountGetter,
std::function< DataRef(size_t, DataRefIndices)>  indicesGetter,
std::function< DataRefIndices(size_t, DataRefIndices)>  nextIndicesGetter,
size_t  size 
)

Navigate the message store via the DataRefIndices protocol. get_next_pair (DataModelViews.h) provides O(1) sequential advancement for nextIndicesGetter.

Definition at line 19 of file InputSpan.cxx.

Member Function Documentation

◆ begin()

const_iterator o2::framework::InputSpan::begin ( ) const
inline

Definition at line 247 of file InputSpan.h.

◆ end()

const_iterator o2::framework::InputSpan::end ( ) const
inline

Definition at line 252 of file InputSpan.h.

◆ endIndices()

DataRefIndices o2::framework::InputSpan::endIndices ( ) const
inline

Definition at line 67 of file InputSpan.h.

◆ get()

DataRef o2::framework::InputSpan::get ( size_t  i,
size_t  partidx = 0 
) const
inline

i-th element of the InputSpan (O(partidx) sequential scan via indices protocol)

Definition at line 44 of file InputSpan.h.

◆ getAtIndices() [1/2]

DataRef o2::framework::InputSpan::getAtIndices ( DataRefIndices  indices) const
inline

Definition at line 68 of file InputSpan.h.

◆ getAtIndices() [2/2]

DataRef o2::framework::InputSpan::getAtIndices ( size_t  slotIdx,
DataRefIndices  indices 
) const
inline

Return the DataRef for the part described by indices in slot slotIdx in O(1).

Definition at line 54 of file InputSpan.h.

◆ getNofParts()

size_t o2::framework::InputSpan::getNofParts ( size_t  i) const
inline

number of parts in the i-th element of the InputSpan

Definition at line 72 of file InputSpan.h.

◆ getRefCount()

int o2::framework::InputSpan::getRefCount ( size_t  i) const
inline

Definition at line 81 of file InputSpan.h.

◆ header()

const char * o2::framework::InputSpan::header ( size_t  i) const
inline

Definition at line 98 of file InputSpan.h.

◆ initialIndices()

DataRefIndices o2::framework::InputSpan::initialIndices ( ) const
inline

Definition at line 66 of file InputSpan.h.

◆ nextIndices() [1/2]

DataRefIndices o2::framework::InputSpan::nextIndices ( DataRefIndices  current) const
inline

Definition at line 69 of file InputSpan.h.

◆ nextIndices() [2/2]

DataRefIndices o2::framework::InputSpan::nextIndices ( size_t  slotIdx,
DataRefIndices  current 
) const
inline

Advance from current to the indices of the next part in slot slotIdx in O(1).

Definition at line 60 of file InputSpan.h.

◆ payload()

const char * o2::framework::InputSpan::payload ( size_t  i) const
inline

Definition at line 103 of file InputSpan.h.

◆ size()

size_t o2::framework::InputSpan::size ( ) const
inline

Number of elements in the InputSpan.

Definition at line 93 of file InputSpan.h.


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