Assembla home | Assembla project page
 

root/trunk/cbear.berlios.de/range/accumulate.hpp

Revision 2, 0.7 kB (checked in by sergey_shandar, 1 year ago)

restoring...

Line 
1 #ifndef CBEAR_BERLIOS_DE_RANGE_ACCUMULATE_HPP_INCLUDED
2 #define CBEAR_BERLIOS_DE_RANGE_ACCUMULATE_HPP_INCLUDED
3
4 #include <numeric>
5
6 #include <cbear.berlios.de/range/begin.hpp>
7 #include <cbear.berlios.de/range/end.hpp>
8
9 namespace cbear_berlios_de
10 {
11 namespace range
12 {
13
14 template<class Container, class T>
15 T accumulate(Container const &X, T const &V)
16 {
17         return ::std::accumulate(range::begin(X), range::end(X), V);
18 }
19
20 template<class Container>
21 typename traits<Container const>::value_type accumulate(Container const &X)
22 {
23
24         return ::std::accumulate(
25                 range::begin(X), range::end(X), traits<Container const>::value_type());
26 }
27
28 }
29 }
30
31 #endif
32
Note: See TracBrowser for help on using the browser.