|
Blender V5.0
|
#include <BLI_random_access_iterator_mixin.hh>
Public Types | |
| using | iterator_category = std::random_access_iterator_tag |
| using | difference_type = std::ptrdiff_t |
Public Member Functions | |
| constexpr decltype(auto) | operator[] (const std::ptrdiff_t i) |
| constexpr decltype(auto) | operator[] (const std::ptrdiff_t i) const |
| auto & | iter_prop_mutable () |
Friends | |
| constexpr friend Derived & | operator++ (Derived &a) |
| constexpr friend Derived | operator++ (Derived &a, int) |
| constexpr friend Derived & | operator-- (Derived &a) |
| constexpr friend Derived | operator-- (Derived &a, int) |
| constexpr friend Derived & | operator+= (Derived &a, const std::ptrdiff_t n) |
| constexpr friend Derived & | operator-= (Derived &a, const std::ptrdiff_t n) |
| constexpr friend Derived | operator+ (const Derived &a, const std::ptrdiff_t n) |
| constexpr friend Derived | operator- (const Derived &a, const std::ptrdiff_t n) |
| constexpr friend auto | operator- (const Derived &a, const Derived &b) |
| constexpr friend bool | operator!= (const Derived &a, const Derived &b) |
| constexpr friend bool | operator== (const Derived &a, const Derived &b) |
| constexpr friend bool | operator< (const Derived &a, const Derived &b) |
| constexpr friend bool | operator> (const Derived &a, const Derived &b) |
| constexpr friend bool | operator<= (const Derived &a, const Derived &b) |
| constexpr friend bool | operator>= (const Derived &a, const Derived &b) |
Simplifies implementing a random-access-iterator.
The actual iterator should derive from this class publicly. Additionally, it has to provide a const iter_prop method which returns a reference to the internal property that corresponds to the current position. This is typically a pointer or an index.
Implementing some random-access-iterator is generally quite simple but requires a lot of boilerplate code because algorithms expect many operators to work on the iterator type. They are expected to behave similarly to pointers and thus have to implement many of the same operators.
Definition at line 27 of file BLI_random_access_iterator_mixin.hh.
| using blender::iterator::RandomAccessIteratorMixin< Derived >::difference_type = std::ptrdiff_t |
Definition at line 30 of file BLI_random_access_iterator_mixin.hh.
| using blender::iterator::RandomAccessIteratorMixin< Derived >::iterator_category = std::random_access_iterator_tag |
Definition at line 29 of file BLI_random_access_iterator_mixin.hh.
|
inline |
Definition at line 129 of file BLI_random_access_iterator_mixin.hh.
|
inlineconstexpr |
Definition at line 119 of file BLI_random_access_iterator_mixin.hh.
References i.
|
inlineconstexpr |
Definition at line 124 of file BLI_random_access_iterator_mixin.hh.
References i.
|
friend |
Definition at line 89 of file BLI_random_access_iterator_mixin.hh.
References b.
|
friend |
Definition at line 70 of file BLI_random_access_iterator_mixin.hh.
References copy().
|
friend |
Definition at line 32 of file BLI_random_access_iterator_mixin.hh.
|
friend |
Definition at line 38 of file BLI_random_access_iterator_mixin.hh.
References copy().
|
friend |
Definition at line 58 of file BLI_random_access_iterator_mixin.hh.
|
friend |
Definition at line 84 of file BLI_random_access_iterator_mixin.hh.
References b.
|
friend |
Definition at line 77 of file BLI_random_access_iterator_mixin.hh.
References copy().
|
friend |
Definition at line 45 of file BLI_random_access_iterator_mixin.hh.
|
friend |
Definition at line 51 of file BLI_random_access_iterator_mixin.hh.
References copy().
|
friend |
Definition at line 64 of file BLI_random_access_iterator_mixin.hh.
|
friend |
Definition at line 99 of file BLI_random_access_iterator_mixin.hh.
References b.
|
friend |
Definition at line 109 of file BLI_random_access_iterator_mixin.hh.
References b.
|
friend |
Definition at line 94 of file BLI_random_access_iterator_mixin.hh.
References b.
|
friend |
Definition at line 104 of file BLI_random_access_iterator_mixin.hh.
References b.
|
friend |
Definition at line 114 of file BLI_random_access_iterator_mixin.hh.
References b.