summaryrefslogtreecommitdiff
path: root/src/sexpr/variant.hpp
diff options
context:
space:
mode:
authorBen Longbons <b.r.longbons@gmail.com>2014-11-19 17:44:13 -0800
committerBen Longbons <b.r.longbons@gmail.com>2014-11-19 18:19:45 -0800
commit711680d652a8db17c1b91428b6d6835f30dfb4fd (patch)
tree0d64c8314f8531e2a09c7dc5e242333ddec6582b /src/sexpr/variant.hpp
parent078028058d2e9fbcde2147eb4154830e08652066 (diff)
downloadtmwa-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.hpp6
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>