#include "diplib/distribution.h"
template<typename T>
IteratorTemplate class
An iterator for dip::Distribution. Dereferences into a Sample or a ConstSample (the value of T).
Contents
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
nelements - 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
indexelements -
template<typename I, typename <SFINAE>>auto operator-(I n) -> dip::Distribution::IteratorTemplate
- Returns new iterator moved backward by
nelements - 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
indexelements - 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
indexvalues 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
template<typename I, typename <SFINAE>>
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)
template<typename I, typename <SFINAE>>
Move iterator forward by index elements
template<typename T>
template<typename I, typename <SFINAE>>
dip::Distribution::IteratorTemplate&
operator-=(
I index)
template<typename I, typename <SFINAE>>
Move iterator backward by index elements
template<typename T>
template<typename I, typename <SFINAE>>
dip::Distribution::IteratorTemplate
operator+(
I n)
template<typename I, typename <SFINAE>>
Returns new iterator moved forward by n elements
template<typename T>
template<typename I, typename <SFINAE>>
dip::Distribution::IteratorTemplate
operator-(
I n)
template<typename I, typename <SFINAE>>
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