# Poco::Data

# class RowIterator

Library: Data
Package: DataCore
Header: Poco/Data/RowIterator.h

## Description

RowIterator class.

## Member Summary

Member Functions: operator !=, operator *, operator +, operator ++, operator -, operator --, operator =, operator ==, operator->, swap

## Types Aliases

### difference_type

using difference_type = std::ptrdiff_t;

### iterator_category

using iterator_category = std::bidirectional_iterator_tag;

### pointer

using pointer = Row *;

### reference

using reference = Row &;

### value_type

using value_type = Row;

## Constructors

### RowIterator

RowIterator(
const RowIterator & other
);

Creates a copy of other RowIterator.

### RowIterator

RowIterator(
RowIterator && other
) noexcept;

Move constructor.

### RowIterator

RowIterator(
RecordSet * pRecordSet,
bool positionEnd
);

Creates the RowIterator and positions it at the end of the recordset if positionEnd is true. Otherwise, it is positioned at the beginning.

## Destructor

### ~RowIterator

~RowIterator();

Destroys the RowIterator.

## Member Functions

### operator !=

bool operator != (
const RowIterator & other
) const;

Inequality operator.

### operator *

Row & operator * () const;

Returns reference to the current row.

### operator +

RowIterator operator + (
std::size_t diff
) const;

Returns a copy the RowIterator advanced by diff positions.

### operator ++

const RowIterator & operator ++ () const;

Advances by one position and returns current position.

### operator ++

RowIterator operator ++ (
int
) const;

Advances by one position and returns copy of the iterator with previous current position.

### operator -

RowIterator operator - (
std::size_t diff
) const;

Returns a copy the RowIterator backed by diff positions. Throws RangeException if diff is larger than current position.

### operator --

const RowIterator & operator -- () const;

Goes back by one position and returns copy of the iterator with previous current position.

### operator --

RowIterator operator -- (
int
) const;

Goes back by one position and returns previous current position.

### operator =

RowIterator & operator = (
const RowIterator & other
);

Assigns the other RowIterator.

### operator =

RowIterator & operator = (
RowIterator && other
) noexcept;

Move assignment.

### operator ==

bool operator == (
const RowIterator & other
) const;

Equality operator.

### operator->

Row * operator-> () const;

Returns pointer to the current row.

### swap

void swap(
RowIterator & other
) noexcept;

Swaps the RowIterator with another one.

## Variables

### POSITION_END

static const std::size_t POSITION_END;

End position indicator.