Improve and simplify code with modern C++ features
Change-Id: I28d84df3087492ab2ecbeb91169a2cde12c9e31e
diff --git a/src/security/pib/certificate-container.hpp b/src/security/pib/certificate-container.hpp
index cc1798a..1fb1c63 100644
--- a/src/security/pib/certificate-container.hpp
+++ b/src/security/pib/certificate-container.hpp
@@ -1,6 +1,6 @@
/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
-/**
- * Copyright (c) 2013-2017 Regents of the University of California.
+/*
+ * Copyright (c) 2013-2018 Regents of the University of California.
*
* This file is part of ndn-cxx library (NDN C++ library with eXperimental eXtensions).
*
@@ -24,6 +24,7 @@
#include "../v2/certificate.hpp"
+#include <iterator>
#include <set>
#include <unordered_map>
@@ -46,9 +47,15 @@
class CertificateContainer : noncopyable
{
public:
- class const_iterator : public std::iterator<std::forward_iterator_tag, const v2::Certificate>
+ class const_iterator
{
public:
+ using iterator_category = std::forward_iterator_tag;
+ using value_type = const v2::Certificate;
+ using difference_type = std::ptrdiff_t;
+ using pointer = value_type*;
+ using reference = value_type&;
+
const_iterator();
v2::Certificate
diff --git a/src/security/pib/identity-container.hpp b/src/security/pib/identity-container.hpp
index 9e45cf9..24bd5c3 100644
--- a/src/security/pib/identity-container.hpp
+++ b/src/security/pib/identity-container.hpp
@@ -1,6 +1,6 @@
/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
-/**
- * Copyright (c) 2013-2017 Regents of the University of California.
+/*
+ * Copyright (c) 2013-2018 Regents of the University of California.
*
* This file is part of ndn-cxx library (NDN C++ library with eXperimental eXtensions).
*
@@ -24,6 +24,7 @@
#include "identity.hpp"
+#include <iterator>
#include <set>
#include <unordered_map>
@@ -46,9 +47,15 @@
class IdentityContainer : noncopyable
{
public:
- class const_iterator : public std::iterator<std::forward_iterator_tag, const Identity>
+ class const_iterator
{
public:
+ using iterator_category = std::forward_iterator_tag;
+ using value_type = const Identity;
+ using difference_type = std::ptrdiff_t;
+ using pointer = value_type*;
+ using reference = value_type&;
+
const_iterator();
Identity
diff --git a/src/security/pib/key-container.hpp b/src/security/pib/key-container.hpp
index 55a799e..6475cd2 100644
--- a/src/security/pib/key-container.hpp
+++ b/src/security/pib/key-container.hpp
@@ -1,6 +1,6 @@
/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
-/**
- * Copyright (c) 2013-2017 Regents of the University of California.
+/*
+ * Copyright (c) 2013-2018 Regents of the University of California.
*
* This file is part of ndn-cxx library (NDN C++ library with eXperimental eXtensions).
*
@@ -24,6 +24,7 @@
#include "key.hpp"
+#include <iterator>
#include <set>
#include <unordered_map>
@@ -47,9 +48,15 @@
class KeyContainer : noncopyable
{
public:
- class const_iterator : public std::iterator<std::forward_iterator_tag, const Key>
+ class const_iterator
{
public:
+ using iterator_category = std::forward_iterator_tag;
+ using value_type = const Key;
+ using difference_type = std::ptrdiff_t;
+ using pointer = value_type*;
+ using reference = value_type&;
+
const_iterator();
Key
diff --git a/src/security/tpm/back-end-file.cpp b/src/security/tpm/back-end-file.cpp
index 7c836d2..a560fad 100644
--- a/src/security/tpm/back-end-file.cpp
+++ b/src/security/tpm/back-end-file.cpp
@@ -129,7 +129,7 @@
return keyHandle;
}
catch (const std::runtime_error& e) {
- BOOST_THROW_EXCEPTION(Error(std::string("Cannot write key to disk: ") + e.what()));
+ BOOST_THROW_EXCEPTION(Error("Cannot write key to disk: "s + e.what()));
}
}
diff --git a/src/security/tpm/back-end-mem.cpp b/src/security/tpm/back-end-mem.cpp
index 9d051c6..2427229 100644
--- a/src/security/tpm/back-end-mem.cpp
+++ b/src/security/tpm/back-end-mem.cpp
@@ -1,6 +1,6 @@
/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
-/**
- * Copyright (c) 2013-2017 Regents of the University of California.
+/*
+ * Copyright (c) 2013-2018 Regents of the University of California.
*
* This file is part of ndn-cxx library (NDN C++ library with eXperimental eXtensions).
*
@@ -23,6 +23,7 @@
#include "key-handle-mem.hpp"
#include "../transform/private-key.hpp"
#include "../../encoding/buffer-stream.hpp"
+
#include <unordered_map>
namespace ndn {
@@ -101,7 +102,7 @@
m_impl->keys[keyName] = key;
}
catch (const PrivateKey::Error& e) {
- BOOST_THROW_EXCEPTION(Error(std::string("Cannot import private key: ") + e.what()));
+ BOOST_THROW_EXCEPTION(Error("Cannot import private key: "s + e.what()));
}
}
diff --git a/src/security/v2/validation-policy-config.cpp b/src/security/v2/validation-policy-config.cpp
index f6f6ed6..2d82079 100644
--- a/src/security/v2/validation-policy-config.cpp
+++ b/src/security/v2/validation-policy-config.cpp
@@ -227,7 +227,7 @@
case 's':
return time::seconds(refreshPeriod);
default:
- BOOST_THROW_EXCEPTION(Error(std::string("Bad refresh time unit: ") + unit));
+ BOOST_THROW_EXCEPTION(Error("Bad refresh time unit: "s + unit));
}
}