diff --git a/src/config.cpp b/src/config.cpp index 66f8e3d..2803660 100644 --- a/src/config.cpp +++ b/src/config.cpp @@ -20,6 +20,7 @@ #include #include +#include #include #include #include @@ -29,6 +30,8 @@ namespace mastorss { +using std::transform; +using std::back_inserter; using std::stoul; using std::getenv; using std::ifstream; @@ -272,10 +275,9 @@ void Config::write() list Config::jsonarray_to_stringlist(const Json::Value &jsonarray) const { list stringlist; - for (const auto &element : jsonarray) - { - stringlist.push_back(element.asString()); - } + std::transform(jsonarray.begin(), jsonarray.end(), stringlist.begin(), + back_inserter(stringlist)); + return stringlist; } @@ -283,12 +285,9 @@ Json::Value Config::stringlist_to_jsonarray(const list &stringlist) const { Json::Value jsonarray; - for (const auto &element : stringlist) - { - static Json::ArrayIndex index{0}; - jsonarray[index] = element; - ++index; - } + std::transform(stringlist.begin(), stringlist.end(), jsonarray.begin(), + back_inserter(jsonarray)); + return jsonarray; } } // namespace mastorss