diff options
Diffstat (limited to 'Swiften/Parser/EnumParser.h')
-rw-r--r-- | Swiften/Parser/EnumParser.h | 47 |
1 files changed, 24 insertions, 23 deletions
diff --git a/Swiften/Parser/EnumParser.h b/Swiften/Parser/EnumParser.h index a3baa3b..cf17ead 100644 --- a/Swiften/Parser/EnumParser.h +++ b/Swiften/Parser/EnumParser.h @@ -1,37 +1,38 @@ /* - * Copyright (c) 2013 Isode Limited. + * Copyright (c) 2013-2016 Isode Limited. * All rights reserved. * See the COPYING file for more information. */ #pragma once -#include <string> -#include <map> #include <cassert> +#include <map> +#include <string> + #include <boost/optional.hpp> -#include <Swiften/Base/Override.h> #include <Swiften/Base/API.h> +#include <Swiften/Base/Override.h> namespace Swift { - template<typename T> - class SWIFTEN_API EnumParser { - public: - EnumParser() { - } - - EnumParser& operator()(T value, const std::string& text) { - values[text] = value; - return *this; - } - - boost::optional<T> parse(const std::string& value) { - typename std::map<std::string, T>::const_iterator i = values.find(value); - return i == values.end() ? boost::optional<T>() : i->second; - } - - private: - std::map<std::string, T> values; - }; + template<typename T> + class SWIFTEN_API EnumParser { + public: + EnumParser() { + } + + EnumParser& operator()(T value, const std::string& text) { + values[text] = value; + return *this; + } + + boost::optional<T> parse(const std::string& value) { + typename std::map<std::string, T>::const_iterator i = values.find(value); + return i == values.end() ? boost::optional<T>() : i->second; + } + + private: + std::map<std::string, T> values; + }; } |