ARTS  2.4.0(git:4fb77825)
ConstIterator1D Class Reference

The constant iterator class for sub vectors. More...

#include <matpackI.h>

Public Types

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

Public Member Functions

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

Private Attributes

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

Friends

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

Detailed Description

The constant iterator class for sub vectors.

This takes into account the defined stride.

Definition at line 420 of file matpackI.h.

Member Typedef Documentation

◆ difference_type

Definition at line 422 of file matpackI.h.

◆ iterator_category

using ConstIterator1D::iterator_category = std::random_access_iterator_tag

Definition at line 426 of file matpackI.h.

◆ pointer

Definition at line 424 of file matpackI.h.

◆ reference

Definition at line 425 of file matpackI.h.

◆ value_type

Definition at line 423 of file matpackI.h.

Constructor & Destructor Documentation

◆ ConstIterator1D() [1/2]

ConstIterator1D::ConstIterator1D ( )
default

Default constructor.

◆ ConstIterator1D() [2/2]

ConstIterator1D::ConstIterator1D ( const Numeric x,
Index  stride 
)
inline

Explicit constructor.

Definition at line 432 of file matpackI.h.

Member Function Documentation

◆ operator!=()

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

Not equal operator, needed for algorithms like copy.

Definition at line 447 of file matpackI.h.

References mx.

◆ operator*()

const Numeric& ConstIterator1D::operator* ( ) const
inline

Dereferencing.

Definition at line 444 of file matpackI.h.

References mx.

◆ operator++()

ConstIterator1D& ConstIterator1D::operator++ ( )
inline

Prefix increment operator.

Definition at line 438 of file matpackI.h.

References mstride, and mx.

Friends And Related Function Documentation

◆ copy

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

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 ConstIterator1D::mstride {0}
private

Stride.

Definition at line 462 of file matpackI.h.

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

◆ mx

const Numeric* ConstIterator1D::mx {nullptr}
private

Current position.

Definition at line 460 of file matpackI.h.

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


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