]> git.ipfire.org Git - thirdparty/pdns.git/commitdiff
convert make_pair to emplace 10646/head
authorRosen Penev <rosenp@gmail.com>
Sun, 15 Aug 2021 00:07:33 +0000 (17:07 -0700)
committerRosen Penev <rosenp@gmail.com>
Mon, 18 Oct 2021 22:10:46 +0000 (15:10 -0700)
emplace* forwards the arguments directly. Avoids needing make_pair.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
55 files changed:
modules/tinydnsbackend/tinydnsbackend.cc
pdns/auth-zonecache.cc
pdns/bpf-filter.cc
pdns/calidns.cc
pdns/cdb.cc
pdns/dbdnsseckeeper.cc
pdns/decafsigners.cc
pdns/delaypipe.cc
pdns/distributor.hh
pdns/dnsbackend.cc
pdns/dnsdist-console.cc
pdns/dnsdist-lua-inspection.cc
pdns/dnsdist-lua.cc
pdns/dnsdistdist/dnsdist-backend.cc
pdns/dnsdistdist/doh.cc
pdns/dnsgram.cc
pdns/dnspacket.cc
pdns/dnsparser.cc
pdns/dnsparser.hh
pdns/dnspcap2protobuf.cc
pdns/dnsrecords.cc
pdns/dnsreplay.cc
pdns/dnsscope.cc
pdns/dnssecinfra.cc
pdns/ixfr.cc
pdns/lua-record.cc
pdns/lua-recursor4.cc
pdns/lwres.cc
pdns/malloctrace.cc
pdns/misc.hh
pdns/mplexer.hh
pdns/nsec3dig.cc
pdns/opensslsigners.cc
pdns/pdns_recursor.cc
pdns/pkcs11signers.cc
pdns/proxy-protocol.cc
pdns/qtype.cc
pdns/rec_channel_rec.cc
pdns/recursordist/test-ednsoptions_cc.cc
pdns/rfc2136handler.cc
pdns/saxfr.cc
pdns/sdig.cc
pdns/slavecommunicator.cc
pdns/sodiumsigners.cc
pdns/statbag.cc
pdns/syncres.cc
pdns/test-dnsdist_cc.cc
pdns/test-dnsdistpacketcache_cc.cc
pdns/test-dnsrecords_cc.cc
pdns/test-misc_hh.cc
pdns/test-packetcache_cc.cc
pdns/test-packetcache_hh.cc
pdns/toysdig.cc
pdns/ueberbackend.cc
pdns/ws-recursor.cc

index 510f2b7273c29c3fcbb1391c28a3947556b9f940..aa6cf959d827d059914f4671f1ed71cf7347de86 100644 (file)
@@ -93,7 +93,7 @@ void TinyDNSBackend::getUpdatedMasters(vector<DomainInfo>* retDomains)
   auto domainInfo = s_domainInfo.lock(); //TODO: We could actually lock less if we do it per suffix.
   if (!domainInfo->count(d_suffix)) {
     TDI_t tmp;
-    domainInfo->insert(make_pair(d_suffix, tmp));
+    domainInfo->emplace(d_suffix, tmp);
   }
 
   TDI_t* domains = &(*domainInfo)[d_suffix];
index 687879d0c798ce9e366a8d00bc1278cc2d26e4ff..f5e5adec3b18c389f64223974fb2c4b47d6ebcf8 100644 (file)
@@ -131,7 +131,7 @@ void AuthZoneCache::add(const DNSName& zone, const int zoneId)
   {
     auto pending = d_pending.lock();
     if (pending->d_replacePending) {
-      pending->d_pendingAdds.push_back({zone, zoneId});
+      pending->d_pendingAdds.emplace_back(zone, zoneId);
     }
   }
 
index f6fdceebba0516c8106cc31bd0c6c93aeea9391c..31c4c2e0f38c45a123b2dba6b983e7bc388fcc2c 100644 (file)
@@ -387,7 +387,7 @@ std::vector<std::pair<ComboAddress, uint64_t> > BPFFilter::getAddrStats()
     v4Key = nextV4Key;
     if (bpf_lookup_elem(maps->d_v4map.getHandle(), &v4Key, &value) == 0) {
       v4Addr.sin_addr.s_addr = ntohl(v4Key);
-      result.push_back(make_pair(ComboAddress(&v4Addr), value));
+      result.emplace_back(ComboAddress(&v4Addr), value);
     }
 
     res = bpf_get_next_key(maps->d_v4map.getHandle(), &v4Key, &nextV4Key);
@@ -399,7 +399,7 @@ std::vector<std::pair<ComboAddress, uint64_t> > BPFFilter::getAddrStats()
     if (bpf_lookup_elem(maps->d_v6map.getHandle(), &nextV6Key, &value) == 0) {
       memcpy(&v6Addr.sin6_addr.s6_addr, &nextV6Key, sizeof(nextV6Key));
 
-      result.push_back(make_pair(ComboAddress(&v6Addr), value));
+      result.emplace_back(ComboAddress(&v6Addr), value);
     }
 
     res = bpf_get_next_key(maps->d_v6map.getHandle(), &nextV6Key, &nextV6Key);
index e8dac6eb6d922ac9d8b3ea31ac31adfd4f41b089..973e5309538ef27c5245da88b91b5ba0f5c655eb 100644 (file)
@@ -399,14 +399,14 @@ try
     if(!subnet.empty() || !ecsRange.empty()) {
       EDNSSubnetOpts opt;
       opt.source = Netmask(subnet.empty() ? "0.0.0.0/32" : subnet);
-      ednsOptions.push_back(std::make_pair(EDNSOptionCode::ECS, makeEDNSSubnetOptsString(opt)));
+      ednsOptions.emplace_back(EDNSOptionCode::ECS, makeEDNSSubnetOptsString(opt));
     }
 
     if(!ednsOptions.empty() || pw.getHeader()->id % 2) {
       pw.addOpt(1500, 0, EDNSOpts::DNSSECOK, ednsOptions);
       pw.commit();
     }
-    unknown.emplace_back(std::make_shared<vector<uint8_t>>(packet));
+    unknown.push_back(std::make_shared<vector<uint8_t>>(packet));
   }
 
   shuffle(unknown.begin(), unknown.end(), pdns::dns_random_engine());
index 5dd391539f1aef80946b06ac0cbcdff574444838..55ade934e5218db924f28ab5eb022d869b0e1ca0 100644 (file)
@@ -123,7 +123,7 @@ bool CDB::readNext(pair<string, string> &value) {
       throw std::runtime_error("Error while reading value for key '" + key + "' from CDB database: " + std::to_string(ret));
     }
 
-    value = make_pair(std::move(key), std::move(val));
+    value = {std::move(key), std::move(val)};
     return true;
   }
 
index c8149f58f32303dd033782806be07ecbfddbd5ed..385e30208900f2bac0816570cf6cd445082ca821 100644 (file)
@@ -604,7 +604,7 @@ DNSSECKeeper::keyset_t DNSSECKeeper::getKeys(const DNSName& zone, bool useCache)
     else
       kmd.keyType = ZSK;
 
-    retkeyset.push_back(make_pair(dpk, kmd));
+    retkeyset.emplace_back(dpk, kmd);
   }
   sort(retkeyset.begin(), retkeyset.end(), keyCompareByKindAndID);
 
index 24df3d6ae2f37bf65a7f7722f69f9151dbdbb382..cce6fd0479e3a453375e48c05e6c4fcbe741c4db 100644 (file)
@@ -67,10 +67,10 @@ DNSCryptoKeyEngine::storvector_t DecafED25519DNSCryptoKeyEngine::convertToISCVec
     PrivateKey: ODIyNjAzODQ2MjgwODAxMjI2NDUxOTAyMDQxNDIyNjI=
   */
 
-  storvector_t storvector;
-
-  storvector.push_back(make_pair("Algorithm", "15 (ED25519)"));
-  storvector.push_back(make_pair("PrivateKey", string((char*)d_seckey, DECAF_EDDSA_25519_PRIVATE_BYTES)));
+  auto storvector = storvector_t{
+    {"Algorithm", "15 (ED25519)"},
+    {"PrivateKey", string((char*)d_seckey, DECAF_EDDSA_25519_PRIVATE_BYTES)},
+  };
 
   return storvector;
 }
@@ -203,10 +203,10 @@ DNSCryptoKeyEngine::storvector_t DecafED448DNSCryptoKeyEngine::convertToISCVecto
     PrivateKey: xZ+5Cgm463xugtkY5B0Jx6erFTXp13rYegst0qRtNsOYnaVpMx0Z/c5EiA9x8wWbDDct/U3FhYWA
   */
 
-  storvector_t storvector;
-
-  storvector.push_back(make_pair("Algorithm", "16 (ED448)"));
-  storvector.push_back(make_pair("PrivateKey", string((char*)d_seckey, DECAF_EDDSA_448_PRIVATE_BYTES)));
+  auto storvector = storvector_t{
+    {"Algorithm", "16 (ED448)"},
+    {"PrivateKey", string((char*)d_seckey, DECAF_EDDSA_448_PRIVATE_BYTES)},
+  };
 
   return storvector;
 }
index 167f355fd7b8dbf4cb70f39ba539b463c958cf4b..be363d639191c4851038304aa94eefa2e1d6c33d 100644 (file)
@@ -162,7 +162,7 @@ void DelayPipe<T>::worker()
     if(delay != 0 ) {
       int ret = d_pipe.readTimeout(&c, delay); 
       if(ret > 0) {  // we got an object
-       d_work.insert(make_pair(c.when, c.what));
+        d_work.emplace(c.when, c.what);
       }
       else if(ret==0) { // EOF
        break;
index 8dbf141e8ca059748acbb9223ac76ce2aed6cd4b..a54b7099a97d082d5c9e87ed99d916871e190252 100644 (file)
@@ -160,7 +160,7 @@ template<class Answer, class Question, class Backend>MultiThreadDistributor<Answ
     int fds[2];
     if(pipe(fds) < 0)
       unixDie("Creating pipe");
-    d_pipes.push_back({fds[0],fds[1]});
+    d_pipes.emplace_back(fds[0], fds[1]);
   }
   
   if (n<1) {
index f228d694c05fb363dbde955d7b157d0a62e0d080..719b051e06d9568a6f1f4f02dadea8b4b37d8bc9 100644 (file)
@@ -171,7 +171,7 @@ void BackendMakerClass::launch(const string &instr)
         throw ArgException("Trying to launch unknown backend '"+module+"'");
     }
     d_repository[module]->declareArguments(name);
-    d_instances.push_back(make_pair(module,name));
+    d_instances.emplace_back(module, name);
   }
 }
 
index 591a0fd72a8ef07890ebc5f20576b48c2ac2416e..5b27aec4d363af5a95f0afc031bc33786c38d542 100644 (file)
@@ -105,7 +105,7 @@ static void feedConfigDelta(const std::string& line)
     return;
   struct timeval now;
   gettimeofday(&now, 0);
-  g_confDelta.push_back({now,line});
+  g_confDelta.emplace_back(now, line);
 }
 
 static string historyFile(const bool &ignoreHOME = false)
index 71ff7da8794238476dc5a73660dfe269d4520077..3e09fef8cbf8959181d85ea7579806ea8facbbf0 100644 (file)
@@ -62,7 +62,7 @@ static std::unordered_map<unsigned int, vector<boost::variant<string,double>>> g
   vector<pair<unsigned int, DNSName>> rcounts;
   rcounts.reserve(counts.size());
   for(const auto& c : counts)
-    rcounts.push_back(make_pair(c.second, c.first.makeLowerCase()));
+    rcounts.emplace_back(c.second, c.first.makeLowerCase());
 
   sort(rcounts.begin(), rcounts.end(), [](const decltype(rcounts)::value_type& a,
                                           const decltype(rcounts)::value_type& b) {
@@ -150,7 +150,7 @@ static vector<pair<unsigned int, std::unordered_map<string,string> > > getRespRi
         continue;
       e["qname"]=c.name.toString();
       e["rcode"]=std::to_string(c.dh.rcode);
-      ret.push_back(std::make_pair(count,e));
+      ret.emplace_back(count, e);
       count++;
     }
   }
@@ -251,7 +251,7 @@ void setupLuaInspection(LuaContext& luaCtx)
       vector<pair<unsigned int, ComboAddress>> rcounts;
       rcounts.reserve(counts.size());
       for(const auto& c : counts)
-       rcounts.push_back(make_pair(c.second, c.first));
+        rcounts.emplace_back(c.second, c.first);
 
       sort(rcounts.begin(), rcounts.end(), [](const decltype(rcounts)::value_type& a,
                                              const decltype(rcounts)::value_type& b) {
@@ -296,7 +296,7 @@ void setupLuaInspection(LuaContext& luaCtx)
       vector<pair<unsigned int, DNSName>> rcounts;
       rcounts.reserve(counts.size());
       for(const auto& c : counts)
-       rcounts.push_back(make_pair(c.second, c.first.makeLowerCase()));
+        rcounts.emplace_back(c.second, c.first.makeLowerCase());
 
       sort(rcounts.begin(), rcounts.end(), [](const decltype(rcounts)::value_type& a,
                                              const decltype(rcounts)::value_type& b) {
@@ -478,7 +478,7 @@ void setupLuaInspection(LuaContext& luaCtx)
             if (c.dh.opcode != 0) {
               extra = " (" + Opcode::to_s(c.dh.opcode) + ")";
             }
-            out.insert(make_pair(c.when, (fmt % DiffTime(now, c.when) % c.requestor.toStringWithPort() % dnsdist::Protocol(c.protocol).toString() % "" % htons(c.dh.id) % c.name.toString() % qt.toString()  % "" % (c.dh.tc ? "TC" : "") % (c.dh.rd? "RD" : "") % (c.dh.aa? "AA" : "") % ("Question" + extra)).str() )) ;
+            out.emplace(c.when, (fmt % DiffTime(now, c.when) % c.requestor.toStringWithPort() % dnsdist::Protocol(c.protocol).toString() % "" % htons(c.dh.id) % c.name.toString() % qt.toString() % "" % (c.dh.tc ? "TC" : "") % (c.dh.rd ? "RD" : "") % (c.dh.aa ? "AA" : "") % ("Question" + extra)).str());
 
             if(limit && *limit==++num)
               break;
@@ -516,10 +516,10 @@ void setupLuaInspection(LuaContext& luaCtx)
           }
 
           if (c.usec != std::numeric_limits<decltype(c.usec)>::max()) {
-            out.insert(make_pair(c.when, (fmt % DiffTime(now, c.when) % c.requestor.toStringWithPort() % dnsdist::Protocol(c.protocol).toString() % c.ds.toStringWithPort() % htons(c.dh.id) % c.name.toString()  % qt.toString()  % (c.usec/1000.0) % (c.dh.tc ? "TC" : "") % (c.dh.rd? "RD" : "") % (c.dh.aa? "AA" : "") % (RCode::to_s(c.dh.rcode) + extra)).str()  )) ;
+            out.emplace(c.when, (fmt % DiffTime(now, c.when) % c.requestor.toStringWithPort() % dnsdist::Protocol(c.protocol).toString() % c.ds.toStringWithPort() % htons(c.dh.id) % c.name.toString() % qt.toString() % (c.usec / 1000.0) % (c.dh.tc ? "TC" : "") % (c.dh.rd ? "RD" : "") % (c.dh.aa ? "AA" : "") % (RCode::to_s(c.dh.rcode) + extra)).str());
           }
           else {
-            out.insert(make_pair(c.when, (fmt % DiffTime(now, c.when) % c.requestor.toStringWithPort() % dnsdist::Protocol(c.protocol).toString() % c.ds.toStringWithPort() % htons(c.dh.id) % c.name.toString()  % qt.toString()  % "T.O" % (c.dh.tc ? "TC" : "") % (c.dh.rd? "RD" : "") % (c.dh.aa? "AA" : "") % (RCode::to_s(c.dh.rcode) + extra)).str()  )) ;
+            out.emplace(c.when, (fmt % DiffTime(now, c.when) % c.requestor.toStringWithPort() % dnsdist::Protocol(c.protocol).toString() % c.ds.toStringWithPort() % htons(c.dh.id) % c.name.toString() % qt.toString() % "T.O" % (c.dh.tc ? "TC" : "") % (c.dh.rd ? "RD" : "") % (c.dh.aa ? "AA" : "") % (RCode::to_s(c.dh.rcode) + extra)).str());
           }
 
           if (limit && *limit == ++num) {
index 1084b5bdcde559be649b2b587f8d6b71288e5db4..8671f54ca0f91f8f7bcda8b3acf74ae3ffce4a3e 100644 (file)
@@ -138,7 +138,7 @@ static bool loadTLSCertificateAndKeys(const std::string& context, std::vector<st
     auto certFile = boost::get<std::string>(certFiles);
     auto keyFile = boost::get<std::string>(keyFiles);
     pairs.clear();
-    pairs.push_back({certFile, keyFile});
+    pairs.emplace_back(certFile, keyFile);
   }
   else if (certFiles.type() == typeid(std::vector<std::pair<int,std::string>>) && keyFiles.type() == typeid(std::vector<std::pair<int,std::string>>))
   {
@@ -147,7 +147,7 @@ static bool loadTLSCertificateAndKeys(const std::string& context, std::vector<st
     if (certFilesVect.size() == keyFilesVect.size()) {
       pairs.clear();
       for (size_t idx = 0; idx < certFilesVect.size(); idx++) {
-        pairs.push_back({certFilesVect.at(idx).second, keyFilesVect.at(idx).second});
+        pairs.emplace_back(certFilesVect.at(idx).second, keyFilesVect.at(idx).second);
       }
     }
     else {
@@ -891,7 +891,7 @@ static void setupLuaConfig(LuaContext& luaCtx, bool client, bool configCheck)
       vector<pair<int, std::shared_ptr<DownstreamState> > > ret;
       int count=1;
       for(const auto& s : g_dstates.getCopy()) {
-       ret.push_back(make_pair(count++, s));
+        ret.emplace_back(count++, s);
       }
       return ret;
     });
@@ -2311,8 +2311,8 @@ static void setupLuaConfig(LuaContext& luaCtx, bool client, bool configCheck)
 
       if (vars->count("customResponseHeaders")) {
         for (auto const& headerMap : boost::get<std::map<std::string,std::string>>((*vars)["customResponseHeaders"])) {
-          std::pair<std::string,std::string> headerResponse = std::make_pair(boost::to_lower_copy(headerMap.first), headerMap.second);
-          frontend->d_customResponseHeaders.push_back(headerResponse);
+          auto headerResponse = std::make_pair(boost::to_lower_copy(headerMap.first), headerMap.second);
+          frontend->d_customResponseHeaders.push_back(std::move(headerResponse));
         }
       }
 
index 3139cda6753c0663948c49febc36f3570a7b998a..bd3c31947cae53ae355c3be5131ec7565ed6937a 100644 (file)
@@ -245,7 +245,7 @@ void ServerPool::addServer(shared_ptr<DownstreamState>& server)
      as other threads might hold a copy. We can however update the pointer as long as we hold the lock. */
   unsigned int count = static_cast<unsigned int>((*servers)->size());
   auto newServers = std::make_shared<ServerPolicy::NumberedServerVector>(*(*servers));
-  newServers->push_back(make_pair(++count, server));
+  newServers->emplace_back(++count, server);
   /* we need to reorder based on the server 'order' */
   std::stable_sort(newServers->begin(), newServers->end(), [](const std::pair<unsigned int,std::shared_ptr<DownstreamState> >& a, const std::pair<unsigned int,std::shared_ptr<DownstreamState> >& b) {
       return a.second->order < b.second->order;
index 863ee78c563b97c8b5e92de03596bebc3c5a4c1d..0b46a1a89bf6af24a7150bd9d302fa7d17225c19 100644 (file)
@@ -841,8 +841,8 @@ static void doh_dispatch_query(DOHServerConfig* dsc, h2o_handler_t* self, h2o_re
     du->query_at = req->query_at;
     du->headers.reserve(req->headers.size);
     for (size_t i = 0; i < req->headers.size; ++i) {
-      du->headers.push_back(std::make_pair(std::string(req->headers.entries[i].name->base, req->headers.entries[i].name->len),
-                                           std::string(req->headers.entries[i].value.base, req->headers.entries[i].value.len)));
+      du->headers.emplace_back(std::string(req->headers.entries[i].name->base, req->headers.entries[i].name->len),
+                               std::string(req->headers.entries[i].value.base, req->headers.entries[i].value.len));
     }
 
 #ifdef HAVE_H2O_SOCKET_GET_SSL_SERVER_NAME
index a3bdc7d8d146cc5f3bbe9ead760a1d64084db61e..fd03528bb8df445155c5d680006ad3b8f9732a54 100644 (file)
@@ -170,23 +170,23 @@ try
             g_clientQuestions++;
             totalQueries++;
             counts[make_pair(mdp.d_qname, mdp.d_qtype)]++;
-            questions.insert(make_pair(mdp.d_qname, mdp.d_qtype));
+            questions.emplace(mdp.d_qname, mdp.d_qtype);
           }
           else if(mdp.d_header.rd && mdp.d_header.qr) {
            rdacounts[pr.d_pheader.ts.tv_sec + 0.01*(pr.d_pheader.ts.tv_usec/10000)]++;
             g_lastanswerTime=pr.d_pheader.ts;
             g_clientResponses++;
-            answers.insert(make_pair(mdp.d_qname, mdp.d_qtype));
+            answers.emplace(mdp.d_qname, mdp.d_qtype);
           }
           else if(!mdp.d_header.rd && !mdp.d_header.qr) {
             g_lastquestionTime=pr.d_pheader.ts;
             g_serverQuestions++;
             counts[make_pair(mdp.d_qname, mdp.d_qtype)]++;
-            questions.insert(make_pair(mdp.d_qname, mdp.d_qtype));
+            questions.emplace(mdp.d_qname, mdp.d_qtype);
             totalQueries++;
           }
           else if(!mdp.d_header.rd && mdp.d_header.qr) {
-            answers.insert(make_pair(mdp.d_qname, mdp.d_qtype));
+            answers.emplace(mdp.d_qname, mdp.d_qtype);
             g_serverResponses++;
           }
           
index 9081e6fa25a25aa00e46cef50057d808932fb844..b41949ce217d51e618b92684519f44a291f2273f 100644 (file)
@@ -318,7 +318,7 @@ void DNSPacket::wrapup()
   if(d_wantsnsid) {
     const static string mode_server_id=::arg()["server-id"];
     if(mode_server_id != "disabled") {
-      opts.push_back(make_pair(EDNSOptionCode::NSID, mode_server_id));
+      opts.emplace_back(EDNSOptionCode::NSID, mode_server_id);
       optsize += EDNS_OPTION_CODE_SIZE + EDNS_OPTION_LENGTH_SIZE + mode_server_id.size();
     }
   }
@@ -373,12 +373,12 @@ void DNSPacket::wrapup()
         eso.scope = Netmask(eso.source.getNetwork(), maxScopeMask);
     
         string opt = makeEDNSSubnetOptsString(eso);
-        opts.push_back(make_pair(8, opt)); // 'EDNS SUBNET'
+        opts.emplace_back(8, opt); // 'EDNS SUBNET'
       }
 
       if (d_haveednscookie && d_eco.isWellFormed()) {
         d_eco.makeServerCookie(s_EDNSCookieKey, getInnerRemote());
-        opts.push_back(make_pair(EDNSOptionCode::COOKIE, d_eco.makeOptString()));
+        opts.emplace_back(EDNSOptionCode::COOKIE, d_eco.makeOptString());
       }
 
       if(!opts.empty() || d_haveednssection || d_dnssecOk)
index 10327144841f60ab6ce926a9a8b70acfba6bc57f..84377b7828cff88a8dbbcabbf4bc8c081276ff14 100644 (file)
@@ -124,7 +124,7 @@ std::shared_ptr<DNSRecordContent> DNSRecordContent::mastermake(const DNSRecord &
 {
   uint16_t searchclass = (dr.d_type == QType::OPT) ? 1 : dr.d_class; // class is invalid for OPT
 
-  typemap_t::const_iterator i=getTypemap().find(make_pair(searchclass, dr.d_type));
+  auto i = getTypemap().find(make_pair(searchclass, dr.d_type));
   if(i==getTypemap().end() || !i->second) {
     return std::make_shared<UnknownRecordContent>(dr, pr);
   }
@@ -135,7 +135,7 @@ std::shared_ptr<DNSRecordContent> DNSRecordContent::mastermake(const DNSRecord &
 std::shared_ptr<DNSRecordContent> DNSRecordContent::mastermake(uint16_t qtype, uint16_t qclass,
                                                const string& content)
 {
-  zmakermap_t::const_iterator i=getZmakermap().find(make_pair(qclass, qtype));
+  auto i = getZmakermap().find(make_pair(qclass, qtype));
   if(i==getZmakermap().end()) {
     return std::make_shared<UnknownRecordContent>(content);
   }
@@ -152,7 +152,7 @@ std::shared_ptr<DNSRecordContent> DNSRecordContent::mastermake(const DNSRecord &
 
   uint16_t searchclass = (dr.d_type == QType::OPT) ? 1 : dr.d_class; // class is invalid for OPT
 
-  typemap_t::const_iterator i=getTypemap().find(make_pair(searchclass, dr.d_type));
+  auto i = getTypemap().find(make_pair(searchclass, dr.d_type));
   if(i==getTypemap().end() || !i->second) {
     return std::make_shared<UnknownRecordContent>(dr, pr);
   }
@@ -298,7 +298,7 @@ void MOADNSParser::init(bool query, const pdns_string_view& packet)
         d_tsigPos = recordStartPos;
       }
 
-      d_answers.push_back(make_pair(std::move(dr), pr.getPosition() - sizeof(dnsheader)));
+      d_answers.emplace_back(std::move(dr), pr.getPosition() - sizeof(dnsheader));
     }
 
 #if 0
index 3f39dd3ec5c8c7d88dda7f5881897b469baada94..5b79351b218c3998f62d8f1d0e90a2aed46eaea9 100644 (file)
@@ -237,13 +237,13 @@ public:
     if(z)
       getZmakermap()[make_pair(cl,ty)]=z;
 
-    getT2Namemap().insert(make_pair(make_pair(cl,ty), name));
-    getN2Typemap().insert(make_pair(name, make_pair(cl,ty)));
+    getT2Namemap().emplace(make_pair(cl, ty), name);
+    getN2Typemap().emplace(name, make_pair(cl, ty));
   }
 
   static void unregist(uint16_t cl, uint16_t ty) 
   {
-    pair<uint16_t, uint16_t> key=make_pair(cl, ty);
+    auto key = make_pair(cl, ty);
     getTypemap().erase(key);
     getZmakermap().erase(key);
   }
@@ -267,7 +267,7 @@ public:
 
   static const string NumberToType(uint16_t num, uint16_t classnum=1)
   {
-    t2namemap_t::const_iterator iter = getT2Namemap().find(make_pair(classnum, num));
+    auto iter = getT2Namemap().find(make_pair(classnum, num));
     if(iter == getT2Namemap().end()) 
       return "TYPE" + std::to_string(num);
       //      throw runtime_error("Unknown DNS type with numerical id "+std::to_string(num));
index bf413edcc4dcd108765cceb8027ca112e40a00cd..60a3311aca5c703125f20ffe2c6e1b10c6bbbe02 100644 (file)
@@ -104,7 +104,7 @@ try {
         queryTime.tv_sec = pr.d_pheader.ts.tv_sec;
         queryTime.tv_usec = pr.d_pheader.ts.tv_usec;
         uniqueId = getUniqueID();
-        ids[dh->id] = std::make_pair(uniqueId, queryTime);
+        ids[dh->id] = {uniqueId, queryTime};
       }
       else {
         const auto& it = ids.find(dh->id);
index e110473cf9712f1742c3014f9e58215d7d4fdf0e..d3f5741ecf3e66eda53b00695dbebde876c5d733 100644 (file)
@@ -190,7 +190,7 @@ void OPTRecordContent::getData(vector<pair<uint16_t, string> >& options)
 
     string field(d_data.c_str() + pos, len);
     pos+=len;
-    options.push_back(make_pair(code, std::move(field)));
+    options.emplace_back(code, std::move(field));
   }
 }
 
index 3679e73bcb271712f3db61ff902cc827addf580e..78226d919bd96e17d7e29924996ed769855c2b4c 100644 (file)
@@ -379,8 +379,8 @@ static void measureResultAndClean(qids_t::const_iterator iter)
       if(!g_quiet)
         cout<<"\t* orig better *"<<endl;
       s_origbetter++;
-      if(!g_quiet) 
-        if(s_origbetterset.insert(make_pair(qd.d_qi.d_qname, qd.d_qi.d_qtype)).second) {
+      if (!g_quiet)
+        if (s_origbetterset.emplace(qd.d_qi.d_qname, qd.d_qi.d_qtype).second) {
           cout<<"orig better: " << qd.d_qi.d_qname<<" "<< qd.d_qi.d_qtype<<endl;
         }
     }
index f8198320f351a410cafc0ef8f365f60af367f95b..061e04a68c6aa9bcfa11a83d06cf84da1ba87673 100644 (file)
@@ -283,12 +283,11 @@ try
              lc.outstanding = liveQuestions(); 
 
              LiveCounts diff = lc - lastcounts;
-             pcounts.push_back(make_pair(pr.d_pheader.ts.tv_sec, diff));
-
-           }
-           lastsec = pr.d_pheader.ts.tv_sec;
-           lastcounts = lc;
-         }
+              pcounts.emplace_back(pr.d_pheader.ts.tv_sec, diff);
+            }
+            lastsec = pr.d_pheader.ts.tv_sec;
+            lastcounts = lc;
+          }
 
     if(lowestTime) { lowestTime = min((time_t)lowestTime,  (time_t)pr.d_pheader.ts.tv_sec); }
     else { lowestTime = pr.d_pheader.ts.tv_sec; }
index e4f77e795f2278e3805f168708498fb7de7b222e..df008fc97a43e7eea2d195d1952baf319b632e19 100644 (file)
@@ -205,7 +205,7 @@ vector<pair<uint8_t, string>> DNSCryptoKeyEngine::listAllAlgosWithBackend()
   vector<pair<uint8_t, string>> ret;
   for (auto const& value : getMakers()) {
     auto dcke = value.second(value.first);
-    ret.push_back(make_pair(value.first, dcke->getName()));
+    ret.emplace_back(value.first, dcke->getName());
   }
   return ret;
 }
index 9b1b4b33d34dec48a6cdcf7de5a4b51bfa4f2fd0..d299568488d0afaa1e000b41fc4d462253af3015 100644 (file)
@@ -116,7 +116,7 @@ vector<pair<vector<DNSRecord>, vector<DNSRecord> > > processIXFRRecords(const Co
       }
     }
 
-    ret.push_back(make_pair(remove,add));
+    ret.emplace_back(remove, add);
   }
 
   return ret;
index fb668c659ad86bcfd68a3f3ffa19c042ae7a85be..2c75a15979dc47afa56f32ec3cc550ee849e98bb 100644 (file)
@@ -326,7 +326,7 @@ static ComboAddress pickwrandom(const vector<pair<int,ComboAddress> >& wips)
   vector<pair<int, ComboAddress> > pick;
   for(auto& i : wips) {
     sum += i.first;
-    pick.push_back({sum, i.second});
+    pick.emplace_back(sum, i.second);
   }
   int r = dns_random(sum);
   auto p = upper_bound(pick.begin(), pick.end(), r, [](int rarg, const decltype(pick)::value_type& a) { return rarg < a.first; });
index 235e6b405e1481b5ba1421dc1e860cb118d5366f..b77d98418a2303e04499d711c73f123202bedbff 100644 (file)
@@ -490,9 +490,9 @@ void RecursorLua4::getFeatures(Features& features)
 {
   // Add key-values pairs below.
   // Make sure you add string values explicitly converted to string.
-  // e.g. features.push_back(make_pair("somekey", string("stringvalue"));
+  // e.g. features.emplace_back("somekey", string("stringvalue");
   // Both int and double end up as a lua number type.
-  features.push_back(make_pair("PR8001_devicename", true));
+  features.emplace_back("PR8001_devicename", true);
 }
 
 void RecursorLua4::maintenance() const
index 2fcba38c0f06c19ce222e6f7db0e9be21c29feec..177632903cd2abda0b77013780810404a892e15d 100644 (file)
@@ -344,7 +344,7 @@ static LWResult::Result asyncresolve(const ComboAddress& ip, const DNSName& doma
       outgoingECSBits = srcmask->getBits();
       outgoingECSAddr = srcmask->getNetwork();
       //      cout<<"Adding request mask: "<<eo.source.toString()<<endl;
-      opts.push_back(make_pair(EDNSOptionCode::ECS, makeEDNSSubnetOptsString(eo)));
+      opts.emplace_back(EDNSOptionCode::ECS, makeEDNSSubnetOptsString(eo));
       weWantEDNSSubnet=true;
     }
 
index 961629ba7c4c5194e1c991166912eb70bd2762f6..4fe49c544cd5012d6d1883a49679b16bb2e0be56 100644 (file)
@@ -104,7 +104,7 @@ MallocTracer::allocators_t MallocTracer::topAllocators(int num)
   l_active=true;
   allocators_t ret;
   for(const auto& e : d_stats) {
-    ret.push_back(make_pair(e.second, e.first));
+    ret.emplace_back(e.second, e.first);
   }
   std::sort(ret.begin(), ret.end(), 
        [](const allocators_t::value_type& a, 
index aad2340fb943be580dea071017f83594190f6053..734d0191416c83a21a98ef17e8c00582375fe91b 100644 (file)
@@ -136,10 +136,10 @@ vstringtok (Container &container, string const &in,
 
     // push token
     if (j == string::npos) {
-      container.push_back (make_pair(i, len));
+      container.emplace_back(i, len);
       return;
     } else
-      container.push_back (make_pair(i, j));
+      container.emplace_back(i, j);
 
     // set up for next loop
     i = j + 1;
index b5742a8c48cb8e7f53f518b0f067b1d01c321462..d85efe91fe54487b650221966a956cea8b0376bc 100644 (file)
@@ -204,7 +204,7 @@ public:
       if (it->d_ttd.tv_sec == 0 || tied <= boost::tie(it->d_ttd.tv_sec, it->d_ttd.tv_usec)) {
         break;
       }
-      ret.push_back(std::make_pair(it->d_fd, it->d_parameter));
+      ret.emplace_back(it->d_fd, it->d_parameter);
     }
 
     return ret;
index 44a8d0a39069d6cb315ab2208a5a955404967445..1caf49ff5193cf1e4ac92a9dac66bf15c4e3a961 100644 (file)
@@ -177,10 +177,10 @@ try
       }
       // nsec3.insert(new nsec3()
       // cerr<<toBase32Hex(r.d_nexthash)<<endl;
-      nsec3s.insert(make_pair(toLower(i->first.d_name.getRawLabel(0)), toBase32Hex(r->d_nexthash)));
+      nsec3s.emplace(toLower(i->first.d_name.getRawLabel(0)), toBase32Hex(r->d_nexthash));
       nsec3salt = r->d_salt;
       nsec3iters = r->d_iterations;
-      nsec3t.insert(make_pair(toLower(i->first.d_name.getRawLabel(0)), r->numberOfTypesSet()));
+      nsec3t.emplace(toLower(i->first.d_name.getRawLabel(0)), r->numberOfTypesSet());
     }
     else
     {
index 0f5396cea225e2f03a95eeadd1d0e5b723ab83c0..7138f9705285caaac23eb793a9f388c725972163 100644 (file)
@@ -262,14 +262,14 @@ DNSCryptoKeyEngine::storvector_t OpenSSLRSADNSCryptoKeyEngine::convertToISCVecto
   RSA_get0_key(d_key.get(), &n, &e, &d);
   RSA_get0_factors(d_key.get(), &p, &q);
   RSA_get0_crt_params(d_key.get(), &dmp1, &dmq1, &iqmp);
-  outputs.push_back(make_pair("Modulus", n));
-  outputs.push_back(make_pair("PublicExponent", e));
-  outputs.push_back(make_pair("PrivateExponent", d));
-  outputs.push_back(make_pair("Prime1", p));
-  outputs.push_back(make_pair("Prime2", q));
-  outputs.push_back(make_pair("Exponent1", dmp1));
-  outputs.push_back(make_pair("Exponent2", dmq1));
-  outputs.push_back(make_pair("Coefficient", iqmp));
+  outputs.emplace_back("Modulus", n);
+  outputs.emplace_back("PublicExponent", e);
+  outputs.emplace_back("PrivateExponent", d);
+  outputs.emplace_back("Prime1", p);
+  outputs.emplace_back("Prime2", q);
+  outputs.emplace_back("Exponent1", dmp1);
+  outputs.emplace_back("Exponent2", dmq1);
+  outputs.emplace_back("Coefficient", iqmp);
 
   string algorithm=std::to_string(d_algorithm);
   switch(d_algorithm) {
@@ -286,7 +286,7 @@ DNSCryptoKeyEngine::storvector_t OpenSSLRSADNSCryptoKeyEngine::convertToISCVecto
     default:
       algorithm += " (?)";
   }
-  storvect.push_back(make_pair("Algorithm", algorithm));
+  storvect.emplace_back("Algorithm", algorithm);
 
   for(const outputs_t::value_type& value :  outputs) {
     std::string tmp;
@@ -294,7 +294,7 @@ DNSCryptoKeyEngine::storvector_t OpenSSLRSADNSCryptoKeyEngine::convertToISCVecto
     int len = BN_bn2bin(value.second, reinterpret_cast<unsigned char*>(&tmp.at(0)));
     if (len >= 0) {
       tmp.resize(len);
-      storvect.push_back(make_pair(value.first, tmp));
+      storvect.emplace_back(value.first, tmp);
     }
   }
 
@@ -640,7 +640,7 @@ DNSCryptoKeyEngine::storvector_t OpenSSLECDSADNSCryptoKeyEngine::convertToISCVec
   else
     algorithm = " ? (?)";
 
-  storvect.push_back(make_pair("Algorithm", algorithm));
+  storvect.emplace_back("Algorithm", algorithm);
 
   const BIGNUM *key = EC_KEY_get0_private_key(d_eckey.get());
   if (key == nullptr) {
@@ -655,7 +655,7 @@ DNSCryptoKeyEngine::storvector_t OpenSSLECDSADNSCryptoKeyEngine::convertToISCVec
   if (d_len - len)
     prefix.append(d_len - len, 0x00);
 
-  storvect.push_back(make_pair("PrivateKey", prefix + tmp));
+  storvect.emplace_back("PrivateKey", prefix + tmp);
 
   return storvect;
 }
@@ -943,7 +943,7 @@ DNSCryptoKeyEngine::storvector_t OpenSSLEDDSADNSCryptoKeyEngine::convertToISCVec
     algorithm = " ? (?)";
   }
 
-  storvect.push_back(make_pair("Algorithm", algorithm));
+  storvect.emplace_back("Algorithm", algorithm);
 
   string buf;
   size_t len = d_len;
@@ -951,7 +951,7 @@ DNSCryptoKeyEngine::storvector_t OpenSSLEDDSADNSCryptoKeyEngine::convertToISCVec
   if (EVP_PKEY_get_raw_private_key(d_edkey.get(), reinterpret_cast<unsigned char*>(&buf.at(0)), &len) < 1) {
     throw runtime_error(getName() + " Could not get private key from d_edkey");
   }
-  storvect.push_back(make_pair("PrivateKey", buf));
+  storvect.emplace_back("PrivateKey", buf);
   return storvect;
 }
 
index 19203cf2f9b2a7c78a41d0b6981443d638942f39..2070bd054a8ed0bb43f828e1e1fb950825f37fe2 100644 (file)
@@ -995,7 +995,7 @@ static void updateResponseStats(int res, const ComboAddress& remote, unsigned in
     if(t_servfailremotes) {
       t_servfailremotes->push_back(remote);
       if(query && t_servfailqueryring) // packet cache
-       t_servfailqueryring->push_back(make_pair(*query, qtype));
+        t_servfailqueryring->push_back({*query, qtype});
     }
     g_stats.servFails++;
     break;
@@ -1601,7 +1601,7 @@ static void startDoResolve(void *p)
   auto dc=std::unique_ptr<DNSComboWriter>(reinterpret_cast<DNSComboWriter*>(p));
   try {
     if (t_queryring)
-      t_queryring->push_back(make_pair(dc->d_mdp.d_qname, dc->d_mdp.d_qtype));
+      t_queryring->push_back({dc->d_mdp.d_qname, dc->d_mdp.d_qtype});
 
     uint16_t maxanswersize = dc->d_tcp ? 65535 : min(static_cast<uint16_t>(512), g_udpTruncationThreshold);
     EDNSOpts edo;
@@ -1648,7 +1648,7 @@ static void startDoResolve(void *p)
           const static string mode_server_id = ::arg()["server-id"];
           if (mode_server_id != "disabled" && !mode_server_id.empty() &&
               maxanswersize > (EDNSOptionCodeSize + EDNSOptionLengthSize + mode_server_id.size())) {
-            returnedEdnsOptions.push_back(make_pair(EDNSOptionCode::NSID, mode_server_id));
+            returnedEdnsOptions.emplace_back(EDNSOptionCode::NSID, mode_server_id);
             variableAnswer = true; // Can't packetcache an answer with NSID
             maxanswersize -= EDNSOptionCodeSize + EDNSOptionLengthSize + mode_server_id.size();
           }
@@ -2041,7 +2041,7 @@ static void startDoResolve(void *p)
             if(t_bogusremotes)
               t_bogusremotes->push_back(dc->d_source);
             if(t_bogusqueryring)
-              t_bogusqueryring->push_back(make_pair(dc->d_mdp.d_qname, dc->d_mdp.d_qtype));
+              t_bogusqueryring->push_back({dc->d_mdp.d_qname, dc->d_mdp.d_qtype});
             if(g_dnssecLogBogus || sr.doLog() || g_dnssecmode == DNSSECMode::ValidateForLog) {
                g_log<<Logger::Warning<<"Answer to "<<dc->d_mdp.d_qname<<"|"<<QType(dc->d_mdp.d_qtype)<<x_marker<<" for "<<dc->getRemote()<<" validates as "<<vStateToString(state)<<endl;
             }
@@ -2132,7 +2132,7 @@ static void startDoResolve(void *p)
 
         maxanswersize -= EDNSOptionCodeSize + EDNSOptionLengthSize + ecsPayload.size();
 
-        returnedEdnsOptions.push_back(make_pair(EDNSOptionCode::ECS, std::move(ecsPayload)));
+        returnedEdnsOptions.emplace_back(EDNSOptionCode::ECS, std::move(ecsPayload));
       }
     }
 
@@ -2156,7 +2156,7 @@ static void startDoResolve(void *p)
         if (modulo > 0) {
           padSize = std::min(blockSize - modulo, remaining);
         }
-        returnedEdnsOptions.push_back(make_pair(EDNSOptionCode::PADDING, makeEDNSPaddingOptString(padSize)));
+        returnedEdnsOptions.emplace_back(EDNSOptionCode::PADDING, makeEDNSPaddingOptString(padSize));
       }
     }
 
@@ -2227,7 +2227,7 @@ static void startDoResolve(void *p)
         eee.extraText = std::move(extra);
 
         if (pw.size() < maxanswersize && (maxanswersize - pw.size()) >= (EDNSOptionCodeSize + EDNSOptionLengthSize + sizeof(eee.infoCode) + eee.extraText.size())) {
-          returnedEdnsOptions.push_back(make_pair(EDNSOptionCode::EXTENDEDERROR, makeEDNSExtendedErrorOptString(eee)));
+          returnedEdnsOptions.emplace_back(EDNSOptionCode::EXTENDEDERROR, makeEDNSExtendedErrorOptString(eee));
         }
       }
 
@@ -2585,7 +2585,7 @@ static bool checkForCacheHit(bool qnameParsed, unsigned int tag, const string& d
         t_bogusremotes->push_back(source);
       }
       if (t_bogusqueryring) {
-        t_bogusqueryring->push_back(make_pair(qname, qtype));
+        t_bogusqueryring->push_back({qname, qtype});
       }
     }
 
@@ -3564,7 +3564,7 @@ static void makeTCPServerSockets(deferredAdd_t& deferredAdds, std::set<int>& tcp
     setNonBlocking(fd);
     setSocketSendBuffer(fd, 65000);
     listen(fd, 128);
-    deferredAdds.push_back(make_pair(fd, handleNewTCPQuestion));
+    deferredAdds.emplace_back(fd, handleNewTCPQuestion);
     tcpSockets.insert(fd);
 
     // we don't need to update g_listenSocketsAddresses since it doesn't work for TCP/IP:
@@ -3661,7 +3661,7 @@ static void makeUDPServerSockets(deferredAdd_t& deferredAdds)
 
     setNonBlocking(fd);
 
-    deferredAdds.push_back(make_pair(fd, handleNewUDPQuestion));
+    deferredAdds.emplace_back(fd, handleNewUDPQuestion);
     g_listenSocketsAddresses[fd]=sin;  // this is written to only from the startup thread, not from the workers
     if(sin.sin4.sin_family == AF_INET)
       g_log<<Logger::Info<<"Listening for UDP queries on "<< sin.toString() <<":"<<st.port<<endl;
index 235eed5d61f217601b5423854d0fb3022d12fde1..4d79d3a2f15cbad191d2137c44a60b7b8805de6f 100644 (file)
@@ -972,17 +972,14 @@ int PKCS11DNSCryptoKeyEngine::getBits() const {
 };
 
 DNSCryptoKeyEngine::storvector_t PKCS11DNSCryptoKeyEngine::convertToISCVector() const {
-  storvector_t storvect;
-  typedef std::vector<std::pair<std::string, std::string> > outputs_t;
-  outputs_t outputs;
-
-  boost::assign::push_back(storvect)
-   (make_pair("Algorithm", std::to_string(d_algorithm)))
-   (make_pair("Engine", d_module))
-   (make_pair("Slot", d_slot_id))
-   (make_pair("PIN", d_pin))
-   (make_pair("Label", d_label))
-   (make_pair("PubLabel", d_pub_label));
+  auto storvect = storvector_t{
+    {"Algorithm", std::to_string(d_algorithm)},
+    {"Engine", d_module},
+    {"Slot", d_slot_id},
+    {"PIN", d_pin},
+    {"Label", d_label},
+    {"PubLabel", d_pub_label},
+  };
   return storvect;
 };
 
index 2b07f63f963e5b41dcc8dbcfb757fd4d83fcc8ad..b7c7270e79bab9c81e74cf483e5f3b139e08eb1e 100644 (file)
@@ -243,11 +243,11 @@ template<typename Container> ssize_t parseProxyHeader(const Container& header, b
         return 0;
       }
 
-      values.push_back({ std::string(reinterpret_cast<const char*>(&header.at(pos)), len), type });
+      values.push_back({std::string(reinterpret_cast<const char*>(&header.at(pos)), len), type});
       pos += len;
     }
     else {
-      values.push_back({ std::string(), type });
+      values.push_back({"", type});
     }
 
     remaining = got - pos;
index b3d7d14087343300136cb4e2bb1117fcd9f00adb..8f4302bcd5406f38c21d04ba5742a61a955d66ee 100644 (file)
@@ -101,7 +101,7 @@ static map<uint16_t, const string> swapElements(const map<const string, uint16_t
   map<uint16_t, const string> ret;
 
   for (const auto& n : names) {
-    ret.insert(make_pair(n.second, n.first));
+    ret.emplace(n.second, n.first);
   }
   return ret;
 }
index d20d01d1ae15ef4e3a447bce64d3db7c98772d70..f98ebc79e605e89bab4a4f7d140610c376424a4a 100644 (file)
@@ -45,11 +45,11 @@ std::pair<std::string, std::string> PrefixDashNumberCompare::prefixAndTrailingNu
 {
   auto i = a.length();
   if (i == 0) {
-    return make_pair(a, "");
+    return {a, ""};
   }
   --i;
   if (!std::isdigit(a[i])) {
-    return make_pair(a, "");
+    return {a, ""};
   }
   while (i > 0) {
     if (!std::isdigit(a[i])) {
@@ -57,7 +57,7 @@ std::pair<std::string, std::string> PrefixDashNumberCompare::prefixAndTrailingNu
     }
     --i;
   }
-  return make_pair(a.substr(0, i + 1), a.substr(i + 1, a.size() - i - 1));
+  return {a.substr(0, i + 1), a.substr(i + 1, a.size() - i - 1)};
 }
 
 bool PrefixDashNumberCompare::operator()(const std::string& a, const std::string& b) const
@@ -197,18 +197,18 @@ StatsMap getAllStatsMap(StatComponent component)
 
   for(const auto& the32bits :  d_get32bitpointers) {
     if (disabledlistMap.count(the32bits.first) == 0) {
-      ret.insert(make_pair(the32bits.first, StatsMapEntry{getPrometheusName(the32bits.first), std::to_string(*the32bits.second)}));
+      ret.emplace(the32bits.first, StatsMapEntry{getPrometheusName(the32bits.first), std::to_string(*the32bits.second)});
     }
   }
   for(const auto& atomic :  d_getatomics) {
     if (disabledlistMap.count(atomic.first) == 0) {
-      ret.insert(make_pair(atomic.first, StatsMapEntry{getPrometheusName(atomic.first), std::to_string(atomic.second->load())}));
+      ret.emplace(atomic.first, StatsMapEntry{getPrometheusName(atomic.first), std::to_string(atomic.second->load())});
     }
   }
 
   for(const auto& the64bitmembers :  d_get64bitmembers) {
     if (disabledlistMap.count(the64bitmembers.first) == 0) {
-      ret.insert(make_pair(the64bitmembers.first, StatsMapEntry{getPrometheusName(the64bitmembers.first), std::to_string(the64bitmembers.second())}));
+      ret.emplace(the64bitmembers.first, StatsMapEntry{getPrometheusName(the64bitmembers.first), std::to_string(the64bitmembers.second())});
     }
   }
 
@@ -221,7 +221,7 @@ StatsMap getAllStatsMap(StatComponent component)
   {
     for(const auto& a : *(d_dynmetrics.lock())) {
       if (disabledlistMap.count(a.first) == 0) {
-        ret.insert(make_pair(a.first, StatsMapEntry{a.second.d_prometheusName, std::to_string(*a.second.d_ptr)}));
+        ret.emplace(a.first, StatsMapEntry{a.second.d_prometheusName, std::to_string(*a.second.d_ptr)});
       }
     }
   }
@@ -486,7 +486,7 @@ static string doWipeCache(T begin, T end, uint16_t qtype)
     } catch (std::exception &e) {
       return "Error: " + std::string(e.what()) + ", nothing wiped\n";
     }
-    toWipe.push_back({canon, subtree});
+    toWipe.emplace_back(canon, subtree);
   }
 
   int count=0, pcount=0, countNeg=0;
@@ -1159,7 +1159,7 @@ static StatsMap toCPUStatsMap(const string& name)
   for (unsigned int n = 0; n < g_numThreads; ++n) {
     uint64_t tm = doGetThreadCPUMsec(n);
     std::string pname = pbasename + "{thread=\"" + std::to_string(n) + "\"}";
-    entries.emplace(make_pair(name + "-thread-" + std::to_string(n), StatsMapEntry{pname, std::to_string(tm)}));
+    entries.emplace(name + "-thread-" + std::to_string(n), StatsMapEntry{pname, std::to_string(tm)});
   }
   return entries;
 }
@@ -1606,9 +1606,9 @@ static string doGenericTopRemotes(pleaseremotefunc_t func)
   
   typedef std::multimap<int, ComboAddress> rcounts_t;
   rcounts_t rcounts;
-  
-  for(counts_t::const_iterator i=counts.begin(); i != counts.end(); ++i)
-    rcounts.insert(make_pair(-i->second, i->first));
+
+  for (auto&& c : counts)
+    rcounts.emplace(-c.second, c.first);
 
   ostringstream ret;
   ret<<"Over last "<<total<<" entries:\n";
@@ -1674,9 +1674,9 @@ static string doGenericTopQueries(pleasequeryfunc_t func, boost::function<DNSNam
 
   typedef std::multimap<int, query_t> rcounts_t;
   rcounts_t rcounts;
-  
-  for(counts_t::const_iterator i=counts.begin(); i != counts.end(); ++i)
-    rcounts.insert(make_pair(-i->second, i->first));
+
+  for (auto&& c : counts)
+    rcounts.emplace(-c.second, c.first);
 
   ostringstream ret;
   ret<<"Over last "<<total<<" entries:\n";
index 6d36f14e334e25daed5bdf720471713e4fb73b65..5878022cb00924b6f471a5707ef3f863df6af7ff 100644 (file)
@@ -28,9 +28,9 @@ static void getRawQueryWithECSAndCookie(const DNSName& name, const Netmask& ecs,
   ecsOpts.source = ecs;
   string origECSOptionStr = makeEDNSSubnetOptsString(ecsOpts);
   DNSPacketWriter::optvect_t opts;
-  opts.push_back(make_pair(EDNSOptionCode::COOKIE, cookiesOptionStr));
-  opts.push_back(make_pair(EDNSOptionCode::ECS, origECSOptionStr));
-  opts.push_back(make_pair(EDNSOptionCode::COOKIE, cookiesOptionStr));
+  opts.emplace_back(EDNSOptionCode::COOKIE, cookiesOptionStr);
+  opts.emplace_back(EDNSOptionCode::ECS, origECSOptionStr);
+  opts.emplace_back(EDNSOptionCode::COOKIE, cookiesOptionStr);
   pw.addOpt(512, 0, 0, opts);
   pw.commit();
 }
index d590bccbb2593ad4edb47a881618fea616cd78fe..c0f63945049b11eca83e96ed26bc2d1f6ea09ad4 100644 (file)
@@ -776,7 +776,7 @@ int PacketHandler::processUpdate(DNSPacket& p) {
         return RCode::FormErr;
 
       if (rr->d_class == QClass::IN) {
-        rrSetKey_t key = make_pair(rr->d_name, QType(rr->d_type));
+        rrSetKey_t key = {rr->d_name, QType(rr->d_type)};
         rrVector_t *vec = &preReqRRsets[key];
         vec->push_back(DNSResourceRecord::fromWire(*rr));
       }
index a7517804f0c5b19d733c2db7752dfbeb94ed7bf4..20e677a9efb18d75dfb627799ab26285db422129 100644 (file)
@@ -183,7 +183,7 @@ try
         o<<"\t"<<i->first.d_content->getZoneRepresentation();
       }
 
-      records.push_back(make_pair(i->first.d_name,o.str()));
+      records.emplace_back(i->first.d_name, o.str());
 
       DNSName shorter(i->first.d_name);
       do {
index 8188a9e49521e44205aabe62d2e33c429a7c6b16..6e9d77635b61536fc2226d3599b76648e80dd181 100644 (file)
@@ -75,8 +75,7 @@ static void fillPacket(vector<uint8_t>& packet, const string& q, const string& t
     if (ednsnm) {
       EDNSSubnetOpts eo;
       eo.source = *ednsnm;
-      opts.push_back(
-        make_pair(EDNSOptionCode::ECS, makeEDNSSubnetOptsString(eo)));
+      opts.emplace_back(EDNSOptionCode::ECS, makeEDNSSubnetOptsString(eo));
     }
 
     pw.addOpt(bufsize, 0, dnssec ? EDNSOpts::DNSSECOK : 0, opts);
@@ -364,10 +363,10 @@ try {
     while (getline(std::cin, line)) {
       auto fields = splitField(line, ' ');
 
-      questions.push_back(make_pair(fields.first, fields.second));
+      questions.emplace_back(fields.first, fields.second);
     }
   } else {
-    questions.push_back(make_pair(name, type));
+    questions.emplace_back(name, type);
   }
 
   if (doh) {
@@ -378,8 +377,8 @@ try {
                xpfproto, xpfsrc, xpfdst, qclass, opcode, 0);
     MiniCurl mc;
     MiniCurl::MiniCurlHeaders mch;
-    mch.insert(std::make_pair("Content-Type", "application/dns-message"));
-    mch.insert(std::make_pair("Accept", "application/dns-message"));
+    mch.emplace("Content-Type", "application/dns-message");
+    mch.emplace("Accept", "application/dns-message");
     string question(packet.begin(), packet.end());
     // FIXME: how do we use proxyheader here?
     reply = mc.postURL(argv[1], question, mch, timeout.tv_sec, fastOpen);
index 3322e2763fb9452291ce783b285f682f87fd2857..79b0d3955097c28d92f15b1bba2bcb40fe2931fb 100644 (file)
@@ -1056,7 +1056,7 @@ vector<pair<DNSName, ComboAddress> > CommunicatorClass::getSuckRequests() {
   auto data = d_data.lock();
   ret.reserve(data->d_suckdomains.size());
   for (auto const &d : data->d_suckdomains) {
-    ret.push_back(make_pair(d.domain, d.master));
+    ret.emplace_back(d.domain, d.master);
   }
   return ret;
 }
index d33eb20ec37b6cb62ff04389d16fddcac16e076d..8c015da1e8b0ba613ad7e19996c93e9125a417fd 100644 (file)
@@ -58,10 +58,10 @@ DNSCryptoKeyEngine::storvector_t SodiumED25519DNSCryptoKeyEngine::convertToISCVe
   storvector_t storvector;
   string algorithm = "15 (ED25519)";
 
-  storvector.push_back(make_pair("Algorithm", algorithm));
+  storvector.emplace_back("Algorithm", algorithm);
 
   vector<unsigned char> buffer;
-  storvector.push_back(make_pair("PrivateKey", string((char*)d_seckey, crypto_sign_ed25519_SEEDBYTES)));
+  storvector.emplace_back("PrivateKey", string((char*)d_seckey, crypto_sign_ed25519_SEEDBYTES));
   return storvector;
 }
 
index 4e9f70bd469ac0b2f01afec2965226e5301649c1..46066d2ca076d1da360e249979decc54ca0371d7 100644 (file)
@@ -268,12 +268,12 @@ vector<pair<string, unsigned int> > StatBag::getRing(const string &name)
     typedef pair<SComboAddress, unsigned int> stor_t;
     vector<stor_t> raw =d_comboRings[name].lock()->get();
     for(const stor_t& stor :  raw) {
-      ret.push_back(make_pair(stor.first.ca.toString(), stor.second));
+      ret.emplace_back(stor.first.ca.toString(), stor.second);
     }
   } else if (d_dnsnameqtyperings.count(name)) {
     auto raw = d_dnsnameqtyperings[name].lock()->get();
     for (auto const &e : raw) {
-      ret.push_back(make_pair(std::get<0>(e.first).toLogString() + "/" + std::get<1>(e.first).toString(), e.second));
+      ret.emplace_back(std::get<0>(e.first).toLogString() + "/" + std::get<1>(e.first).toString(), e.second);
     }
   }
   return ret;
index 7d473e09829dfcf2ed39bf04ca6a9c611513ec1a..e962cf7fea1fda58d7e9e08743a9a33be95d4325 100644 (file)
@@ -204,16 +204,16 @@ bool SyncRes::doSpecialNamesResolve(const DNSName &qname, const QType qtype, con
       qclass == QClass::IN) {
     handled = true;
     if (qtype == QType::PTR || qtype == QType::ANY)
-      answers.push_back({QType::PTR, "localhost."});
+      answers.emplace_back(QType::PTR, "localhost.");
   }
 
   if (qname.isPartOf(localhost) &&
       qclass == QClass::IN) {
     handled = true;
     if (qtype == QType::A || qtype == QType::ANY)
-      answers.push_back({QType::A, "127.0.0.1"});
+      answers.emplace_back(QType::A, "127.0.0.1");
     if (qtype == QType::AAAA || qtype == QType::ANY)
-      answers.push_back({QType::AAAA, "::1"});
+      answers.emplace_back(QType::AAAA, "::1");
   }
 
   if ((qname == versionbind || qname == idserver || qname == versionpdns) &&
@@ -221,9 +221,9 @@ bool SyncRes::doSpecialNamesResolve(const DNSName &qname, const QType qtype, con
     handled = true;
     if (qtype == QType::TXT || qtype == QType::ANY) {
       if(qname == versionbind || qname == versionpdns)
-        answers.push_back({QType::TXT, "\""+::arg()["version-string"]+"\""});
+        answers.emplace_back(QType::TXT, "\"" + ::arg()["version-string"] + "\"");
       else if (s_serverID != "disabled")
-        answers.push_back({QType::TXT, "\""+s_serverID+"\""});
+        answers.emplace_back(QType::TXT, "\"" + s_serverID + "\"");
     }
   }
 
@@ -241,7 +241,7 @@ bool SyncRes::doSpecialNamesResolve(const DNSName &qname, const QType qtype, con
           ans<<dsRecord.d_tag;
         }
         ans << "\"";
-        answers.push_back({QType::TXT, ans.str()});
+        answers.emplace_back(QType::TXT, ans.str());
       }
     }
   }
@@ -258,7 +258,7 @@ bool SyncRes::doSpecialNamesResolve(const DNSName &qname, const QType qtype, con
         if (negAnchor.second.length())
           ans<<" "<<negAnchor.second;
         ans << "\"";
-        answers.push_back({QType::TXT, ans.str()});
+        answers.emplace_back(QType::TXT, ans.str());
       }
     }
   }
@@ -1262,7 +1262,7 @@ void SyncRes::getBestNSFromCache(const DNSName &qname, const QType qtype, vector
        answer.qtype=qtype.getCode();
        for(const auto& dr : bestns) {
           if (auto nsContent = getRR<NSRecordContent>(dr)) {
-            answer.bestns.insert(make_pair(dr.d_name, nsContent->getNS()));
+            answer.bestns.emplace(dr.d_name, nsContent->getNS());
           }
         }
 
@@ -1976,7 +1976,7 @@ inline std::vector<std::pair<DNSName, float>> SyncRes::shuffleInSpeedOrder(NsSet
   rnameservers.reserve(tnameservers.size());
   for(const auto& tns: tnameservers) {
     float speed = t_sstorage.nsSpeeds[tns.first].get(d_now);
-    rnameservers.push_back({tns.first, speed});
+    rnameservers.emplace_back(tns.first, speed);
     if(tns.first.empty()) // this was an authoritative OOB zone, don't pollute the nsSpeeds with that
       return rnameservers;
   }
index 17944d0f50ffeea469568898b5f510dcb1da2052..8bf0e99b26c5960e6de3c5b7473fd7a2537293df 100644 (file)
@@ -488,7 +488,7 @@ BOOST_AUTO_TEST_CASE(replaceECSWithSameSize) {
   ecsOpts.source = Netmask(origRemote, ECSSourcePrefixV4);
   string origECSOption = makeEDNSSubnetOptsString(ecsOpts);
   GenericDNSPacketWriter<PacketBuffer>::optvect_t opts;
-  opts.push_back(make_pair(EDNSOptionCode::ECS, origECSOption));
+  opts.emplace_back(EDNSOptionCode::ECS, origECSOption);
   pw.addOpt(512, 0, 0, opts);
   pw.commit();
 
@@ -523,7 +523,7 @@ BOOST_AUTO_TEST_CASE(replaceECSWithSameSizeAlreadyParsed) {
   ecsOpts.source = Netmask(origRemote, ECSSourcePrefixV4);
   string origECSOption = makeEDNSSubnetOptsString(ecsOpts);
   GenericDNSPacketWriter<PacketBuffer>::optvect_t opts;
-  opts.push_back(make_pair(EDNSOptionCode::ECS, origECSOption));
+  opts.emplace_back(EDNSOptionCode::ECS, origECSOption);
   pw.addOpt(512, 0, 0, opts);
   pw.commit();
 
@@ -568,7 +568,7 @@ BOOST_AUTO_TEST_CASE(replaceECSWithSmaller) {
   ecsOpts.source = Netmask(origRemote, 32);
   string origECSOption = makeEDNSSubnetOptsString(ecsOpts);
   GenericDNSPacketWriter<PacketBuffer>::optvect_t opts;
-  opts.push_back(make_pair(EDNSOptionCode::ECS, origECSOption));
+  opts.emplace_back(EDNSOptionCode::ECS, origECSOption);
   pw.addOpt(512, 0, 0, opts);
   pw.commit();
 
@@ -606,7 +606,7 @@ BOOST_AUTO_TEST_CASE(replaceECSWithLarger) {
   ecsOpts.source = Netmask(origRemote, 8);
   string origECSOption = makeEDNSSubnetOptsString(ecsOpts);
   GenericDNSPacketWriter<PacketBuffer>::optvect_t opts;
-  opts.push_back(make_pair(EDNSOptionCode::ECS, origECSOption));
+  opts.emplace_back(EDNSOptionCode::ECS, origECSOption);
   pw.addOpt(512, 0, 0, opts);
   pw.commit();
 
@@ -659,7 +659,7 @@ BOOST_AUTO_TEST_CASE(replaceECSFollowedByTSIG) {
   ecsOpts.source = Netmask(origRemote, 8);
   string origECSOption = makeEDNSSubnetOptsString(ecsOpts);
   GenericDNSPacketWriter<PacketBuffer>::optvect_t opts;
-  opts.push_back(make_pair(EDNSOptionCode::ECS, origECSOption));
+  opts.emplace_back(EDNSOptionCode::ECS, origECSOption);
   pw.addOpt(512, 0, 0, opts);
   pw.startRecord(DNSName("tsigname."), QType::TSIG, 0, QClass::ANY, DNSResourceRecord::ADDITIONAL, false);
   pw.commit();
@@ -715,7 +715,7 @@ BOOST_AUTO_TEST_CASE(replaceECSAfterAN) {
   ecsOpts.source = Netmask(origRemote, 8);
   string origECSOption = makeEDNSSubnetOptsString(ecsOpts);
   GenericDNSPacketWriter<PacketBuffer>::optvect_t opts;
-  opts.push_back(make_pair(EDNSOptionCode::ECS, origECSOption));
+  opts.emplace_back(EDNSOptionCode::ECS, origECSOption);
   pw.addOpt(512, 0, 0, opts);
   pw.commit();
 
@@ -770,7 +770,7 @@ BOOST_AUTO_TEST_CASE(replaceECSAfterAuth) {
   ecsOpts.source = Netmask(origRemote, 8);
   string origECSOption = makeEDNSSubnetOptsString(ecsOpts);
   GenericDNSPacketWriter<PacketBuffer>::optvect_t opts;
-  opts.push_back(make_pair(EDNSOptionCode::ECS, origECSOption));
+  opts.emplace_back(EDNSOptionCode::ECS, origECSOption);
   pw.addOpt(512, 0, 0, opts);
   pw.commit();
 
@@ -823,7 +823,7 @@ BOOST_AUTO_TEST_CASE(replaceECSBetweenTwoRecords) {
   ecsOpts.source = Netmask(origRemote, 8);
   string origECSOption = makeEDNSSubnetOptsString(ecsOpts);
   GenericDNSPacketWriter<PacketBuffer>::optvect_t opts;
-  opts.push_back(make_pair(EDNSOptionCode::ECS, origECSOption));
+  opts.emplace_back(EDNSOptionCode::ECS, origECSOption);
   pw.startRecord(DNSName("additional"), QType::A, 0, QClass::IN, DNSResourceRecord::ADDITIONAL, false);
   pw.xfr32BitInt(0x01020304);
   pw.addOpt(512, 0, 0, opts);
@@ -1074,7 +1074,7 @@ BOOST_AUTO_TEST_CASE(removeECSWhenOnlyOption) {
   ecsOpts.source = Netmask(origRemote, ECSSourcePrefixV4);
   string origECSOptionStr = makeEDNSSubnetOptsString(ecsOpts);
   GenericDNSPacketWriter<PacketBuffer>::optvect_t opts;
-  opts.push_back(make_pair(EDNSOptionCode::ECS, origECSOptionStr));
+  opts.emplace_back(EDNSOptionCode::ECS, origECSOptionStr);
   pw.addOpt(512, 0, 0, opts);
   pw.commit();
 
@@ -1123,8 +1123,8 @@ BOOST_AUTO_TEST_CASE(removeECSWhenFirstOption) {
   EDNSCookiesOpt cookiesOpt("deadbeefdeadbeef");
   string cookiesOptionStr = cookiesOpt.makeOptString();
   GenericDNSPacketWriter<PacketBuffer>::optvect_t opts;
-  opts.push_back(make_pair(EDNSOptionCode::ECS, origECSOptionStr));
-  opts.push_back(make_pair(EDNSOptionCode::COOKIE, cookiesOptionStr));
+  opts.emplace_back(EDNSOptionCode::ECS, origECSOptionStr);
+  opts.emplace_back(EDNSOptionCode::COOKIE, cookiesOptionStr);
   pw.addOpt(512, 0, 0, opts);
   pw.commit();
 
@@ -1176,9 +1176,9 @@ BOOST_AUTO_TEST_CASE(removeECSWhenIntermediaryOption) {
   string cookiesOptionStr2 = cookiesOpt.makeOptString();
 
   GenericDNSPacketWriter<PacketBuffer>::optvect_t opts;
-  opts.push_back(make_pair(EDNSOptionCode::COOKIE, cookiesOptionStr1));
-  opts.push_back(make_pair(EDNSOptionCode::ECS, origECSOptionStr));
-  opts.push_back(make_pair(EDNSOptionCode::COOKIE, cookiesOptionStr2));
+  opts.emplace_back(EDNSOptionCode::COOKIE, cookiesOptionStr1);
+  opts.emplace_back(EDNSOptionCode::ECS, origECSOptionStr);
+  opts.emplace_back(EDNSOptionCode::COOKIE, cookiesOptionStr2);
   pw.addOpt(512, 0, 0, opts);
   pw.commit();
 
@@ -1227,8 +1227,8 @@ BOOST_AUTO_TEST_CASE(removeECSWhenLastOption) {
   ecsOpts.source = Netmask(origRemote, ECSSourcePrefixV4);
   string origECSOptionStr = makeEDNSSubnetOptsString(ecsOpts);
   GenericDNSPacketWriter<PacketBuffer>::optvect_t opts;
-  opts.push_back(make_pair(EDNSOptionCode::COOKIE, cookiesOptionStr));
-  opts.push_back(make_pair(EDNSOptionCode::ECS, origECSOptionStr));
+  opts.emplace_back(EDNSOptionCode::COOKIE, cookiesOptionStr);
+  opts.emplace_back(EDNSOptionCode::ECS, origECSOptionStr);
   pw.addOpt(512, 0, 0, opts);
   pw.commit();
 
@@ -1271,7 +1271,7 @@ BOOST_AUTO_TEST_CASE(rewritingWithoutECSWhenOnlyOption) {
   ecsOpts.source = Netmask(origRemote, ECSSourcePrefixV4);
   string origECSOptionStr = makeEDNSSubnetOptsString(ecsOpts);
   GenericDNSPacketWriter<PacketBuffer>::optvect_t opts;
-  opts.push_back(make_pair(EDNSOptionCode::ECS, origECSOptionStr));
+  opts.emplace_back(EDNSOptionCode::ECS, origECSOptionStr);
   pw.addOpt(512, 0, 0, opts);
   pw.commit();
 
@@ -1310,8 +1310,8 @@ BOOST_AUTO_TEST_CASE(rewritingWithoutECSWhenFirstOption) {
   EDNSCookiesOpt cookiesOpt("deadbeefdeadbeef");
   string cookiesOptionStr = cookiesOpt.makeOptString();
   GenericDNSPacketWriter<PacketBuffer>::optvect_t opts;
-  opts.push_back(make_pair(EDNSOptionCode::ECS, origECSOptionStr));
-  opts.push_back(make_pair(EDNSOptionCode::COOKIE, cookiesOptionStr));
+  opts.emplace_back(EDNSOptionCode::ECS, origECSOptionStr);
+  opts.emplace_back(EDNSOptionCode::COOKIE, cookiesOptionStr);
   pw.addOpt(512, 0, 0, opts);
   pw.commit();
 
@@ -1351,9 +1351,9 @@ BOOST_AUTO_TEST_CASE(rewritingWithoutECSWhenIntermediaryOption) {
   string cookiesOptionStr1 = cookiesOpt.makeOptString();
   string cookiesOptionStr2 = cookiesOpt.makeOptString();
   GenericDNSPacketWriter<PacketBuffer>::optvect_t opts;
-  opts.push_back(make_pair(EDNSOptionCode::COOKIE, cookiesOptionStr1));
-  opts.push_back(make_pair(EDNSOptionCode::ECS, origECSOptionStr));
-  opts.push_back(make_pair(EDNSOptionCode::COOKIE, cookiesOptionStr2));
+  opts.emplace_back(EDNSOptionCode::COOKIE, cookiesOptionStr1);
+  opts.emplace_back(EDNSOptionCode::ECS, origECSOptionStr);
+  opts.emplace_back(EDNSOptionCode::COOKIE, cookiesOptionStr2);
   pw.addOpt(512, 0, 0, opts);
   pw.commit();
 
@@ -1392,8 +1392,8 @@ BOOST_AUTO_TEST_CASE(rewritingWithoutECSWhenLastOption) {
   EDNSCookiesOpt cookiesOpt("deadbeefdeadbeef");
   string cookiesOptionStr = cookiesOpt.makeOptString();
   GenericDNSPacketWriter<PacketBuffer>::optvect_t opts;
-  opts.push_back(make_pair(EDNSOptionCode::COOKIE, cookiesOptionStr));
-  opts.push_back(make_pair(EDNSOptionCode::ECS, origECSOptionStr));
+  opts.emplace_back(EDNSOptionCode::COOKIE, cookiesOptionStr);
+  opts.emplace_back(EDNSOptionCode::ECS, origECSOptionStr);
   pw.addOpt(512, 0, 0, opts);
   pw.commit();
 
@@ -1458,8 +1458,8 @@ BOOST_AUTO_TEST_CASE(test_getEDNSZ) {
   EDNSCookiesOpt cookiesOpt("deadbeefdeadbeef");
   string cookiesOptionStr = cookiesOpt.makeOptString();
   GenericDNSPacketWriter<PacketBuffer>::optvect_t opts;
-  opts.push_back(make_pair(EDNSOptionCode::COOKIE, cookiesOptionStr));
-  opts.push_back(make_pair(EDNSOptionCode::ECS, origECSOptionStr));
+  opts.emplace_back(EDNSOptionCode::COOKIE, cookiesOptionStr);
+  opts.emplace_back(EDNSOptionCode::ECS, origECSOptionStr);
 
   {
     /* no EDNS */
@@ -1554,8 +1554,8 @@ BOOST_AUTO_TEST_CASE(test_addEDNSToQueryTurnedResponse) {
   EDNSCookiesOpt cookiesOpt("deadbeefdeadbeef");
   string cookiesOptionStr = cookiesOpt.makeOptString();
   GenericDNSPacketWriter<PacketBuffer>::optvect_t opts;
-  opts.push_back(make_pair(EDNSOptionCode::COOKIE, cookiesOptionStr));
-  opts.push_back(make_pair(EDNSOptionCode::ECS, origECSOptionStr));
+  opts.emplace_back(EDNSOptionCode::COOKIE, cookiesOptionStr);
+  opts.emplace_back(EDNSOptionCode::ECS, origECSOptionStr);
   ComboAddress lc("127.0.0.1");
   ComboAddress rem("127.0.0.1");
   struct timespec queryRealTime;
@@ -1656,7 +1656,7 @@ BOOST_AUTO_TEST_CASE(test_getEDNSOptionsStart) {
   ecsOpts.source = Netmask(ComboAddress("127.0.0.1"), ECSSourcePrefixV4);
   const string ecsOptionStr = makeEDNSSubnetOptsString(ecsOpts);
   GenericDNSPacketWriter<PacketBuffer>::optvect_t opts;
-  opts.push_back(make_pair(EDNSOptionCode::ECS, ecsOptionStr));
+  opts.emplace_back(EDNSOptionCode::ECS, ecsOptionStr);
   const ComboAddress lc("127.0.0.1");
   const ComboAddress rem("127.0.0.1");
   uint16_t optRDPosition;
@@ -1763,9 +1763,9 @@ BOOST_AUTO_TEST_CASE(test_isEDNSOptionInOpt) {
   const size_t sizeOfCookieOption = /* option code */ 2 + /* option length */ 2 + cookiesOpt.size();
   /*
     GenericDNSPacketWriter<PacketBuffer>::optvect_t opts;
-    opts.push_back(make_pair(EDNSOptionCode::COOKIE, cookiesOptionStr));
-    opts.push_back(make_pair(EDNSOptionCode::ECS, ecsOptionStr));
-    opts.push_back(make_pair(EDNSOptionCode::COOKIE, cookiesOptionStr));
+    opts.emplace_back(EDNSOptionCode::COOKIE, cookiesOptionStr);
+    opts.emplace_back(EDNSOptionCode::ECS, ecsOptionStr);
+    opts.emplace_back(EDNSOptionCode::COOKIE, cookiesOptionStr);
   */
   const ComboAddress lc("127.0.0.1");
   const ComboAddress rem("127.0.0.1");
@@ -1811,8 +1811,8 @@ BOOST_AUTO_TEST_CASE(test_isEDNSOptionInOpt) {
     PacketBuffer query;
     GenericDNSPacketWriter<PacketBuffer> pw(query, qname, qtype, qclass, 0);
     GenericDNSPacketWriter<PacketBuffer>::optvect_t opts;
-    opts.push_back(make_pair(EDNSOptionCode::COOKIE, cookiesOptionStr));
-    opts.push_back(make_pair(EDNSOptionCode::COOKIE, cookiesOptionStr));
+    opts.emplace_back(EDNSOptionCode::COOKIE, cookiesOptionStr);
+    opts.emplace_back(EDNSOptionCode::COOKIE, cookiesOptionStr);
     pw.addOpt(512, 0, 0, opts);
     pw.commit();
 
@@ -1829,8 +1829,8 @@ BOOST_AUTO_TEST_CASE(test_isEDNSOptionInOpt) {
     PacketBuffer query;
     GenericDNSPacketWriter<PacketBuffer> pw(query, qname, qtype, qclass, 0);
     GenericDNSPacketWriter<PacketBuffer>::optvect_t opts;
-    opts.push_back(make_pair(EDNSOptionCode::ECS, ecsOptionStr));
-    opts.push_back(make_pair(EDNSOptionCode::ECS, ecsOptionStr));
+    opts.emplace_back(EDNSOptionCode::ECS, ecsOptionStr);
+    opts.emplace_back(EDNSOptionCode::ECS, ecsOptionStr);
     pw.addOpt(512, 0, 0, opts);
     pw.commit();
 
@@ -1851,9 +1851,9 @@ BOOST_AUTO_TEST_CASE(test_isEDNSOptionInOpt) {
     PacketBuffer query;
     GenericDNSPacketWriter<PacketBuffer> pw(query, qname, qtype, qclass, 0);
     GenericDNSPacketWriter<PacketBuffer>::optvect_t opts;
-    opts.push_back(make_pair(EDNSOptionCode::COOKIE, cookiesOptionStr));
-    opts.push_back(make_pair(EDNSOptionCode::ECS, ecsOptionStr));
-    opts.push_back(make_pair(EDNSOptionCode::COOKIE, cookiesOptionStr));
+    opts.emplace_back(EDNSOptionCode::COOKIE, cookiesOptionStr);
+    opts.emplace_back(EDNSOptionCode::ECS, ecsOptionStr);
+    opts.emplace_back(EDNSOptionCode::COOKIE, cookiesOptionStr);
     pw.addOpt(512, 0, 0, opts);
     pw.commit();
 
@@ -1874,8 +1874,8 @@ BOOST_AUTO_TEST_CASE(test_isEDNSOptionInOpt) {
     PacketBuffer query;
     GenericDNSPacketWriter<PacketBuffer> pw(query, qname, qtype, qclass, 0);
     GenericDNSPacketWriter<PacketBuffer>::optvect_t opts;
-    opts.push_back(make_pair(EDNSOptionCode::ECS, ecsOptionStr));
-    opts.push_back(make_pair(65535, cookiesOptionStr));
+    opts.emplace_back(EDNSOptionCode::ECS, ecsOptionStr);
+    opts.emplace_back(65535, cookiesOptionStr);
     pw.addOpt(512, 0, 0, opts);
     pw.commit();
 
index 7af31fa110aaf0ec47aeb91a731eff18534a43bf..4be01c2fcf1a272e1edd21cbcb4f1ac8d24a41e9 100644 (file)
@@ -569,7 +569,7 @@ BOOST_AUTO_TEST_CASE(test_PCCollision) {
     GenericDNSPacketWriter<PacketBuffer>::optvect_t ednsOptions;
     EDNSSubnetOpts opt;
     opt.source = Netmask("10.0.59.220/32");
-    ednsOptions.push_back(std::make_pair(EDNSOptionCode::ECS, makeEDNSSubnetOptsString(opt)));
+    ednsOptions.emplace_back(EDNSOptionCode::ECS, makeEDNSSubnetOptsString(opt));
     pwQ.addOpt(512, 0, 0, ednsOptions);
     pwQ.commit();
 
@@ -612,7 +612,7 @@ BOOST_AUTO_TEST_CASE(test_PCCollision) {
     GenericDNSPacketWriter<PacketBuffer>::optvect_t ednsOptions;
     EDNSSubnetOpts opt;
     opt.source = Netmask("10.0.167.48/32");
-    ednsOptions.push_back(std::make_pair(EDNSOptionCode::ECS, makeEDNSSubnetOptsString(opt)));
+    ednsOptions.emplace_back(EDNSOptionCode::ECS, makeEDNSSubnetOptsString(opt));
     pwQ.addOpt(512, 0, 0, ednsOptions);
     pwQ.commit();
 
@@ -649,11 +649,11 @@ BOOST_AUTO_TEST_CASE(test_PCCollision) {
           pwFQ.getHeader()->id = 0x42;
           opt.source = Netmask("10." + std::to_string(idxA) + "." + std::to_string(idxB) + "." + std::to_string(idxC) + "/32");
           ednsOptions.clear();
-          ednsOptions.push_back(std::make_pair(EDNSOptionCode::ECS, makeEDNSSubnetOptsString(opt)));
+          ednsOptions.emplace_back(EDNSOptionCode::ECS, makeEDNSSubnetOptsString(opt));
           pwFQ.addOpt(512, 0, 0, ednsOptions);
           pwFQ.commit();
           secondKey = pc.getKey(qname.toDNSString(), qname.wirelength(), secondQuery, false);
-          auto pair = colMap.insert(std::make_pair(secondKey, opt.source));
+          auto pair = colMap.emplace(secondKey, opt.source);
           total++;
           if (!pair.second) {
             collisions++;
index 6c66cb2312c42a3bbd9d53b250cbd4149a30e71d..9079c6ed57797269bbfafec1bbf20e63afa8ad69 100644 (file)
@@ -444,7 +444,7 @@ BOOST_AUTO_TEST_CASE(test_opt_record_out) {
   DNSPacketWriter pw(pak, DNSName("www.powerdns.com"), QType::A);
   pw.startRecord(DNSName("www.powerdns.com"), QType::A, 16, 1, DNSResourceRecord::ANSWER);
   pw.xfrIP(htonl(0x7f000001));
-  opts.push_back(pair<uint16_t,string>(3, "powerdns"));
+  opts.emplace_back(3, "powerdns");
   pw.addOpt(1280, 0, 0, opts);
   pw.getHeader()->id = htons(0xf001);
   pw.getHeader()->rd = 1;
index 0f591bcfd7fa3c3a71bf0767fc11c97e86de49cc..248ef8d611682630bbf144c898af3ca105a1a144 100644 (file)
@@ -40,15 +40,15 @@ BOOST_AUTO_TEST_CASE(test_CIStringCompare) {
 
 BOOST_AUTO_TEST_CASE(test_CIStringPairCompare) {
         set<typedns_t, CIStringPairCompare> nsset2;
-        nsset2.insert(make_pair("ns.example.com", 1));
-        nsset2.insert(make_pair("abc", 1));
-        nsset2.insert(make_pair("", 1));
-        nsset2.insert(make_pair("def", 1));
-        nsset2.insert(make_pair("abc", 2));
-        nsset2.insert(make_pair("abc", 1));
-        nsset2.insert(make_pair("ns.example.com", 0));
-        nsset2.insert(make_pair("abc", 2));
-        nsset2.insert(make_pair("ABC", 2));
+        nsset2.emplace("ns.example.com", 1);
+        nsset2.emplace("abc", 1);
+        nsset2.emplace("", 1);
+        nsset2.emplace("def", 1);
+        nsset2.emplace("abc", 2);
+        nsset2.emplace("abc", 1);
+        nsset2.emplace("ns.example.com", 0);
+        nsset2.emplace("abc", 2);
+        nsset2.emplace("ABC", 2);
         BOOST_CHECK_EQUAL(nsset2.size(), 6U);
 
         ostringstream s;
index 5fcfff8216aab30b4db38b773d2fb44a5f95c3b0..4b3a39936a1e6b324f7bdf9d36b657defb0c81e9 100644 (file)
@@ -347,7 +347,7 @@ BOOST_AUTO_TEST_CASE(test_AuthPacketCache) {
 
     {
       ecsOpts.source = Netmask(ComboAddress("192.0.2.1"), 32);
-      opts.push_back(make_pair(EDNSOptionCode::ECS, makeEDNSSubnetOptsString(ecsOpts)));
+      opts.emplace_back(EDNSOptionCode::ECS, makeEDNSSubnetOptsString(ecsOpts));
       DNSPacketWriter pw(pak, DNSName("www.powerdns.com"), QType::A);
       pw.addOpt(512, 0, 0, opts);
       pw.commit();
@@ -359,7 +359,7 @@ BOOST_AUTO_TEST_CASE(test_AuthPacketCache) {
     {
       DNSPacketWriter pw(pak, DNSName("www.powerdns.com"), QType::A);
       ecsOpts.source = Netmask(ComboAddress("192.0.2.2"), 32);
-      opts.push_back(make_pair(EDNSOptionCode::ECS, makeEDNSSubnetOptsString(ecsOpts)));
+      opts.emplace_back(EDNSOptionCode::ECS, makeEDNSSubnetOptsString(ecsOpts));
       pw.addOpt(512, 0, 0, opts);
       pw.commit();
       ecs2.parse((char*)&pak[0], pak.size());
@@ -370,7 +370,7 @@ BOOST_AUTO_TEST_CASE(test_AuthPacketCache) {
     {
       DNSPacketWriter pw(pak, DNSName("www.powerdns.com"), QType::A);
       ecsOpts.source = Netmask(ComboAddress("192.0.2.3"), 16);
-      opts.push_back(make_pair(EDNSOptionCode::ECS, makeEDNSSubnetOptsString(ecsOpts)));
+      opts.emplace_back(EDNSOptionCode::ECS, makeEDNSSubnetOptsString(ecsOpts));
       pw.addOpt(512, 0, 0, opts);
       pw.commit();
       ecs3.parse((char*)&pak[0], pak.size());
index 4914b055219eca9c9381c8ee555c2519871f4395..1e361a7fa66e24e58e73c312145d428cad52dca3 100644 (file)
@@ -55,7 +55,7 @@ BOOST_AUTO_TEST_CASE(test_PacketCacheAuthCollision) {
     pw1.getHeader()->id = 0x42;
     opt.source = Netmask("10.0.152.74/32");
     ednsOptions.clear();
-    ednsOptions.push_back(std::make_pair(EDNSOptionCode::ECS, makeEDNSSubnetOptsString(opt)));
+    ednsOptions.emplace_back(EDNSOptionCode::ECS, makeEDNSSubnetOptsString(opt));
     pw1.addOpt(512, 0, 0, ednsOptions);
     pw1.commit();
 
@@ -69,7 +69,7 @@ BOOST_AUTO_TEST_CASE(test_PacketCacheAuthCollision) {
     pw2.getHeader()->id = 0x84;
     opt.source = Netmask("10.2.70.250/32");
     ednsOptions.clear();
-    ednsOptions.push_back(std::make_pair(EDNSOptionCode::ECS, makeEDNSSubnetOptsString(opt)));
+    ednsOptions.emplace_back(EDNSOptionCode::ECS, makeEDNSSubnetOptsString(opt));
     pw2.addOpt(512, 0, 0, ednsOptions);
     pw2.commit();
 
@@ -97,11 +97,11 @@ BOOST_AUTO_TEST_CASE(test_PacketCacheAuthCollision) {
           pwFQ.getHeader()->id = 0x42;
           opt.source = Netmask("10." + std::to_string(idxA) + "." + std::to_string(idxB) + "." + std::to_string(idxC) + "/32");
           ednsOptions.clear();
-          ednsOptions.push_back(std::make_pair(EDNSOptionCode::ECS, makeEDNSSubnetOptsString(opt)));
+          ednsOptions.emplace_back(EDNSOptionCode::ECS, makeEDNSSubnetOptsString(opt));
           pwFQ.addOpt(512, 0, 0, ednsOptions);
           pwFQ.commit();
           auto secondKey = PacketCache::canHashPacket(std::string(reinterpret_cast<const char *>(secondQuery.data()), secondQuery.size()), optionsToSkip);
-          auto pair = colMap.insert(std::make_pair(secondKey, opt.source));
+          auto pair = colMap.emplace(secondKey, opt.source);
           total++;
           if (!pair.second) {
             collisions++;
@@ -127,7 +127,7 @@ BOOST_AUTO_TEST_CASE(test_PacketCacheAuthCollision) {
     pw1.getHeader()->id = 0x42;
     opt.source = Netmask("10.0.34.159/32");
     ednsOptions.clear();
-    ednsOptions.push_back(std::make_pair(EDNSOptionCode::ECS, makeEDNSSubnetOptsString(opt)));
+    ednsOptions.emplace_back(EDNSOptionCode::ECS, makeEDNSSubnetOptsString(opt));
     pw1.addOpt(512, 0, EDNSOpts::DNSSECOK, ednsOptions);
     pw1.commit();
 
@@ -141,7 +141,7 @@ BOOST_AUTO_TEST_CASE(test_PacketCacheAuthCollision) {
     pw2.getHeader()->id = 0x84;
     opt.source = Netmask("10.0.179.58/32");
     ednsOptions.clear();
-    ednsOptions.push_back(std::make_pair(EDNSOptionCode::ECS, makeEDNSSubnetOptsString(opt)));
+    ednsOptions.emplace_back(EDNSOptionCode::ECS, makeEDNSSubnetOptsString(opt));
     /* no EDNSOpts::DNSSECOK !! */
     pw2.addOpt(512, 0, 0, ednsOptions);
     pw2.commit();
@@ -163,9 +163,9 @@ BOOST_AUTO_TEST_CASE(test_PacketCacheAuthCollision) {
     pw1.getHeader()->id = 0x42;
     opt.source = Netmask("192.0.2.1/32");
     ednsOptions.clear();
-    ednsOptions.push_back(std::make_pair(EDNSOptionCode::ECS, makeEDNSSubnetOptsString(opt)));
+    ednsOptions.emplace_back(EDNSOptionCode::ECS, makeEDNSSubnetOptsString(opt));
     EDNSCookiesOpt cookiesOpt(string("deadbeefdeadbeef"));
-    ednsOptions.push_back(std::make_pair(EDNSOptionCode::COOKIE, cookiesOpt.makeOptString()));
+    ednsOptions.emplace_back(EDNSOptionCode::COOKIE, cookiesOpt.makeOptString());
     pw1.addOpt(512, 0, EDNSOpts::DNSSECOK, ednsOptions);
     pw1.commit();
 
@@ -179,9 +179,9 @@ BOOST_AUTO_TEST_CASE(test_PacketCacheAuthCollision) {
     pw2.getHeader()->id = 0x84;
     opt.source = Netmask("192.0.2.1/32");
     ednsOptions.clear();
-    ednsOptions.push_back(std::make_pair(EDNSOptionCode::ECS, makeEDNSSubnetOptsString(opt)));
+    ednsOptions.emplace_back(EDNSOptionCode::ECS, makeEDNSSubnetOptsString(opt));
     cookiesOpt.makeFromString(string("deadbeefbadc0fee"));
-    ednsOptions.push_back(std::make_pair(EDNSOptionCode::COOKIE, cookiesOpt.makeOptString()));
+    ednsOptions.emplace_back(EDNSOptionCode::COOKIE, cookiesOpt.makeOptString());
     pw2.addOpt(512, 0, EDNSOpts::DNSSECOK, ednsOptions);
     pw2.commit();
 
@@ -211,11 +211,11 @@ BOOST_AUTO_TEST_CASE(test_PacketCacheAuthCollision) {
           pwFQ.getHeader()->id = 0x42;
           opt.source = Netmask("10." + std::to_string(idxA) + "." + std::to_string(idxB) + "." + std::to_string(idxC) + "/32");
           ednsOptions.clear();
-          ednsOptions.push_back(std::make_pair(EDNSOptionCode::ECS, makeEDNSSubnetOptsString(opt)));
+          ednsOptions.emplace_back(EDNSOptionCode::ECS, makeEDNSSubnetOptsString(opt));
           pwFQ.addOpt(512, 0, 32768, ednsOptions);
           pwFQ.commit();
           auto secondKey = PacketCache::canHashPacket(std::string(reinterpret_cast<const char *>(secondQuery.data()), secondQuery.size()), optionsToSkip);
-          colMap.insert(std::make_pair(secondKey, opt.source));
+          colMap.emplace(secondKey, opt.source);
 
           secondQuery.clear();
           DNSPacketWriter pwSQ(secondQuery, qname, QType::AAAA, QClass::IN, 0);
@@ -224,7 +224,7 @@ BOOST_AUTO_TEST_CASE(test_PacketCacheAuthCollision) {
           pwSQ.getHeader()->id = 0x42;
           opt.source = Netmask("10." + std::to_string(idxA) + "." + std::to_string(idxB) + "." + std::to_string(idxC) + "/32");
           ednsOptions.clear();
-          ednsOptions.push_back(std::make_pair(EDNSOptionCode::ECS, makeEDNSSubnetOptsString(opt)));
+          ednsOptions.emplace_back(EDNSOptionCode::ECS, makeEDNSSubnetOptsString(opt));
           pwSQ.addOpt(512, 0, 0, ednsOptions);
           pwSQ.commit();
           secondKey = PacketCache::canHashPacket(std::string(reinterpret_cast<const char *>(secondQuery.data()), secondQuery.size()), optionsToSkip);
@@ -314,7 +314,7 @@ BOOST_AUTO_TEST_CASE(test_PacketCacheRecCollision) {
     pw1.getHeader()->id = 0x42;
     opt.source = Netmask("10.0.18.199/32");
     ednsOptions.clear();
-    ednsOptions.push_back(std::make_pair(EDNSOptionCode::ECS, makeEDNSSubnetOptsString(opt)));
+    ednsOptions.emplace_back(EDNSOptionCode::ECS, makeEDNSSubnetOptsString(opt));
     pw1.addOpt(512, 0, 0, ednsOptions);
     pw1.commit();
 
@@ -328,7 +328,7 @@ BOOST_AUTO_TEST_CASE(test_PacketCacheRecCollision) {
     pw2.getHeader()->id = 0x84;
     opt.source = Netmask("10.0.131.66/32");
     ednsOptions.clear();
-    ednsOptions.push_back(std::make_pair(EDNSOptionCode::ECS, makeEDNSSubnetOptsString(opt)));
+    ednsOptions.emplace_back(EDNSOptionCode::ECS, makeEDNSSubnetOptsString(opt));
     pw2.addOpt(512, 0, 0, ednsOptions);
     pw2.commit();
 
@@ -349,9 +349,9 @@ BOOST_AUTO_TEST_CASE(test_PacketCacheRecCollision) {
     pw1.getHeader()->id = 0x42;
     opt.source = Netmask("192.0.2.1/32");
     ednsOptions.clear();
-    ednsOptions.push_back(std::make_pair(EDNSOptionCode::ECS, makeEDNSSubnetOptsString(opt)));
+    ednsOptions.emplace_back(EDNSOptionCode::ECS, makeEDNSSubnetOptsString(opt));
     EDNSCookiesOpt cookiesOpt(string("deadbeefdead\x11\xee\x00\x00").c_str(), 16);
-    ednsOptions.push_back(std::make_pair(EDNSOptionCode::COOKIE, cookiesOpt.makeOptString()));
+    ednsOptions.emplace_back(EDNSOptionCode::COOKIE, cookiesOpt.makeOptString());
     pw1.addOpt(512, 0, EDNSOpts::DNSSECOK, ednsOptions);
     pw1.commit();
 
@@ -365,9 +365,9 @@ BOOST_AUTO_TEST_CASE(test_PacketCacheRecCollision) {
     pw2.getHeader()->id = 0x84;
     opt.source = Netmask("192.0.2.1/32");
     ednsOptions.clear();
-    ednsOptions.push_back(std::make_pair(EDNSOptionCode::ECS, makeEDNSSubnetOptsString(opt)));
+    ednsOptions.emplace_back(EDNSOptionCode::ECS, makeEDNSSubnetOptsString(opt));
     cookiesOpt.makeFromString(string("deadbeefdead\x67\x44\x00\x00").c_str(), 16);
-    ednsOptions.push_back(std::make_pair(EDNSOptionCode::COOKIE, cookiesOpt.makeOptString()));
+    ednsOptions.emplace_back(EDNSOptionCode::COOKIE, cookiesOpt.makeOptString());
     pw2.addOpt(512, 0, EDNSOpts::DNSSECOK, ednsOptions);
     pw2.commit();
 
index b2e93c30a67545770d90c56e9bc4cda45aac980e..7247531e66a3c21608bc4944dd195fc6259ec0d1 100644 (file)
@@ -146,7 +146,7 @@ try
        cerr<<"got rrsig "<<sig->d_signer<<"/"<<sig->d_tag<<endl;
        vState state = getKeysFor(tro, sig->d_signer, keys);
        cerr<<"! state = "<<state<<", now have "<<keys.size()<<" keys at "<<qname<<endl;
-        // dsmap.insert(make_pair(dsrc.d_tag, dsrc));
+        // dsmap.emplace(dsrc.d_tag, dsrc);
       }
     }
 
index 3f5f684c819f3fbe36c9e2eff922d8e114323c5c..e52b32b09e5dda9464f02791f671604b1af75f2e 100644 (file)
@@ -286,7 +286,7 @@ void UeberBackend::updateZoneCache() {
     vector<DomainInfo> zones;
     (*i)->getAllDomains(&zones, false, true);
     for(auto& di: zones) {
-      zone_indices.push_back({std::move(di.zone), (int)di.id});  // this cast should not be necessary
+      zone_indices.emplace_back(std::move(di.zone), (int)di.id); // this cast should not be necessary
     }
   }
   g_zoneCache.replace(zone_indices);
index 97b968d5ab5031d790ff9176310e5573790c4e14..7cd1b77a01682f6480aad19005636d1febecbf75 100644 (file)
@@ -53,7 +53,7 @@ void productServerStatisticsFetch(map<string,string>& out)
   auto stats = getAllStatsMap(StatComponent::API);
   map<string,string> ret;
   for (const auto& entry: stats) {
-    ret.insert(make_pair(entry.first, entry.second.d_value));
+    ret.emplace(entry.first, entry.second.d_value);
   }
   out.swap(ret);
 }
@@ -1197,7 +1197,7 @@ void RecursorWebServer::jsonstat(HttpRequest* req, HttpResponse *resp)
     rcounts_t rcounts;
 
     for(counts_t::const_iterator i=counts.begin(); i != counts.end(); ++i)
-      rcounts.insert(make_pair(-i->second, i->first));
+      rcounts.emplace(-i->second, i->first);
 
     Json::array entries;
     unsigned int tot=0, totIncluded=0;
@@ -1242,7 +1242,7 @@ void RecursorWebServer::jsonstat(HttpRequest* req, HttpResponse *resp)
     rcounts_t rcounts;
 
     for(counts_t::const_iterator i=counts.begin(); i != counts.end(); ++i)
-      rcounts.insert(make_pair(-i->second, i->first));
+      rcounts.emplace(-i->second, i->first);
 
     Json::array entries;
     unsigned int tot=0, totIncluded=0;