QuantLib: a free/open-source library for quantitative finance
Reference manual - version 1.40
Loading...
Searching...
No Matches
step_iterator< Iterator > Class Template Reference

Iterator advancing in constant steps. More...

#include <ql/utilities/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 (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_iteratoroperator= (const step_iterator &other)=default
step_iteratoroperator++ ()
step_iterator operator++ (int)
reference operator* () const
step_iteratoroperator-- ()
step_iterator operator-- (int)
step_iteratoroperator+= (Size n)
step_iteratoroperator-= (Size n)
reference operator[] (Size n) const

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)

(Note that these are not member symbols.)

template<class Iterator>
step_iterator< Iterator > make_step_iterator (Iterator it, Size step)
 helper function to create step iterators

Detailed Description

template<class Iterator>
class QuantLib::step_iterator< Iterator >

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.