From 6ce13e4a51fdc67d24570e8475fff6f97bcca098 Mon Sep 17 00:00:00 2001 From: Wolfgang Draxinger Date: Sat, 20 Jul 2019 22:43:04 +0200 Subject: finegrained operator category selection --- include/dwu/operators | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'include') diff --git a/include/dwu/operators b/include/dwu/operators index 1decb51..5eee7a0 100644 --- a/include/dwu/operators +++ b/include/dwu/operators @@ -92,16 +92,22 @@ namespace dwu { } \ return l; \ } +namespace arithmetic { DWU_OPERATORS(+) DWU_OPERATORS(-) DWU_OPERATORS(*) DWU_OPERATORS(/) DWU_OPERATORS(%) +} +namespace bitwise { DWU_OPERATORS(^) DWU_OPERATORS(&) DWU_OPERATORS(|) +} +namespace shift { DWU_OPERATORS(>>) DWU_OPERATORS(<<) +} #undef DWU_OPERATORS } @@ -153,16 +159,22 @@ DWU_OPERATORS(<<) for(auto &x:l){ x O##= r; } \ return l; \ } +namespace arithmetic { DWU_OPERATORS_XT(+) DWU_OPERATORS_XT(-) DWU_OPERATORS_XT(*) DWU_OPERATORS_XT(/) DWU_OPERATORS_XT(%) +} +namespace bitwise { DWU_OPERATORS_XT(^) DWU_OPERATORS_XT(&) DWU_OPERATORS_XT(|) +} +namespace shift { DWU_OPERATORS_XT(>>) DWU_OPERATORS_XT(<<) +} #undef DWU_OPERATORS_XT } @@ -193,16 +205,22 @@ DWU_OPERATORS_XT(<<) } \ return l; \ } +namespace arithmetic { DWU_OPERATORS_XC(+) DWU_OPERATORS_XC(-) DWU_OPERATORS_XC(*) DWU_OPERATORS_XC(/) DWU_OPERATORS_XC(%) +} +namespace bitwise { DWU_OPERATORS_XC(^) DWU_OPERATORS_XC(&) DWU_OPERATORS_XC(|) +} +namespace shift { DWU_OPERATORS_XC(>>) DWU_OPERATORS_XC(<<) +} #undef DWU_OPERATORS_XC } @@ -235,16 +253,22 @@ DWU_OPERATORS_XC(<<) } \ return l; \ } +namespace arithmetic { DWU_OPERATORS_XCXT(+) DWU_OPERATORS_XCXT(-) DWU_OPERATORS_XCXT(*) DWU_OPERATORS_XCXT(/) DWU_OPERATORS_XCXT(%) +} +namespace bitwise { DWU_OPERATORS_XCXT(^) DWU_OPERATORS_XCXT(&) DWU_OPERATORS_XCXT(|) +} +namespace shift { DWU_OPERATORS_XCXT(>>) DWU_OPERATORS_XCXT(<<) +} #undef DWU_OPERATORS_XCXT } -- cgit v1.2.3