diff options
author | Yatao Li <yatli@microsoft.com> | 2018-08-06 18:53:13 +0800 |
---|---|---|
committer | Kirk Shoop <kirk.shoop@gmail.com> | 2018-08-06 06:23:12 -0700 |
commit | a7d5856385f126e874db6010d9dbfd37290c61de (patch) | |
tree | 3563573b3f6a1d3d5de8b1d7fa54f206d6bdfff6 | |
parent | b3753b360072a32822c564e288782ed704c7494d (diff) | |
download | platform_external_Reactive-Extensions_RxCpp-a7d5856385f126e874db6010d9dbfd37290c61de.tar.gz platform_external_Reactive-Extensions_RxCpp-a7d5856385f126e874db6010d9dbfd37290c61de.tar.bz2 platform_external_Reactive-Extensions_RxCpp-a7d5856385f126e874db6010d9dbfd37290c61de.zip |
fix #390
-rw-r--r-- | Ix/CPP/src/cpplinq/linq.hpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/Ix/CPP/src/cpplinq/linq.hpp b/Ix/CPP/src/cpplinq/linq.hpp index be77151..6552f79 100644 --- a/Ix/CPP/src/cpplinq/linq.hpp +++ b/Ix/CPP/src/cpplinq/linq.hpp @@ -471,22 +471,22 @@ public: // TODO: skip_while(pred) - template<typename ITEM = typename element_type> + template<typename ITEM = element_type> typename std::enable_if<std::is_default_constructible<ITEM>::value, ITEM>::type sum() const { ITEM seed{}; return sum(seed); } - typename element_type sum(typename element_type seed) const { + element_type sum(element_type seed) const { return std::accumulate(begin(), end(), seed); } - template <typename Selector, typename Result = std::result_of<Selector(typename element_type)>::type> + template <typename Selector, typename Result = typename std::result_of<Selector(element_type)>::type> typename std::enable_if<std::is_default_constructible<Result>::value, Result>::type sum(Selector sel) const { return from(begin(), end()).select(sel).sum(); } - template <typename Selector, typename Result = std::result_of<Selector(typename element_type)>::type> + template <typename Selector, typename Result = typename std::result_of<Selector(element_type)>::type> Result sum(Selector sel, Result seed) const { return from(begin(), end()).select(sel).sum(seed); } |