ATLAS Offline Software
Public Types | Public Member Functions | Private Attributes | Friends | List of all members
FPGATrackSimBinArray< T >::ConstIterator Struct Reference

#include <FPGATrackSimBinArray.h>

Inheritance diagram for FPGATrackSimBinArray< T >::ConstIterator:
Collaboration diagram for FPGATrackSimBinArray< T >::ConstIterator:

Public Types

using value_type = FPGATrackSimBinArray< T >::ConstIterator
 
using iterator_category = std::forward_iterator_tag
 
using container_type = const FPGATrackSimBinArray< T >
 
using difference_type = void
 
using pointer = FPGATrackSimBinArray< T >::ConstIterator *
 
using reference = FPGATrackSimBinArray< T >::ConstIterator &
 

Public Member Functions

 ConstIterator (const std::vector< unsigned int > &idx, const FPGATrackSimBinArray< T > &itrdata)
 
ConstIteratoroperator* ()
 
ConstIteratoroperator-> ()
 
ConstIteratoroperator++ ()
 
const std::vector< unsigned int > & idx () const
 
const T & data ()
 
ConstIterator operator++ (int)
 

Private Attributes

std::vector< unsigned int > m_idx
 
const FPGATrackSimBinArray< T > & m_itrdata
 

Friends

bool operator== (const ConstIterator &a, const ConstIterator &b)
 
bool operator!= (const ConstIterator &a, const ConstIterator &b)
 

Detailed Description

template<typename T>
struct FPGATrackSimBinArray< T >::ConstIterator

Definition at line 136 of file FPGATrackSimBinArray.h.

Member Typedef Documentation

◆ container_type

Definition at line 140 of file FPGATrackSimBinArray.h.

◆ difference_type

template<typename T >
using FPGATrackSimBinArray< T >::ConstIterator::difference_type = void

Definition at line 141 of file FPGATrackSimBinArray.h.

◆ iterator_category

template<typename T >
using FPGATrackSimBinArray< T >::ConstIterator::iterator_category = std::forward_iterator_tag

Definition at line 139 of file FPGATrackSimBinArray.h.

◆ pointer

Definition at line 142 of file FPGATrackSimBinArray.h.

◆ reference

Definition at line 143 of file FPGATrackSimBinArray.h.

◆ value_type

Definition at line 138 of file FPGATrackSimBinArray.h.

Constructor & Destructor Documentation

◆ ConstIterator()

template<typename T >
FPGATrackSimBinArray< T >::ConstIterator::ConstIterator ( const std::vector< unsigned int > &  idx,
const FPGATrackSimBinArray< T > &  itrdata 
)
inline

Definition at line 146 of file FPGATrackSimBinArray.h.

148  : m_idx(idx), m_itrdata(itrdata) {
149  if (m_idx.size() != m_itrdata.dims().size()) {
150  throw std::runtime_error(
151  "FPGATrackSimBinArray::Interator array size mismatch in "
152  "constructor");
153  }
154  }

Member Function Documentation

◆ data()

template<typename T >
const T& FPGATrackSimBinArray< T >::ConstIterator::data ( )
inline

Definition at line 175 of file FPGATrackSimBinArray.h.

175 { return m_itrdata[m_idx]; }

◆ idx()

template<typename T >
const std::vector<unsigned int>& FPGATrackSimBinArray< T >::ConstIterator::idx ( ) const
inline

Definition at line 174 of file FPGATrackSimBinArray.h.

174 { return m_idx; }

◆ operator*()

template<typename T >
ConstIterator& FPGATrackSimBinArray< T >::ConstIterator::operator* ( )
inline

Definition at line 156 of file FPGATrackSimBinArray.h.

156 { return *this; }

◆ operator++() [1/2]

template<typename T >
ConstIterator& FPGATrackSimBinArray< T >::ConstIterator::operator++ ( )
inline

Definition at line 160 of file FPGATrackSimBinArray.h.

161  {
162  ++m_idx.at(0);
163  for (unsigned int i = 0; i < m_idx.size() - 1; i++)
164  {
165  if (m_idx.at(i) >= m_itrdata.dims().at(i))
166  {
167  ++m_idx.at(i + 1);
168  m_idx.at(i) = 0;
169  }
170  }
171  return *this;
172  }

◆ operator++() [2/2]

template<typename T >
ConstIterator FPGATrackSimBinArray< T >::ConstIterator::operator++ ( int  )
inline

Definition at line 178 of file FPGATrackSimBinArray.h.

179  {
180  ConstIterator tmp = *this;
181  ++(*this);
182  return tmp;
183  }

◆ operator->()

template<typename T >
ConstIterator* FPGATrackSimBinArray< T >::ConstIterator::operator-> ( )
inline

Definition at line 157 of file FPGATrackSimBinArray.h.

157 { return this; }

Friends And Related Function Documentation

◆ operator!=

template<typename T >
bool operator!= ( const ConstIterator a,
const ConstIterator b 
)
friend

Definition at line 186 of file FPGATrackSimBinArray.h.

187  {
188  return a.m_idx != b.m_idx;
189  };

◆ operator==

template<typename T >
bool operator== ( const ConstIterator a,
const ConstIterator b 
)
friend

Definition at line 185 of file FPGATrackSimBinArray.h.

185 { return a.m_idx == b.m_idx; };

Member Data Documentation

◆ m_idx

template<typename T >
std::vector<unsigned int> FPGATrackSimBinArray< T >::ConstIterator::m_idx
private

Definition at line 193 of file FPGATrackSimBinArray.h.

◆ m_itrdata

template<typename T >
const FPGATrackSimBinArray<T>& FPGATrackSimBinArray< T >::ConstIterator::m_itrdata
private

Definition at line 196 of file FPGATrackSimBinArray.h.


The documentation for this struct was generated from the following file:
FPGATrackSimBinArray::ConstIterator::m_itrdata
const FPGATrackSimBinArray< T > & m_itrdata
Definition: FPGATrackSimBinArray.h:196
FPGATrackSimBinArray::ConstIterator::ConstIterator
ConstIterator(const std::vector< unsigned int > &idx, const FPGATrackSimBinArray< T > &itrdata)
Definition: FPGATrackSimBinArray.h:146
lumiFormat.i
int i
Definition: lumiFormat.py:85
FPGATrackSimBinArray::ConstIterator::idx
const std::vector< unsigned int > & idx() const
Definition: FPGATrackSimBinArray.h:174
DeMoUpdate.tmp
string tmp
Definition: DeMoUpdate.py:1167
FPGATrackSimBinArray::ConstIterator::m_idx
std::vector< unsigned int > m_idx
Definition: FPGATrackSimBinArray.h:189
plotBeamSpotMon.b
b
Definition: plotBeamSpotMon.py:76
a
TList * a
Definition: liststreamerinfos.cxx:10