性能优化

This commit is contained in:
xiongziliang 2019-12-28 13:39:25 +08:00
parent 71631a33c4
commit 20d56b713f
3 changed files with 12 additions and 13 deletions

View File

@ -250,7 +250,7 @@ static C get_http_header( const char *response_header[]){
auto value = response_header[i + 1]; auto value = response_header[i + 1];
if (key && value) { if (key && value) {
i += 2; i += 2;
header[key] = value; header.emplace(key,value);
continue; continue;
} }
break; break;

View File

@ -88,7 +88,7 @@ static C get_http_header( const char *response_header[]){
auto value = response_header[i + 1]; auto value = response_header[i + 1];
if (key && value) { if (key && value) {
i += 2; i += 2;
header[key] = value; header.emplace(key,value);
continue; continue;
} }
break; break;

View File

@ -28,27 +28,26 @@ class StrCaseMap : public multimap<string, string, StrCaseCompare>{
StrCaseMap() = default; StrCaseMap() = default;
~StrCaseMap() = default; ~StrCaseMap() = default;
template <class K> string &operator[](const string &k){
string &operator[](K &&k){ auto it = find(k);
auto it = find(std::forward<K>(k));
if(it == end()){ if(it == end()){
it = Super::emplace(std::forward<K>(k),""); it = Super::emplace(k,"");
} }
return it->second; return it->second;
} }
template <class K,class V> template <typename V>
void emplace(K &&k , V &&v) { void emplace(const string &k, V &&v) {
auto it = find(std::forward<K>(k)); auto it = find(k);
if(it != end()){ if(it != end()){
return; return;
} }
Super::emplace(std::forward<K>(k),std::forward<V>(v)); Super::emplace(k,std::forward<V>(v));
} }
template <class K,class V> template <typename V>
void emplace_force(K &&k , V &&v) { void emplace_force(const string k , V &&v) {
Super::emplace(std::forward<K>(k),std::forward<V>(v)); Super::emplace(k,std::forward<V>(v));
} }
}; };