diff options
Diffstat (limited to 'Swiften/Parser/Tree/ParserElement.cpp')
-rw-r--r-- | Swiften/Parser/Tree/ParserElement.cpp | 36 |
1 files changed, 16 insertions, 20 deletions
diff --git a/Swiften/Parser/Tree/ParserElement.cpp b/Swiften/Parser/Tree/ParserElement.cpp index e5f8bc8..988bc13 100644 --- a/Swiften/Parser/Tree/ParserElement.cpp +++ b/Swiften/Parser/Tree/ParserElement.cpp @@ -1,18 +1,13 @@ /* - * Copyright (c) 2011 Kevin Smith - * Licensed under the GNU General Public License v3. - * See Documentation/Licenses/GPLv3.txt for more information. + * Copyright (c) 2011-2018 Isode Limited. + * All rights reserved. + * See the COPYING file for more information. */ #include <Swiften/Parser/Tree/ParserElement.h> -#include <Swiften/Parser/Tree/NullParserElement.h> - -#include <iostream> -#include <boost/lambda/lambda.hpp> -#include <boost/lambda/bind.hpp> -namespace lambda = boost::lambda; +#include <Swiften/Parser/Tree/NullParserElement.h> namespace Swift { @@ -23,26 +18,27 @@ ParserElement::~ParserElement() { } ParserElement::ref ParserElement::addChild(const std::string& name, const std::string& xmlns, const AttributeMap& attributes) { - ParserElement::ref child = boost::make_shared<ParserElement>(name, xmlns, attributes); - children_.push_back(child); - return child; + ParserElement::ref child = std::make_shared<ParserElement>(name, xmlns, attributes); + children_.push_back(child); + return child; } void ParserElement::appendCharacterData(const std::string& data) { - text_ += data; + text_ += data; } std::vector<ParserElement::ref> ParserElement::getChildren(const std::string& name, const std::string& xmlns) const { - std::vector<ParserElement::ref> result; - std::remove_copy_if(children_.begin(), children_.end(), std::back_inserter(result), - lambda::bind(&ParserElement::getName, *lambda::_1) != name || lambda::bind(&ParserElement::getNamespace, *lambda::_1) != xmlns); - return result; + std::vector<ParserElement::ref> result; + std::remove_copy_if(children_.begin(), children_.end(), std::back_inserter(result), [&](const ParserElement::ref& element) { + return (element->getName() != name) || (element->getNamespace() != xmlns); + }); + return result; } ParserElement::ref ParserElement::getChild(const std::string& name, const std::string& xmlns) const { - std::vector<ParserElement::ref> results = getChildren(name, xmlns); - ParserElement::ref result = results.empty() ? NullParserElement::element : results[0]; - return result; + std::vector<ParserElement::ref> results = getChildren(name, xmlns); + ParserElement::ref result = results.empty() ? NullParserElement::element : results[0]; + return result; } } |