ARTS  2.4.0(git:4fb77825)
Iterator1D Class Reference

The iterator class for sub vectors. More...

#include <matpackI.h>

Public Types

using difference_type = Index
 
using value_type = Numeric
 
using pointer = Numeric *
 
using reference = Numeric &
 
using iterator_category = std::random_access_iterator_tag
 

Public Member Functions

 Iterator1D ()=default
 Default constructor. More...
 
 Iterator1D (Numeric *x, Index stride)
 Explicit constructor. More...
 
Iterator1Doperator++ ()
 Prefix increment operator. More...
 
Numericoperator* () const
 Dereferencing. More...
 
bool operator!= (const Iterator1D &other) const
 Not equal operator, needed for algorithms like copy. More...
 

Private Attributes

Numericmx {nullptr}
 Current position. More...
 
Index mstride {0}
 Stride. More...
 

Friends

void copy (ConstIterator1D origin, const ConstIterator1D &end, Iterator1D target)
 Copy data between begin and end to target. More...
 

Detailed Description

The iterator class for sub vectors.

This takes into account the defined stride.

Definition at line 360 of file matpackI.h.

Member Typedef Documentation

◆ difference_type

Definition at line 362 of file matpackI.h.

◆ iterator_category

using Iterator1D::iterator_category = std::random_access_iterator_tag

Definition at line 366 of file matpackI.h.

◆ pointer

Definition at line 364 of file matpackI.h.

◆ reference

Definition at line 365 of file matpackI.h.

◆ value_type

Definition at line 363 of file matpackI.h.

Constructor & Destructor Documentation

◆ Iterator1D() [1/2]

Iterator1D::Iterator1D ( )
default

Default constructor.

◆ Iterator1D() [2/2]

Iterator1D::Iterator1D ( Numeric x,
Index  stride 
)
inline

Explicit constructor.

Definition at line 372 of file matpackI.h.

Member Function Documentation

◆ operator!=()

bool Iterator1D::operator!= ( const Iterator1D other) const
inline

Not equal operator, needed for algorithms like copy.

Definition at line 388 of file matpackI.h.

References mx.

◆ operator*()

Numeric& Iterator1D::operator* ( ) const
inline

Dereferencing.

Definition at line 385 of file matpackI.h.

References mx.

◆ operator++()

Iterator1D& Iterator1D::operator++ ( )
inline

Prefix increment operator.

Definition at line 379 of file matpackI.h.

References mstride, and mx.

Friends And Related Function Documentation

◆ copy

void copy ( ConstIterator1D  origin,
const ConstIterator1D end,
Iterator1D  target 
)
friend

Copy data between begin and end to target.

Target must be a valid area of memory. Note that the strides in the iterators can be different, so that we can for example copy data between different kinds of subvectors.

Definition at line 302 of file matpackI.cc.

Member Data Documentation

◆ mstride

Index Iterator1D::mstride {0}
private

Stride.

Definition at line 415 of file matpackI.h.

Referenced by copy(), and operator++().

◆ mx

Numeric* Iterator1D::mx {nullptr}
private

Current position.

Definition at line 413 of file matpackI.h.

Referenced by copy(), operator!=(), operator*(), and operator++().


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