mirror of
https://github.com/ZLMediaKit/ZLMediaKit.git
synced 2024-11-22 19:00:01 +08:00
性能优化
This commit is contained in:
parent
71631a33c4
commit
20d56b713f
@ -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;
|
||||||
|
@ -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;
|
||||||
|
@ -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));
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user