From ac1e78efa910cac81d104a92ec971d984dcd26a1 Mon Sep 17 00:00:00 2001 From: Wolfgang Draxinger Date: Thu, 4 Jul 2019 20:00:17 +0200 Subject: dwu::operators --- example/Makefile | 8 ++++++++ example/operators.cc | 45 +++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 53 insertions(+) create mode 100644 example/Makefile create mode 100644 example/operators.cc (limited to 'example') diff --git a/example/Makefile b/example/Makefile new file mode 100644 index 0000000..f26d3df --- /dev/null +++ b/example/Makefile @@ -0,0 +1,8 @@ +CXXFLAGS+=-I../include + +.PHONY: all + +all: operators + +operators: CC=$(CXX) +operators: operators.o 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 + +#include +#include + +#include + +template +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 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 la = {100, 101, 101, 103, 104, 105}; + dump("la: ", la); + + auto rr = la - vd; + dump("rr = la - vd: ", rr); + + return 0; +} -- cgit v1.2.3