Embedded Template Library 1.0
|
#include <multi_range.h>
Classes | |
struct | compare_type |
struct | forward_step |
struct | forward_step_by |
struct | greater_than_compare |
struct | less_than_compare |
struct | not_equal_compare |
struct | reverse_step |
struct | reverse_step_by |
struct | step_type |
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. More... | |
void | next () ETL_OVERRIDE |
Step to the next logical values in the ranges. More... | |
const_reference | value () const |
Returns a const reference to the current range value. | |
![]() | |
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 () |
Gets the total number of iterations over all ranges, from this range inclusive. | |
virtual void | next ()=0 |
Pure virtual functions. More... | |
virtual void | start ()=0 |
Additional Inherited Members | |
![]() | |
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. | |
![]() | |
bool | has_completed |
imulti_range * | inner |
T | The type to range over. |
|
inline |
Constructor
first | The starting value of the range. |
last | The terminating value of the range. Equal to the last required value + 1. |
|
inline |
Constructor
first | The starting value of the range. |
last | The terminating value of the range. Equal to the last required value + 1. |
|
inline |
Constructor
first | The starting value of the range. |
last | The terminating value of the range. |
|
inline |
Constructor
first | The starting value of the range. |
last | The terminating value of the range. Equal to the last required value + 1. |
|
inline |
Get a const reference to the terminating value of the range. Equal to the last required value + 1.
|
inlinevirtual |
Step to the next logical values in the ranges.
Implements etl::imulti_range.
|
inlinevirtual |
Initialises the ranges to the starting values.
Implements etl::imulti_range.