Loading [MathJax]/extensions/tex2jax.js
ATLAS Offline Software
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
Public Types | Public Member Functions | Private Attributes | List of all members
columnar::ObjectRangeIteratorArray< CI > Class Template Reference

an iterator over objects in an ObjectRange More...

Collaboration diagram for columnar::ObjectRangeIteratorArray< CI >:

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 > & operator++ () noexcept
 
bool operator== (const ObjectRangeIteratorArray< CI > &that) const noexcept
 
bool operator!= (const ObjectRangeIteratorArray< CI > &that) const noexcept
 

Private Attributes

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

Detailed Description

template<ContainerId CI>
class columnar::ObjectRangeIteratorArray< CI >

an iterator over objects in an ObjectRange

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

Definition at line 183 of file ObjectRange.h.

Member Typedef Documentation

◆ CM

template<ContainerId CI>
using columnar::ObjectRangeIteratorArray< CI >::CM = ColumnarModeArray

Definition at line 262 of file ObjectRange.h.

Constructor & Destructor Documentation

◆ ObjectRangeIteratorArray()

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

Definition at line 264 of file ObjectRange.h.

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

Member Function Documentation

◆ operator!=()

template<ContainerId CI>
bool columnar::ObjectRangeIteratorArray< CI >::operator!= ( const ObjectRangeIteratorArray< CI > &  that) const
inlinenoexcept

Definition at line 276 of file ObjectRange.h.

276  {
277  return m_index != that.m_index;}

◆ operator*()

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

Definition at line 267 of file ObjectRange.h.

267  {
268  return ObjectId<CI,CM> (m_data, m_index);
269  }

◆ operator++()

template<ContainerId CI>
ObjectRangeIteratorArray<CI>& columnar::ObjectRangeIteratorArray< CI >::operator++ ( )
inlinenoexcept

Definition at line 271 of file ObjectRange.h.

271  {
272  ++ m_index; return *this;}

◆ operator==()

template<ContainerId CI>
bool columnar::ObjectRangeIteratorArray< CI >::operator== ( const ObjectRangeIteratorArray< CI > &  that) const
inlinenoexcept

Definition at line 274 of file ObjectRange.h.

274  {
275  return m_index == that.m_index;}

Member Data Documentation

◆ m_data

template<ContainerId CI>
void** columnar::ObjectRangeIteratorArray< CI >::m_data = nullptr
private

Definition at line 280 of file ObjectRange.h.

◆ m_index

template<ContainerId CI>
std::size_t columnar::ObjectRangeIteratorArray< CI >::m_index = 0u
private

Definition at line 281 of file ObjectRange.h.


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