![]() |
Ultra 0.9.4
|
#include <layered_population.h>
Public Types | |
| using | iterator_category = std::forward_iterator_tag |
| using | value_type = I |
| using | pointer = value_type * |
| using | const_pointer = const value_type * |
| using | reference = value_type & |
| using | const_reference = const value_type & |
| using | difference_type = std::ptrdiff_t |
| using | ptr = std::conditional_t<is_const, const_pointer, pointer> |
| using | ref = std::conditional_t<is_const, const_reference, reference> |
| using | pop |
| using | itr |
Public Member Functions | |
| base_iterator (pop &p, bool begin) noexcept | |
| base_iterator & | operator++ () noexcept |
| base_iterator | operator++ (int) noexcept |
| bool | operator== (const base_iterator &other) const noexcept |
| std::size_t | uid () const noexcept |
| layered_population< I >::coord | coord () const noexcept |
| ref | operator* () const noexcept |
| ptr | operator-> () const noexcept |
Friends | |
| std::ostream & | operator<< (std::ostream &out, const base_iterator &i) |
Iterator for scanning individuals of a layered population.
| using ultra::layered_population< I >::base_iterator< is_const >::itr |
| using ultra::layered_population< I >::base_iterator< is_const >::pop |
|
inlinenoexcept |
| [in] | p | a population |
| [in] | begin | false for the end() iterator |
|
inlinenodiscardnoexcept |
|
inlinenoexcept |
Prefix increment operator.
|
inlinenoexcept |
Postfix increment operator.
|
inlinenodiscardnoexcept |
|
inlinenodiscardnoexcept |
Equality is intentionally defined only in terms of the current layer iterator and offset within that layer. We do not default this comparison because cached implementation details that do not identify the position could make two independently-created iterators to the same individual compare unequal, violating the multi-pass guarantee required by forward iterators.