diff options
Diffstat (limited to 'Swiften/Parser/Tree/TreeReparser.cpp')
-rw-r--r-- | Swiften/Parser/Tree/TreeReparser.cpp | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/Swiften/Parser/Tree/TreeReparser.cpp b/Swiften/Parser/Tree/TreeReparser.cpp index 7fc74cf..6993d73 100644 --- a/Swiften/Parser/Tree/TreeReparser.cpp +++ b/Swiften/Parser/Tree/TreeReparser.cpp @@ -1,49 +1,48 @@ /* * Copyright (c) 2011-2016 Isode Limited. * All rights reserved. * See the COPYING file for more information. */ #include <Swiften/Parser/Tree/TreeReparser.h> #include <deque> #include <utility> #include <boost/lexical_cast.hpp> -#include <Swiften/Base/foreach.h> #include <Swiften/Elements/MUCOccupant.h> #include <Swiften/Parser/PayloadParser.h> #include <Swiften/Parser/PayloadParserFactory.h> #include <Swiften/Parser/PayloadParserFactoryCollection.h> namespace Swift { typedef std::pair<ParserElement::ref, bool> ElementState; std::shared_ptr<Payload> TreeReparser::parseTree(ParserElement::ref root, PayloadParserFactoryCollection* collection) { PayloadParser* parser = collection->getPayloadParserFactory(root->getName(), root->getNamespace(), root->getAttributes())->createPayloadParser(); std::deque<ElementState > stack; stack.push_back(ElementState(root, true)); while (!stack.empty()) { ElementState current = stack.back(); stack.pop_back(); if (current.second) { stack.push_back(ElementState(current.first, false)); parser->handleStartElement(current.first->getName(), current.first->getNamespace(), current.first->getAttributes()); - foreach(ParserElement::ref child, current.first->getAllChildren()) { + for (const auto& child : current.first->getAllChildren()) { stack.push_back(ElementState(child, true)); } } else { parser->handleCharacterData(current.first->getText()); parser->handleEndElement(current.first->getName(), current.first->getNamespace()); } } std::shared_ptr<Payload> payload = parser->getPayload(); delete parser; return payload; } } |