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_range & | insert (imulti_range &inner_range)
| Insert after this range.
imulti_range & | append (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 ()

## 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_range * | inner

## Detailed Description

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

multi_range

Template Parameters

  T | The 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

  first | The starting value of the range.
  last | The 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

  first | The starting value of the range.
  last | The 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

  first | The starting value of the range.
  last | The 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

  first | The starting value of the range.
  last | The 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 | ( |  | ) |

inline virtual

Step to the next logical values in the ranges.

Implements etl::imulti_range.

## start()

template<typename T>

void etl::multi_range< T >::start | ( |  | ) |

inline virtual

Initialises the ranges to the starting values.

Implements etl::imulti_range.

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

- include/etl/multi_range.h