build: migrate to C++17

Change-Id: Ic9f09efd20b608bfcb713fd319834b2666cf6242
diff --git a/src/conf-parameter.cpp b/src/conf-parameter.cpp
index a7008e7..8a7a56f 100644
--- a/src/conf-parameter.cpp
+++ b/src/conf-parameter.cpp
@@ -20,15 +20,13 @@
 
 #include "conf-parameter.hpp"
 #include "logger.hpp"
+
 #include <ndn-cxx/security/signing-helpers.hpp>
 
 namespace nlsr {
 
 INIT_LOGGER(ConfParameter);
 
-// To be changed when breaking changes are made to sync
-const uint64_t ConfParameter::SYNC_VERSION = 10;
-
 static std::unique_ptr<ndn::security::CertificateFetcherDirectFetch>
 makeCertificateFetcher(ndn::Face& face)
 {
@@ -119,7 +117,7 @@
   m_prefixUpdateValidator.loadAnchor("Authoritative-Certificate", ndn::security::Certificate(cert));
 }
 
-ndn::optional<ndn::security::Certificate>
+std::optional<ndn::security::Certificate>
 ConfParameter::initializeKey()
 {
   using namespace ndn::security;
@@ -133,7 +131,7 @@
     NLSR_LOG_ERROR("Router identity " << m_routerPrefix << " not found. "
                    "NLSR is running without security. "
                    "If security is enabled in the configuration, NLSR will not converge.");
-    return ndn::nullopt;
+    return std::nullopt;
   }
   catch (const std::invalid_argument& e) {
     // This is (probably) needed for the dummy keychain patch.
@@ -155,7 +153,7 @@
       NLSR_LOG_ERROR(exceptionText);
       throw;
     }
-    return ndn::nullopt;
+    return std::nullopt;
   }
 
   auto key = m_keyChain.createIdentity(instanceName).getDefaultKey();