Sierra Toolkit Version of the Day
stk::util::nested_iterator< OuterIterator, InnerIterator, OuterValueToInnerRange > Class Template Reference

#include <nested_iterator.hpp>

List of all members.

Public Types

typedef OuterIterator outer_iterator
typedef InnerIterator inner_iterator
typedef OuterValueToInnerRange outer_value_to_inner_range
typedef boost::iterator_range
< outer_iterator > 
typedef boost::iterator_range
< inner_iterator > 

Public Member Functions

 nested_iterator (const outer_range_type &outer_range, const outer_value_to_inner_range converter)


class boost::iterator_core_access

Detailed Description

template<typename OuterIterator, typename InnerIterator, typename OuterValueToInnerRange>
class stk::util::nested_iterator< OuterIterator, InnerIterator, OuterValueToInnerRange >

nested_iterator is a forward iterator that flattens iteration over ranges of ranges

Both OuterIterator and InnerIterator must support forward_traversal.


struct OuterValueToInnerRange { typedef ... value_type; typedef ... result_type;

result_type operator()(const value_type & value) { return ...; } };

iterator_value<OuterIterator>::type is convertible to OuterValueToInnerRange::value_type

OuterValueToInnerRange::result_type is convertible to boost::iterator_range<InnerIterator>

Definition at line 39 of file nested_iterator.hpp.

The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends