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

#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 Tconst_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: