Embedded Template Library 1.0
Loading...
Searching...
No Matches
etl::multi_range< T > Class Template Reference

#include <multi_range.h>

Classes

struct  step_type
struct  forward_step
struct  forward_step_by
struct  reverse_step
struct  reverse_step_by
struct  compare_type
struct  not_equal_compare
struct  less_than_compare
struct  greater_than_compare

Public Types

typedef T value_type
typedef const T & const_reference

Public Member Functions

 multi_range (value_type first_, value_type last_)
 multi_range (value_type first_, value_type last_, step_type &stepper_)
 multi_range (value_type first_, value_type last_, compare_type &compare_)
 multi_range (value_type first_, value_type last_, step_type &stepper_, compare_type &compare_)
const_reference begin ()
 Get a const reference to the starting value of the range.
const_reference end ()
void start () ETL_OVERRIDE
 Initialises the ranges to the starting values.
void next () ETL_OVERRIDE
 Step to the next logical values in the ranges.
const_reference value () const
 Returns a const reference to the current range value.
Public Member Functions inherited from etl::imulti_range
imulti_rangeinsert (imulti_range &inner_range)
 Insert after this range.
imulti_rangeappend (imulti_range &inner_range)
 Append to the most inner range.
void detach ()
 Unlinks this range from its inner.
void detach_all ()
 Unlinks this and all inner ranges.
bool completed () const
size_t number_of_ranges () const
 Gets the total number of ranges, from this range inclusive.
size_t number_of_iterations ()
 Gets the total number of iterations over all ranges, from this range inclusive.

Additional Inherited Members

Protected Member Functions inherited from etl::imulti_range
 imulti_range ()
 Constructor.
bool is_valid (imulti_range &inner_range)
 Checks that there are no circular references.
void set_last (imulti_range *next)
 Set the inner range of the last linked range.
Protected Attributes inherited from etl::imulti_range
bool has_completed
imulti_rangeinner

Detailed Description

template<typename T>
class etl::multi_range< T >

multi_range

Template Parameters
TThe type to range over.

Constructor & Destructor Documentation

◆ multi_range() [1/4]

template<typename T>
etl::multi_range< T >::multi_range ( value_type first_,
value_type last_ )
inline

Constructor

Parameters
firstThe starting value of the range.
lastThe terminating value of the range. Equal to the last required value + 1.

◆ multi_range() [2/4]

template<typename T>
etl::multi_range< T >::multi_range ( value_type first_,
value_type last_,
step_type & stepper_ )
inline

Constructor

Parameters
firstThe starting value of the range.
lastThe terminating value of the range. Equal to the last required value + 1.

◆ multi_range() [3/4]

template<typename T>
etl::multi_range< T >::multi_range ( value_type first_,
value_type last_,
compare_type & compare_ )
inline

Constructor

Parameters
firstThe starting value of the range.
lastThe terminating value of the range.

◆ multi_range() [4/4]

template<typename T>
etl::multi_range< T >::multi_range ( value_type first_,
value_type last_,
step_type & stepper_,
compare_type & compare_ )
inline

Constructor

Parameters
firstThe starting value of the range.
lastThe terminating value of the range. Equal to the last required value + 1.

Member Function Documentation

◆ end()

template<typename T>
const_reference etl::multi_range< T >::end ( )
inline

Get a const reference to the terminating value of the range. Equal to the last required value + 1.

◆ next()

template<typename T>
void etl::multi_range< T >::next ( )
inlinevirtual

Step to the next logical values in the ranges.

Implements etl::imulti_range.

◆ start()

template<typename T>
void etl::multi_range< T >::start ( )
inlinevirtual

Initialises the ranges to the starting values.

Implements etl::imulti_range.


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