/tags/rel-1.3.35/Examples/ruby/std_vector/example.h
C++ Header | 25 lines | 17 code | 6 blank | 2 comment | 1 complexity | 0e9b191f8ca45acbc84c25cc4babcac6 MD5 | raw file
Possible License(s): LGPL-2.1, Cube, GPL-3.0, 0BSD, GPL-2.0
- /* File : example.h */
- #include <vector>
- #include <algorithm>
- #include <functional>
- #include <numeric>
- double average(std::vector<int> v) {
- return std::accumulate(v.begin(),v.end(),0.0)/v.size();
- }
- std::vector<double> half(const std::vector<double>& v) {
- std::vector<double> w(v);
- for (unsigned int i=0; i<w.size(); i++)
- w[i] /= 2.0;
- return w;
- }
- void halve_in_place(std::vector<double>& v) {
- // would you believe this is the same as the above?
- std::transform(v.begin(),v.end(),v.begin(),
- std::bind2nd(std::divides<double>(),2.0));
- }