template<typename T>
dip::Distribution::IteratorTemplate class

An iterator for dip::Distribution. Dereferences into a Sample or a ConstSample (the value of T).

Constructors, destructors, assignment and conversion operators

IteratorTemplate() deleted
Not default constructable.
IteratorTemplate(dip::Distribution::IteratorTemplate&& ) defaulted
Move constructor.
IteratorTemplate(dip::Distribution::IteratorTemplate const& ) defaulted
Copy constructor.
auto operator=(dip::Distribution::IteratorTemplate&& other) -> dip::Distribution::IteratorTemplate& noexcept
Move assignment, identical to copy assignment.
auto operator=(dip::Distribution::IteratorTemplate const& other) -> dip::Distribution::IteratorTemplate& noexcept
Copy assignment.

Aliases

using difference_type = dip::sint
The type of difference between iterators.
using iterator_category = std::random_access_iterator_tag
Iterator category.
using pointer = dip::Distribution::IteratorTemplate::value_type*
The type of a pointer to a sample.
using reference = dip::Distribution::IteratorTemplate::value_type&
The type of a reference to a sample.
using value_type = T
The data type obtained when dereferencing the iterator.

Operators

auto operator!=(dip::Distribution::IteratorTemplate const& other) const -> bool
Inequality comparison.
auto operator*() -> dip::Distribution::IteratorTemplate::value_type& noexcept
Dereference.
template<typename I, typename <SFINAE>>
auto operator+(I n) -> dip::Distribution::IteratorTemplate
Returns new iterator moved forward by n elements.
auto operator++() -> dip::Distribution::IteratorTemplate&
Pre-increment.
auto operator++(int ) -> dip::Distribution::IteratorTemplate
Post-increment.
template<typename I, typename <SFINAE>>
auto operator+=(I index) -> dip::Distribution::IteratorTemplate&
Move iterator forward by index elements.
template<typename I, typename <SFINAE>>
auto operator-(I n) -> dip::Distribution::IteratorTemplate
Returns new iterator moved backward by n elements.
auto operator-(dip::Distribution::IteratorTemplate const& it) const -> dip::Distribution::IteratorTemplate::difference_type
Returns distance between two iterators.
auto operator--() -> dip::Distribution::IteratorTemplate&
Pre-decrement.
auto operator--(int ) -> dip::Distribution::IteratorTemplate
Post-decrement.
template<typename I, typename <SFINAE>>
auto operator-=(I index) -> dip::Distribution::IteratorTemplate&
Move iterator backward by index elements.
auto operator->() -> dip::Distribution::IteratorTemplate::value_type* noexcept
Dereference.
auto operator==(dip::Distribution::IteratorTemplate const& other) const -> bool
Equality comparison.
template<typename I, typename <SFINAE>>
auto operator[](I index) const -> dip::Distribution::IteratorTemplate::value_type
Return sample index values away from the current location.

Alias documentation

template<typename T>
using iterator_category = std::random_access_iterator_tag

Iterator category.

template<typename T>
using value_type = T

The data type obtained when dereferencing the iterator.

template<typename T>
using difference_type = dip::sint

The type of difference between iterators.

template<typename T>
using reference = dip::Distribution::IteratorTemplate::value_type&

The type of a reference to a sample.

template<typename T>
using pointer = dip::Distribution::IteratorTemplate::value_type*

The type of a pointer to a sample.

Function documentation

template<typename T>
IteratorTemplate( ) deleted

Not default constructable.

template<typename T>
IteratorTemplate( dip::Distribution::IteratorTemplate&& ) defaulted

Move constructor.

template<typename T>
IteratorTemplate( dip::Distribution::IteratorTemplate const& ) defaulted

Copy constructor.

template<typename T>
dip::Distribution::IteratorTemplate& operator=( dip::Distribution::IteratorTemplate&& other) noexcept

Move assignment, identical to copy assignment.

template<typename T>
dip::Distribution::IteratorTemplate& operator=( dip::Distribution::IteratorTemplate const& other) noexcept

Copy assignment.

template<typename T>
dip::Distribution::IteratorTemplate::value_type& operator*( ) noexcept

Dereference.

template<typename T>
dip::Distribution::IteratorTemplate::value_type* operator->( ) noexcept

Dereference.

template<typename T>
template<typename I, typename <SFINAE>>
dip::Distribution::IteratorTemplate::value_type operator[]( I index) const

Return sample index values away from the current location.

template<typename T>
dip::Distribution::IteratorTemplate& operator++( )

Pre-increment.

template<typename T>
dip::Distribution::IteratorTemplate& operator--( )

Pre-decrement.

template<typename T>
dip::Distribution::IteratorTemplate operator++( int )

Post-increment.

template<typename T>
dip::Distribution::IteratorTemplate operator--( int )

Post-decrement.

template<typename T>
template<typename I, typename <SFINAE>>
dip::Distribution::IteratorTemplate& operator+=( I index)

Move iterator forward by index elements.

template<typename T>
template<typename I, typename <SFINAE>>
dip::Distribution::IteratorTemplate& operator-=( I index)

Move iterator backward by index elements.

template<typename T>
template<typename I, typename <SFINAE>>
dip::Distribution::IteratorTemplate operator+( I n)

Returns new iterator moved forward by n elements.

template<typename T>
template<typename I, typename <SFINAE>>
dip::Distribution::IteratorTemplate operator-( I n)

Returns new iterator moved backward by n elements.

template<typename T>
dip::Distribution::IteratorTemplate::difference_type operator-( dip::Distribution::IteratorTemplate const& it) const

Returns distance between two iterators.

template<typename T>
bool operator==( dip::Distribution::IteratorTemplate const& other) const

Equality comparison.

template<typename T>
bool operator!=( dip::Distribution::IteratorTemplate const& other) const

Inequality comparison.