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