Mirror reflection library - Rubber type-erasure utility 0.5.13
|
Class wrapping the Mirror's compile time Ranges. More...
#include <rubber/range.hpp>
Public Member Functions | |
range (const std::vector< member_getter > &_getters) | |
bool | empty (void) const |
Returns true if the range is empty. | |
size_t | size (void) const |
Returns the number of elements in the range. | |
TypeErased | front (void) const |
Returns the element at the front of the range. | |
TypeErased | at (size_t index) const |
returns the element at the specifier index in the range | |
void | step_front (void) |
Moves the front of the range one element ahead. | |
void | for_each (const std::function< void(const TypeErased &)> &func) const |
Executes the specified functor on each element in the range. | |
void | for_each_ii (const std::function< void(const TypeErased &, const iteration_info &) > &func) const |
Executes the specified functor on each element with additional info. |
Class wrapping the Mirror's compile time Ranges.
void rubber::range< TypeErased >::for_each_ii | ( | const std::function< void(const TypeErased &, const iteration_info &) > & | func | ) | const [inline] |
Executes the specified functor on each element with additional info.
References rubber::iteration_info::is_first, and rubber::iteration_info::is_last.