build: migrate to C++17

Change-Id: Ic9f09efd20b608bfcb713fd319834b2666cf6242
diff --git a/src/lsa/adj-lsa.cpp b/src/lsa/adj-lsa.cpp
index 3d49533..e6d2f6e 100644
--- a/src/lsa/adj-lsa.cpp
+++ b/src/lsa/adj-lsa.cpp
@@ -1,6 +1,6 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /*
- * Copyright (c) 2014-2021,  The University of Memphis,
+ * Copyright (c) 2014-2022,  The University of Memphis,
  *                           Regents of the University of California,
  *                           Arizona Board of Regents.
  *
@@ -62,7 +62,7 @@
   totalLength += Lsa::wireEncode(block);
 
   totalLength += block.prependVarNumber(totalLength);
-  totalLength += block.prependVarNumber(ndn::tlv::nlsr::AdjacencyLsa);
+  totalLength += block.prependVarNumber(nlsr::tlv::AdjacencyLsa);
 
   return totalLength;
 }
@@ -92,7 +92,7 @@
 {
   m_wire = wire;
 
-  if (m_wire.type() != ndn::tlv::nlsr::AdjacencyLsa) {
+  if (m_wire.type() != nlsr::tlv::AdjacencyLsa) {
     NDN_THROW(Error("AdjacencyLsa", m_wire.type()));
   }
 
@@ -100,7 +100,7 @@
 
   auto val = m_wire.elements_begin();
 
-  if (val != m_wire.elements_end() && val->type() == ndn::tlv::nlsr::Lsa) {
+  if (val != m_wire.elements_end() && val->type() == nlsr::tlv::Lsa) {
     Lsa::wireDecode(*val);
     ++val;
   }
@@ -110,7 +110,7 @@
 
   AdjacencyList adl;
   for (; val != m_wire.elements_end(); ++val) {
-    if (val->type() == ndn::tlv::nlsr::Adjacency) {
+    if (val->type() == nlsr::tlv::Adjacency) {
       adl.insert(Adjacent(*val));
     }
     else {
@@ -148,9 +148,9 @@
     for (const auto& adjacent : alsa->getAdl()) {
       addAdjacent(adjacent);
     }
-    return std::make_tuple(true, std::list<ndn::Name>{}, std::list<ndn::Name>{});
+    return {true, std::list<ndn::Name>{}, std::list<ndn::Name>{}};
   }
-  return std::make_tuple(false, std::list<ndn::Name>{}, std::list<ndn::Name>{});
+  return {false, std::list<ndn::Name>{}, std::list<ndn::Name>{}};
 }
 
 std::ostream&
diff --git a/src/lsa/coordinate-lsa.cpp b/src/lsa/coordinate-lsa.cpp
index f61fb29..fb268b2 100644
--- a/src/lsa/coordinate-lsa.cpp
+++ b/src/lsa/coordinate-lsa.cpp
@@ -1,6 +1,6 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /*
- * Copyright (c) 2014-2021,  The University of Memphis,
+ * Copyright (c) 2014-2022,  The University of Memphis,
  *                           Regents of the University of California,
  *                           Arizona Board of Regents.
  *
@@ -65,16 +65,15 @@
   size_t totalLength = 0;
 
   for (auto it = m_hyperbolicAngles.rbegin(); it != m_hyperbolicAngles.rend(); ++it) {
-    totalLength += ndn::encoding::prependDoubleBlock(block, ndn::tlv::nlsr::HyperbolicAngle, *it);
+    totalLength += ndn::encoding::prependDoubleBlock(block, nlsr::tlv::HyperbolicAngle, *it);
   }
 
-  totalLength += ndn::encoding::prependDoubleBlock(block, ndn::tlv::nlsr::HyperbolicRadius,
-                                                   m_hyperbolicRadius);
+  totalLength += ndn::encoding::prependDoubleBlock(block, nlsr::tlv::HyperbolicRadius, m_hyperbolicRadius);
 
   totalLength += Lsa::wireEncode(block);
 
   totalLength += block.prependVarNumber(totalLength);
-  totalLength += block.prependVarNumber(ndn::tlv::nlsr::CoordinateLsa);
+  totalLength += block.prependVarNumber(nlsr::tlv::CoordinateLsa);
 
   return totalLength;
 }
@@ -104,7 +103,7 @@
 {
   m_wire = wire;
 
-  if (m_wire.type() != ndn::tlv::nlsr::CoordinateLsa) {
+  if (m_wire.type() != nlsr::tlv::CoordinateLsa) {
     NDN_THROW(Error("CoordinateLsa", m_wire.type()));
   }
 
@@ -112,7 +111,7 @@
 
   auto val = m_wire.elements_begin();
 
-  if (val != m_wire.elements_end() && val->type() == ndn::tlv::nlsr::Lsa) {
+  if (val != m_wire.elements_end() && val->type() == nlsr::tlv::Lsa) {
     Lsa::wireDecode(*val);
     ++val;
   }
@@ -120,7 +119,7 @@
     NDN_THROW(Error("Missing required Lsa field"));
   }
 
-  if (val != m_wire.elements_end() && val->type() == ndn::tlv::nlsr::HyperbolicRadius) {
+  if (val != m_wire.elements_end() && val->type() == nlsr::tlv::HyperbolicRadius) {
     m_hyperbolicRadius = ndn::encoding::readDouble(*val);
     ++val;
   }
@@ -130,7 +129,7 @@
 
   std::vector<double> angles;
   for (; val != m_wire.elements_end(); ++val) {
-    if (val->type() == ndn::tlv::nlsr::HyperbolicAngle) {
+    if (val->type() == nlsr::tlv::HyperbolicAngle) {
       angles.push_back(ndn::encoding::readDouble(*val));
     }
     else {
@@ -164,9 +163,9 @@
     for (const auto& angle : clsa->getCorTheta()) {
       m_hyperbolicAngles.push_back(angle);
     }
-    return std::make_tuple(true, std::list<ndn::Name>{}, std::list<ndn::Name>{});
+    return {true, std::list<ndn::Name>{}, std::list<ndn::Name>{}};
   }
-  return std::make_tuple(false, std::list<ndn::Name>{}, std::list<ndn::Name>{});
+  return {false, std::list<ndn::Name>{}, std::list<ndn::Name>{}};
 }
 
 std::ostream&
diff --git a/src/lsa/lsa.cpp b/src/lsa/lsa.cpp
index 738607e..66e5b2d 100644
--- a/src/lsa/lsa.cpp
+++ b/src/lsa/lsa.cpp
@@ -49,15 +49,15 @@
   size_t totalLength = 0;
 
   totalLength += prependStringBlock(encoder,
-                                    ndn::tlv::nlsr::ExpirationTime,
+                                    nlsr::tlv::ExpirationTime,
                                     ndn::time::toString(m_expirationTimePoint));
 
-  totalLength += prependNonNegativeIntegerBlock(encoder, ndn::tlv::nlsr::SequenceNumber, m_seqNo);
+  totalLength += prependNonNegativeIntegerBlock(encoder, nlsr::tlv::SequenceNumber, m_seqNo);
 
   totalLength += m_originRouter.wireEncode(encoder);
 
   totalLength += encoder.prependVarNumber(totalLength);
-  totalLength += encoder.prependVarNumber(ndn::tlv::nlsr::Lsa);
+  totalLength += encoder.prependVarNumber(nlsr::tlv::Lsa);
 
   return totalLength;
 }
@@ -84,7 +84,7 @@
 
   ++val;
 
-  if (val != baseWire.elements_end() && val->type() == ndn::tlv::nlsr::SequenceNumber) {
+  if (val != baseWire.elements_end() && val->type() == nlsr::tlv::SequenceNumber) {
     m_seqNo = ndn::readNonNegativeInteger(*val);
     ++val;
   }
@@ -92,7 +92,7 @@
     NDN_THROW(Error("Missing required SequenceNumber field"));
   }
 
-  if (val != baseWire.elements_end() && val->type() == ndn::tlv::nlsr::ExpirationTime) {
+  if (val != baseWire.elements_end() && val->type() == nlsr::tlv::ExpirationTime) {
     m_expirationTimePoint = ndn::time::fromString(readString(*val));
   }
   else {
diff --git a/src/lsa/name-lsa.cpp b/src/lsa/name-lsa.cpp
index 53281e1..f578a06 100644
--- a/src/lsa/name-lsa.cpp
+++ b/src/lsa/name-lsa.cpp
@@ -1,6 +1,6 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /*
- * Copyright (c) 2014-2021,  The University of Memphis,
+ * Copyright (c) 2014-2022,  The University of Memphis,
  *                           Regents of the University of California,
  *                           Arizona Board of Regents.
  *
@@ -54,7 +54,7 @@
   totalLength += Lsa::wireEncode(block);
 
   totalLength += block.prependVarNumber(totalLength);
-  totalLength += block.prependVarNumber(ndn::tlv::nlsr::NameLsa);
+  totalLength += block.prependVarNumber(nlsr::tlv::NameLsa);
 
   return totalLength;
 }
@@ -84,7 +84,7 @@
 {
   m_wire = wire;
 
-  if (m_wire.type() != ndn::tlv::nlsr::NameLsa) {
+  if (m_wire.type() != nlsr::tlv::NameLsa) {
     NDN_THROW(Error("NameLsa", m_wire.type()));
   }
 
@@ -92,7 +92,7 @@
 
   auto val = m_wire.elements_begin();
 
-  if (val != m_wire.elements_end() && val->type() == ndn::tlv::nlsr::Lsa) {
+  if (val != m_wire.elements_end() && val->type() == nlsr::tlv::Lsa) {
     Lsa::wireDecode(*val);
     ++val;
   }
@@ -164,7 +164,7 @@
     updated = true;
   }
 
-  return std::make_tuple(updated, namesToAdd, namesToRemove);
+  return {updated, namesToAdd, namesToRemove};
 }
 
 std::ostream&