Sierra Toolkit  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
stk_classic::util::nested_range< OuterRange, InnerRange, OuterToInnerConverter > Class Template Reference

#include <nested_range.hpp>

Public Types

typedef OuterRange outer_range
 
typedef InnerRange inner_range
 
typedef OuterToInnerConverter converter_type
 
typedef nested_iterator
< outer_range, inner_range,
converter_type > 
iterator
 
typedef nested_iterator
< typename boost::add_const
< outer_range >::type,
inner_range, converter_type > 
const_iterator
 

Public Member Functions

 BOOST_MPL_ASSERT ((boost::has_range_iterator< outer_range >))
 
 BOOST_MPL_ASSERT ((boost::has_range_iterator< inner_range >))
 
 nested_range (outer_range &outer, converter_type converter=converter_type())
 
iterator begin ()
 
const_iterator begin () const
 
iterator end ()
 
const_iterator end () const
 

Detailed Description

template<typename OuterRange, typename InnerRange = typename boost::range_value<OuterRange>::type, typename OuterToInnerConverter = details::identity< typename boost::mpl::if_< typename boost::is_same<InnerRange, typename boost::range_value<OuterRange>::type>, InnerRange, void >::type >>
class stk_classic::util::nested_range< OuterRange, InnerRange, OuterToInnerConverter >

nested_range is a forward range that flattens iteration over ranges of ranges

Definition at line 42 of file nested_range.hpp.


The documentation for this class was generated from the following file: