Mirror reflection library 0.5.13
Namespaces | Functions

mirror/meta_prog/accumulate.hpp File Reference

The accumulate run-time function for range elements. More...

#include <mirror/meta_prog/range.hpp>
#include <mirror/meta_prog/traits.hpp>
#include <mirror/meta_prog/iter_info.hpp>
Include dependency graph for accumulate.hpp:

Go to the source code of this file.

Namespaces

namespace  mirror
 

All Mirror's types, classes, functions, etc. are defined in this namespace.


namespace  mirror::mp
 

Contains the meta-programming utilities.


Functions

template<typename ResultType , typename Functor , typename ValueType , typename IsFirst , typename IsLast >
ResultType mirror::mp::aux::accumulate (Functor func, ValueType final, range<>, IsFirst is_first, IsLast is_last)
template<typename ResultType , typename T , typename Functor , typename ValueType , typename IsFirst , typename IsLast >
ResultType mirror::mp::aux::accumulate (Functor func, ValueType value, range< T >, IsFirst is_first, IsLast is_last)
template<typename ResultType , typename T , typename... P, typename Functor , typename ValueType , typename IsFirst , typename IsLast >
ResultType mirror::mp::aux::accumulate (Functor func, ValueType value, range< T, P...>, IsFirst is_first, IsLast is_last)
template<typename ResultType , typename X , typename Functor , typename ValueType , typename IsFirst , typename IsLast >
ResultType mirror::mp::aux::accumulate (Functor func, ValueType value, X, IsFirst is_first, IsLast is_last)
template<typename Range , typename ResultType , typename Functor , typename ValueType >
ResultType mirror::mp::accumulate (Functor func, ValueType initial)
 Call the unary functor on all elements of the range.
template<typename Range , typename ResultType , typename Functor , typename ValueType >
ResultType mirror::mp::accumulate_ii (Functor func, ValueType initial)
 Call the unary functor on all elements of the range with iteration info.

Detailed Description

The accumulate run-time function for range elements.

Copyright 2008-2011 Matus Chochlik. Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)


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.