ATLAS Offline Software
Public Types | Public Member Functions | Private Attributes | List of all members
columnar::ObjectRangeIteratorArray< CI, stepSize > Class Template Reference

an iterator over objects in an ObjectRange More...

Collaboration diagram for columnar::ObjectRangeIteratorArray< CI, stepSize >:

Public Types

using CM = ColumnarModeArray
 

Public Member Functions

 ObjectRangeIteratorArray (void **val_data, std::size_t val_index) noexcept
 
ObjectId< CI, CMoperator* () const noexcept
 
ObjectRangeIteratorArray< CI, stepSize > & operator++ () noexcept
 
bool operator== (const ObjectRangeIteratorArray< CI, stepSize > &that) const noexcept
 
bool operator!= (const ObjectRangeIteratorArray< CI, stepSize > &that) const noexcept
 

Private Attributes

void ** m_data = nullptr
 
std::size_t m_index = 0u
 

Detailed Description

template<ContainerIdConcept CI, int stepSize>
class columnar::ObjectRangeIteratorArray< CI, stepSize >

an iterator over objects in an ObjectRange

This is primarily to allow the use of range-for for ObjectRange

Definition at line 215 of file ObjectRange.h.

Member Typedef Documentation

◆ CM

template<ContainerIdConcept CI, int stepSize>
using columnar::ObjectRangeIteratorArray< CI, stepSize >::CM = ColumnarModeArray

Definition at line 308 of file ObjectRange.h.

Constructor & Destructor Documentation

◆ ObjectRangeIteratorArray()

template<ContainerIdConcept CI, int stepSize>
columnar::ObjectRangeIteratorArray< CI, stepSize >::ObjectRangeIteratorArray ( void **  val_data,
std::size_t  val_index 
)
inlinenoexcept

Definition at line 310 of file ObjectRange.h.

311  : m_data (val_data), m_index (val_index) {}

Member Function Documentation

◆ operator!=()

template<ContainerIdConcept CI, int stepSize>
bool columnar::ObjectRangeIteratorArray< CI, stepSize >::operator!= ( const ObjectRangeIteratorArray< CI, stepSize > &  that) const
inlinenoexcept

Definition at line 322 of file ObjectRange.h.

322  {
323  return m_index != that.m_index;}

◆ operator*()

template<ContainerIdConcept CI, int stepSize>
ObjectId<CI,CM> columnar::ObjectRangeIteratorArray< CI, stepSize >::operator* ( ) const
inlinenoexcept

Definition at line 313 of file ObjectRange.h.

313  {
314  return ObjectId<CI,CM> (m_data, m_index);
315  }

◆ operator++()

template<ContainerIdConcept CI, int stepSize>
ObjectRangeIteratorArray<CI,stepSize>& columnar::ObjectRangeIteratorArray< CI, stepSize >::operator++ ( )
inlinenoexcept

Definition at line 317 of file ObjectRange.h.

317  {
318  m_index += stepSize; return *this;}

◆ operator==()

template<ContainerIdConcept CI, int stepSize>
bool columnar::ObjectRangeIteratorArray< CI, stepSize >::operator== ( const ObjectRangeIteratorArray< CI, stepSize > &  that) const
inlinenoexcept

Definition at line 320 of file ObjectRange.h.

320  {
321  return m_index == that.m_index;}

Member Data Documentation

◆ m_data

template<ContainerIdConcept CI, int stepSize>
void** columnar::ObjectRangeIteratorArray< CI, stepSize >::m_data = nullptr
private

Definition at line 326 of file ObjectRange.h.

◆ m_index

template<ContainerIdConcept CI, int stepSize>
std::size_t columnar::ObjectRangeIteratorArray< CI, stepSize >::m_index = 0u
private

Definition at line 327 of file ObjectRange.h.


The documentation for this class was generated from the following file:
columnar::ObjectRangeIteratorArray::m_data
void ** m_data
Definition: ObjectRange.h:326
columnar::ObjectRangeIteratorArray::m_index
std::size_t m_index
Definition: ObjectRange.h:327