diff options
author | ipknHama <ipknhama@gmail.com> | 2017-09-17 14:02:46 +0900 |
---|---|---|
committer | ipknHama <ipknhama@gmail.com> | 2017-09-17 14:02:46 +0900 |
commit | 92bea9e949ff9ea9e40ef7ba038cc45cb8490180 (patch) | |
tree | ff9ccca6a4587be4d64b794ce8be9205aeded2a4 /include | |
parent | f35089b2aa80c701087b3c67c63d21893d848fa6 (diff) | |
download | crow-92bea9e949ff9ea9e40ef7ba038cc45cb8490180.tar.gz crow-92bea9e949ff9ea9e40ef7ba038cc45cb8490180.zip |
Change vector to unordered_map for get_dict
Diffstat (limited to 'include')
-rw-r--r-- | include/crow/query_string.h | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/include/crow/query_string.h b/include/crow/query_string.h index 2740441..78ccc67 100644 --- a/include/crow/query_string.h +++ b/include/crow/query_string.h @@ -4,6 +4,7 @@ #include <string.h> #include <string> #include <vector> +#include <unordered_map> #include <iostream> #include <boost/optional.hpp> @@ -220,8 +221,6 @@ inline boost::optional<std::pair<std::string, std::string>> qs_dict_name2kv(cons skip_to_brace_open++; skip_to_brace_close = strcspn(qs_kv[i], "]"); - std::cout << skip_to_brace_open << " FUFUU " << skip_to_brace_close << std::endl; - if ( skip_to_brace_open <= skip_to_brace_close && skip_to_brace_open > 0 && skip_to_brace_close > 0 && @@ -381,16 +380,15 @@ namespace crow return ret; } - std::vector<std::pair<std::string, std::string>> get_dict (const std::string& name) const + std::unordered_map<std::string, std::string> get_dict (const std::string& name) const { - std::vector<std::pair<std::string, std::string>> ret; - std::string plus = name; + std::unordered_map<std::string, std::string> ret; int count = 0; while(1) { - if (auto element = qs_dict_name2kv(plus.c_str(), key_value_pairs_.data(), key_value_pairs_.size(), count++)) - ret.push_back(*element); + if (auto element = qs_dict_name2kv(name.c_str(), key_value_pairs_.data(), key_value_pairs_.size(), count++)) + ret.insert(*element); else break; } |