ArmNN
 20.08
PerAxisIterator< T, Base > Class Template Reference

#include <BaseIterator.hpp>

Inheritance diagram for PerAxisIterator< T, Base >:

Public Member Functions

 PerAxisIterator (T *data=nullptr, unsigned int axisFactor=0)
 
PerAxisIteratorSetIndex (unsigned int index, unsigned int axisIndex) override
 
void Reset (void *data) override
 
PerAxisIteratoroperator++ () override
 
PerAxisIteratoroperator+= (const unsigned int increment) override
 
PerAxisIteratoroperator-= (const unsigned int decrement) override
 
PerAxisIteratoroperator[] (const unsigned int index) override
 

Protected Attributes

T * m_Iterator
 
T * m_Start
 
unsigned int m_AxisIndex
 
unsigned int m_AxisFactor
 

Detailed Description

template<typename T, typename Base>
class armnn::PerAxisIterator< T, Base >

Definition at line 530 of file BaseIterator.hpp.

Constructor & Destructor Documentation

◆ PerAxisIterator()

PerAxisIterator ( T *  data = nullptr,
unsigned int  axisFactor = 0 
)
inline

Definition at line 534 of file BaseIterator.hpp.

535  : m_Iterator(data), m_Start(data), m_AxisIndex(0), m_AxisFactor(axisFactor)
536  {}

Member Function Documentation

◆ operator++()

PerAxisIterator& operator++ ( )
inlineoverride

Definition at line 554 of file BaseIterator.hpp.

555  {
557  ++m_Iterator;
558  m_AxisIndex = static_cast<unsigned int>(*m_Iterator) % m_AxisFactor;
559  return *this;
560  }
#define ARMNN_ASSERT(COND)
Definition: Assert.hpp:14

◆ operator+=()

PerAxisIterator& operator+= ( const unsigned int  increment)
inlineoverride

Definition at line 562 of file BaseIterator.hpp.

563  {
565  m_Iterator += increment;
566  m_AxisIndex = static_cast<unsigned int>(*m_Iterator) % m_AxisFactor;
567  return *this;
568  }
#define ARMNN_ASSERT(COND)
Definition: Assert.hpp:14

◆ operator-=()

PerAxisIterator& operator-= ( const unsigned int  decrement)
inlineoverride

Definition at line 570 of file BaseIterator.hpp.

571  {
573  m_Iterator -= decrement;
574  m_AxisIndex = static_cast<unsigned int>(*m_Iterator) % m_AxisFactor;
575  return *this;
576  }
#define ARMNN_ASSERT(COND)
Definition: Assert.hpp:14

◆ operator[]()

PerAxisIterator& operator[] ( const unsigned int  index)
inlineoverride

Definition at line 578 of file BaseIterator.hpp.

579  {
581  m_Iterator = m_Start + index;
582  m_AxisIndex = static_cast<unsigned int>(*m_Iterator) % m_AxisFactor;
583  return *this;
584  }
#define ARMNN_ASSERT(COND)
Definition: Assert.hpp:14

◆ Reset()

void Reset ( void *  data)
inlineoverride

Definition at line 547 of file BaseIterator.hpp.

548  {
549  m_Iterator = reinterpret_cast<T*>(data);
551  m_AxisIndex = 0;
552  }

◆ SetIndex()

PerAxisIterator& SetIndex ( unsigned int  index,
unsigned int  axisIndex 
)
inlineoverride

Definition at line 539 of file BaseIterator.hpp.

540  {
542  m_Iterator = m_Start + index;
543  m_AxisIndex = axisIndex;
544  return *this;
545  }
#define ARMNN_ASSERT(COND)
Definition: Assert.hpp:14

Member Data Documentation

◆ m_AxisFactor

unsigned int m_AxisFactor
protected

Definition at line 590 of file BaseIterator.hpp.

◆ m_AxisIndex

unsigned int m_AxisIndex
protected

Definition at line 589 of file BaseIterator.hpp.

◆ m_Iterator

T* m_Iterator
protected

Definition at line 587 of file BaseIterator.hpp.

◆ m_Start

T* m_Start
protected

Definition at line 588 of file BaseIterator.hpp.


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