From 99da72da61653582d8e98075a7b3a03c36fc1976 Mon Sep 17 00:00:00 2001 From: "John Hodge (sonata)" Date: Sun, 18 Jan 2015 20:19:14 +0800 Subject: Remove evil FOREACH macros --- src/macros.cpp | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'src/macros.cpp') diff --git a/src/macros.cpp b/src/macros.cpp index 4356a399..fa9ca9ef 100644 --- a/src/macros.cpp +++ b/src/macros.cpp @@ -62,7 +62,7 @@ MacroExpander Macro_Invoke(const char* name, TokenTree input) // 2. Check input token tree against possible variants // 3. Bind names // 4. Return expander - FOREACH(MacroRules, rule_it, rules) + for(const auto& rule : rules) { Token tok; // Create token stream for input tree @@ -73,10 +73,9 @@ MacroExpander Macro_Invoke(const char* name, TokenTree input) ::std::map bound_tts; // Parse according to rules bool fail = false; - FOREACH(::std::vector, pat_it, rule_it->m_pattern) + for(const auto& pat : rule.m_pattern) { TokenTree val; - const MacroPatEnt& pat = *pat_it; try { switch(pat.type) @@ -107,7 +106,7 @@ MacroExpander Macro_Invoke(const char* name, TokenTree input) } if( !fail && lex.getToken().type() == TOK_EOF ) { - return MacroExpander(rule_it->m_contents, bound_tts); + return MacroExpander(rule.m_contents, bound_tts); } } throw ParseError::Todo("Error when macro fails to match"); -- cgit v1.2.3