Chapter 29 Iterator
Iterator is an class used to access elements of
List. If you want to use algorithms provided by standard C++, you need to understand iterator. Because many of the algorithms provided by standard C++ use iterators to specify location or range of data to apply the algorithms.
Specific iterator type is defined for each data structure of Rcpp.
NumericVector::iterator IntegerVector::iterator LogicalVector::iterator CharacterVector::iterator DataFrame::iterator List::iterator
The figure below shows schematically how to access vector elements using an iterator.
i = v.begin(): The iterator
ipoints to the first element of
ito the state pointing to the next element.
ito the state pointing to the previous element.
i + 1: Represents the iterator pointing to the next element (one element after
i - 1: Represents the iterator pointing to the previous element (one element before
*i: Represents the value of the element pointed by
v.end(): Represents an iterator pointing to the end (one after the last element) of
*(v.begin()+k): Represents the value of the
k-th element of
The following code example shows an example of traversing all the elements of a
NumericVector using iterator to calculate sum of the elements.