build: migrate to C++17
Change-Id: Ic9f09efd20b608bfcb713fd319834b2666cf6242
diff --git a/src/common.hpp b/src/common.hpp
index dd826ac..a0db086 100644
--- a/src/common.hpp
+++ b/src/common.hpp
@@ -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
*
* This file is part of NLSR (Named-data Link State Routing).
@@ -26,6 +26,7 @@
#include <functional>
#include <iterator>
#include <memory>
+#include <type_traits>
#include <utility>
#include <ndn-cxx/name.hpp>
@@ -36,7 +37,7 @@
using namespace ndn::time_literals;
-const ndn::time::seconds TIME_ALLOWED_FOR_CANONIZATION = 4_s;
+constexpr ndn::time::seconds TIME_ALLOWED_FOR_CANONIZATION = 4_s;
template<typename T, typename = void>
struct is_iterator
@@ -47,9 +48,8 @@
/*! Use C++11 iterator_traits to check if some type is an iterator
*/
template<typename T>
-struct is_iterator<T, typename std::enable_if<!std::is_same<
- typename std::iterator_traits<T>::value_type,
- void>::value>::type>
+struct is_iterator<T, std::enable_if_t<!std::is_same_v<
+ typename std::iterator_traits<T>::value_type, void>>>
{
static constexpr bool value = true;
};