/tags/rel-1-3-26/SWIG/Examples/python/std_vector/example.h
# · C++ Header · 25 lines · 17 code · 6 blank · 2 comment · 1 complexity · 0e9b191f8ca45acbc84c25cc4babcac6 MD5 · raw file
- /* 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));
- }