Mirror reflection library - Rubber type-erasure utility 0.5.13

rubber::range< TypeErased > Class Template Reference

Class wrapping the Mirror's compile time Ranges. More...

#include <rubber/range.hpp>

List of all members.

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.

Detailed Description

template<typename TypeErased>
class rubber::range< TypeErased >

Class wrapping the Mirror's compile time Ranges.

See also:
mirror::Range
mirror::mp::range

Member Function Documentation

template<typename TypeErased >
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.

See also:
iteration_info
for_each

References rubber::iteration_info::is_first, and rubber::iteration_info::is_last.


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

Copyright © 2006-2011 Matus Chochlik, University of Zilina, Zilina, Slovakia.
<matus.chochlik -at- fri.uniza.sk>
<chochlik -at -gmail.com>
Documentation generated on Fri Dec 16 2011 by Doxygen (version 1.7.3).
Important note: Although the 'boostified' version of Mirror uses the Boost C++ libraries Coding Guidelines and is implemented inside of the boost namespace, it IS NOT an officially reviewed and accepted Boost library. Mirror is being developed with the intention to be submitted for review for inclusion to the Boost C++ libraries.