summaryrefslogtreecommitdiff
path: root/example/operators.cc
diff options
context:
space:
mode:
Diffstat (limited to 'example/operators.cc')
-rw-r--r--example/operators.cc45
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;
+}