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 | 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 126 of file FPGATrackSimBinArray.h.

Member Typedef Documentation

◆ container_type

Definition at line 130 of file FPGATrackSimBinArray.h.

◆ difference_type

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

Definition at line 131 of file FPGATrackSimBinArray.h.

◆ iterator_category

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

Definition at line 129 of file FPGATrackSimBinArray.h.

◆ pointer

Definition at line 132 of file FPGATrackSimBinArray.h.

◆ reference

Definition at line 133 of file FPGATrackSimBinArray.h.

◆ value_type

Definition at line 128 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 136 of file FPGATrackSimBinArray.h.

138  : m_idx(idx), m_itrdata(itrdata) {
139  if (m_idx.size() != m_itrdata.dims().size()) {
140  throw std::runtime_error(
141  "FPGATrackSimBinArray::Interator array size mismatch in "
142  "constructor");
143  }
144  }

Member Function Documentation

◆ data()

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

Definition at line 165 of file FPGATrackSimBinArray.h.

165 { return m_itrdata[m_idx]; }

◆ idx()

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

Definition at line 164 of file FPGATrackSimBinArray.h.

164 { return m_idx; }

◆ operator*()

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

Definition at line 146 of file FPGATrackSimBinArray.h.

146 { return *this; }

◆ operator++() [1/2]

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

Definition at line 150 of file FPGATrackSimBinArray.h.

151  {
152  ++m_idx.at(0);
153  for (unsigned int i = 0; i < m_idx.size() - 1; i++)
154  {
155  if (m_idx.at(i) >= m_itrdata.dims().at(i))
156  {
157  ++m_idx.at(i + 1);
158  m_idx.at(i) = 0;
159  }
160  }
161  return *this;
162  }

◆ operator++() [2/2]

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

Definition at line 168 of file FPGATrackSimBinArray.h.

169  {
170  ConstIterator tmp = *this;
171  ++(*this);
172  return tmp;
173  }

◆ operator->()

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

Definition at line 147 of file FPGATrackSimBinArray.h.

147 { return this; }

Friends And Related Function Documentation

◆ operator!=

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

Definition at line 176 of file FPGATrackSimBinArray.h.

177  {
178  return a.m_idx != b.m_idx;
179  };

◆ operator==

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

Definition at line 175 of file FPGATrackSimBinArray.h.

175 { 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 183 of file FPGATrackSimBinArray.h.

◆ m_itrdata

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

Definition at line 186 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:186
FPGATrackSimBinArray::ConstIterator::ConstIterator
ConstIterator(const std::vector< unsigned int > &idx, const FPGATrackSimBinArray< T > &itrdata)
Definition: FPGATrackSimBinArray.h:136
lumiFormat.i
int i
Definition: lumiFormat.py:85
FPGATrackSimBinArray::ConstIterator::idx
const std::vector< unsigned int > & idx() const
Definition: FPGATrackSimBinArray.h:164
DeMoUpdate.tmp
string tmp
Definition: DeMoUpdate.py:1167
FPGATrackSimBinArray::ConstIterator::m_idx
std::vector< unsigned int > m_idx
Definition: FPGATrackSimBinArray.h:179
plotBeamSpotMon.b
b
Definition: plotBeamSpotMon.py:77
a
TList * a
Definition: liststreamerinfos.cxx:10