QuantLib: a free/open-source library for quantitative finance
fully annotated source code - version 1.38
|
Iterator advancing in constant steps. More...
#include <steppingiterator.hpp>
Public Types | |
using | iterator_category = typename std::iterator_traits< Iterator >::iterator_category |
using | difference_type = typename std::iterator_traits< Iterator >::difference_type |
using | value_type = typename std::iterator_traits< Iterator >::value_type |
using | pointer = typename std::iterator_traits< Iterator >::pointer |
using | reference = typename std::iterator_traits< Iterator >::reference |
Public Member Functions | |
step_iterator ()=default | |
step_iterator (const Iterator &base, Size step) | |
template<class OtherIterator > | |
step_iterator (const step_iterator< OtherIterator > &i, std::enable_if_t< std::is_convertible_v< OtherIterator, Iterator > > *=nullptr) | |
Size | step () const |
step_iterator & | operator= (const step_iterator &other)=default |
step_iterator & | operator++ () |
step_iterator | operator++ (int) |
reference | operator* () const |
step_iterator & | operator-- () |
step_iterator | operator-- (int) |
step_iterator & | operator+= (Size n) |
step_iterator & | operator-= (Size n) |
reference | operator[] (Size n) const |
Private Attributes | |
Iterator | base_ {} |
BigInteger | step_ {} |
Friends | |
step_iterator | operator+ (const step_iterator &i, Size n) |
step_iterator | operator+ (Size n, const step_iterator &i) |
step_iterator | operator- (const step_iterator &i, Size n) |
difference_type | operator- (const step_iterator &lhs, const step_iterator &rhs) |
bool | operator== (const step_iterator &lhs, const step_iterator &rhs) |
bool | operator!= (const step_iterator &lhs, const step_iterator &rhs) |
bool | operator< (const step_iterator &lhs, const step_iterator &rhs) |
bool | operator> (const step_iterator &lhs, const step_iterator &rhs) |
bool | operator<= (const step_iterator &lhs, const step_iterator &rhs) |
bool | operator>= (const step_iterator &lhs, const step_iterator &rhs) |
Related Functions | |
(Note that these are not member functions.) | |
template<class Iterator > | |
step_iterator< Iterator > | make_step_iterator (Iterator it, Size step) |
helper function to create step iterators More... | |
Iterator advancing in constant steps.
This iterator advances an underlying random-access iterator in steps of \( n \) positions, where \( n \) is a positive integer given upon construction.
Definition at line 44 of file steppingiterator.hpp.
using iterator_category = typename std::iterator_traits<Iterator>::iterator_category |
Definition at line 51 of file steppingiterator.hpp.
using difference_type = typename std::iterator_traits<Iterator>::difference_type |
Definition at line 52 of file steppingiterator.hpp.
using value_type = typename std::iterator_traits<Iterator>::value_type |
Definition at line 53 of file steppingiterator.hpp.
using pointer = typename std::iterator_traits<Iterator>::pointer |
Definition at line 54 of file steppingiterator.hpp.
using reference = typename std::iterator_traits<Iterator>::reference |
Definition at line 55 of file steppingiterator.hpp.
|
default |
|
explicit |
Definition at line 59 of file steppingiterator.hpp.
step_iterator | ( | const step_iterator< OtherIterator > & | i, |
std::enable_if_t< std::is_convertible_v< OtherIterator, Iterator > > * | = nullptr |
||
) |
Definition at line 63 of file steppingiterator.hpp.
Size step | ( | ) | const |
Definition at line 68 of file steppingiterator.hpp.
|
default |
step_iterator & operator++ | ( | ) |
Definition at line 72 of file steppingiterator.hpp.
step_iterator operator++ | ( | int | ) |
Definition at line 77 of file steppingiterator.hpp.
reference operator* | ( | ) | const |
Definition at line 83 of file steppingiterator.hpp.
step_iterator & operator-- | ( | ) |
Definition at line 87 of file steppingiterator.hpp.
step_iterator operator-- | ( | int | ) |
Definition at line 92 of file steppingiterator.hpp.
step_iterator & operator+= | ( | Size | n | ) |
Definition at line 98 of file steppingiterator.hpp.
step_iterator & operator-= | ( | Size | n | ) |
Definition at line 103 of file steppingiterator.hpp.
Definition at line 108 of file steppingiterator.hpp.
|
friend |
Definition at line 112 of file steppingiterator.hpp.
|
friend |
Definition at line 116 of file steppingiterator.hpp.
|
friend |
Definition at line 120 of file steppingiterator.hpp.
|
friend |
Definition at line 124 of file steppingiterator.hpp.
|
friend |
Definition at line 131 of file steppingiterator.hpp.
|
friend |
Definition at line 135 of file steppingiterator.hpp.
|
friend |
Definition at line 139 of file steppingiterator.hpp.
|
friend |
Definition at line 146 of file steppingiterator.hpp.
|
friend |
Definition at line 153 of file steppingiterator.hpp.
|
friend |
Definition at line 160 of file steppingiterator.hpp.
|
related |
helper function to create step iterators
Definition at line 171 of file steppingiterator.hpp.
|
private |
Definition at line 46 of file steppingiterator.hpp.
|
private |
Definition at line 48 of file steppingiterator.hpp.