diff options
Diffstat (limited to 'example/operators.cc')
-rw-r--r-- | example/operators.cc | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/example/operators.cc b/example/operators.cc new file mode 100644 index 0000000..cfcd529 --- /dev/null +++ b/example/operators.cc @@ -0,0 +1,45 @@ +#include <iostream> + +#include <vector> +#include <list> + +#include <dwu/operators> + +template<class S, class T> +static void dump(S const &s, T const &v) +{ + std::cout << s << '{'; + for( auto const &x : v ){ + std::cout << x << ", "; + } + std::cout << '}' << std::endl; +} + +int main(int argc, char *argv[]) +{ + using namespace dwu::operators; + + std::vector<int> va = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9}; + dump("va: ", va); + + auto vb = va + 10; + auto vc = 20 + va; + dump("vb = va + 10: ", vb); + dump("vc = 20 + va: ", vc); + + vb += 30; + dump("vb += 30: ", vb); + vc -= 40; + dump("vc -= 40: ", vc); + + auto vd = vb * vc; + dump("vd = vb * vc: ", vd); + + std::list<float> la = {100, 101, 101, 103, 104, 105}; + dump("la: ", la); + + auto rr = la - vd; + dump("rr = la - vd: ", rr); + + return 0; +} |