> On Feb. 27, 2015, 1:18 p.m., Alexander Rojas wrote: > > include/mesos/resources.hpp, line 302 > > <https://reviews.apache.org/r/31183/diff/4/?file=874692#file874692line302> > > > > Why not use `std::accumulate`?
Do you mean why we don't use `std::accumulate` instead of introducing this? or do you mean why don't we use `std::accumulate` in the implementation? For the former, it's because `std::accumulate` is harder to use, with having to pass the iterators, etc. It's similar to `stout/set.hpp`'s `operator &` which is a wrapper around `std::set_intersection`, or `contains` function which is a wrapper around the `std::find(elems.begin(), elems.end(), elem) != elems.end()` pattern. For the latter, it would have to look something like: ```cpp template <typename Iterable> Resources sum(const Iterable& iterable) { return std::accumulate( std::begin(iterable), std::end(iterable), Resources(), [](Resources& result, const Resources& resources) -> Resources & { return result += resources; }); } ``` Without lambdas however I think it's simpler to just write the for-loop. - Michael ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/31183/#review74482 ----------------------------------------------------------- On Feb. 25, 2015, 1:16 a.m., Michael Park wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviews.apache.org/r/31183/ > ----------------------------------------------------------- > > (Updated Feb. 25, 2015, 1:16 a.m.) > > > Review request for mesos, Alexander Rukletsov, Benjamin Hindman, Ben Mahler, > and Jie Yu. > > > Bugs: MESOS-2373 > https://issues.apache.org/jira/browse/MESOS-2373 > > > Repository: mesos > > > Description > ------- > > See summary. > > > Diffs > ----- > > include/mesos/resources.hpp da6d48871a0061d8bbf5e681dd6e7edac659d812 > src/common/resources.cpp 2c99b6884d7296099e19e2e3182cbe11b5e1e059 > src/master/allocator/allocator.hpp b67b8fddbd7a3fffc6fe24d5e77cd1db8cb6f69b > src/master/allocator/mesos/allocator.hpp > fb898f1175b61b442204e6e38c69ccc2838a646f > src/master/allocator/mesos/hierarchical.hpp > c0b1da75565d9dc7728c5566f01815234163fc47 > src/master/allocator/sorter/drf/sorter.hpp > 4366710d6530b784aa5094813328d0e338239ba0 > src/master/allocator/sorter/drf/sorter.cpp > 2f69f384b95ff20d3ee429a4570a8cffa74d8e8b > src/master/allocator/sorter/sorter.hpp > e2efb27b11dbea42dd73f81e5db0d6d2b0a6034b > src/master/http.cpp 117c0ee720a60a1d8a25359028bad803f1fc2b07 > src/master/master.hpp d414061b1aa7b4cac6ab9a3cc14e8e028f9370d0 > src/master/master.cpp 76e217d16c03e587ea4c0afca94c58b2212f0f93 > src/tests/hierarchical_allocator_tests.cpp > 93753d1c04159a04a733927a487eb69505438e32 > src/tests/mesos.hpp 6b9656b2b858df75e725aaa042c447b755899c87 > src/tests/sorter_tests.cpp 42442353afe7bd3d1a5b43992f8ae191ac19bdcd > > Diff: https://reviews.apache.org/r/31183/diff/ > > > Testing > ------- > > make check > > > Thanks, > > Michael Park > >