diff options
author | Ben Longbons <b.r.longbons@gmail.com> | 2014-11-19 17:44:13 -0800 |
---|---|---|
committer | Ben Longbons <b.r.longbons@gmail.com> | 2014-11-19 18:19:45 -0800 |
commit | 711680d652a8db17c1b91428b6d6835f30dfb4fd (patch) | |
tree | 0d64c8314f8531e2a09c7dc5e242333ddec6582b /src/sexpr/variant.hpp | |
parent | 078028058d2e9fbcde2147eb4154830e08652066 (diff) | |
download | tmwa-711680d652a8db17c1b91428b6d6835f30dfb4fd.tar.gz tmwa-711680d652a8db17c1b91428b6d6835f30dfb4fd.tar.bz2 tmwa-711680d652a8db17c1b91428b6d6835f30dfb4fd.tar.xz tmwa-711680d652a8db17c1b91428b6d6835f30dfb4fd.zip |
Magically allow "break" within WITH_VAR
Diffstat (limited to 'src/sexpr/variant.hpp')
-rw-r--r-- | src/sexpr/variant.hpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/sexpr/variant.hpp b/src/sexpr/variant.hpp index ecf0237..287a5f0 100644 --- a/src/sexpr/variant.hpp +++ b/src/sexpr/variant.hpp @@ -35,13 +35,13 @@ namespace tmwa { namespace sexpr { -#define MATCH(expr) \ - WITH_VAR(auto&&, _match_var, expr) \ +#define MATCH(expr) \ + WITH_VAR_NOLOOP(auto&&, _match_var, expr) \ switch (tmwa::sexpr::VariantFriend::get_state(_match_var)) #define TYPED_CASE(ty, var, look) \ break; \ case tmwa::sexpr::VariantFriend::get_state_for<look, decltype(_match_var)>(): \ - WITH_VAR(ty, var, tmwa::sexpr::VariantFriend::unchecked_get<look>(_match_var)) + WITH_VAR_INLOOP(ty, var, tmwa::sexpr::VariantFriend::unchecked_get<look>(_match_var)) #define CASE(ty, var) TYPED_CASE(ty, var, std::remove_const<std::remove_reference<ty>::type>::type) template<class... T> |