interest+data: convert to span

Update span-lite to commit 8f7935ff4e502ee023990d356d6578b8293eda74

Change-Id: I511bc3541e8ba683661bc69656e83088dd06e97a
diff --git a/tests/unit/data.t.cpp b/tests/unit/data.t.cpp
index d6bb6bb..2ab660e 100644
--- a/tests/unit/data.t.cpp
+++ b/tests/unit/data.t.cpp
@@ -1,6 +1,6 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /*
- * Copyright (c) 2013-2021 Regents of the University of California.
+ * Copyright (c) 2013-2022 Regents of the University of California.
  *
  * This file is part of ndn-cxx library (NDN C++ library with eXperimental eXtensions).
  *
@@ -182,7 +182,7 @@
   Data d("/local/ndn/prefix");
   d.setContentType(tlv::ContentType_Blob);
   d.setFreshnessPeriod(10_s);
-  d.setContent(CONTENT1, sizeof(CONTENT1));
+  d.setContent(CONTENT1);
 
   SignatureInfo signatureInfo;
   signatureInfo.setSignatureType(tlv::SignatureSha256WithRsa);
@@ -397,7 +397,7 @@
   Data d(Name("/local/ndn/prefix"));
   d.setContentType(tlv::ContentType_Blob);
   d.setFreshnessPeriod(10_s);
-  d.setContent(CONTENT1, sizeof(CONTENT1));
+  d.setContent(CONTENT1);
   BOOST_CHECK_THROW(d.getFullName(), Data::Error); // FullName is unavailable without signing
 
   m_keyChain.sign(d);
@@ -527,16 +527,17 @@
   // Block overload, default constructed (invalid)
   BOOST_CHECK_THROW(d.setContent(Block{}), std::invalid_argument);
 
-  // raw buffer overload
-  d.setContent(nested, sizeof(nested));
+  // span overload
+  d.setContent(nested);
   BOOST_CHECK_EQUAL(d.hasContent(), true);
   BOOST_CHECK_EQUAL(d.getContent().type(), tlv::Content);
   BOOST_CHECK_EQUAL_COLLECTIONS(d.getContent().value_begin(), d.getContent().value_end(),
                                 nested, nested + sizeof(nested));
-  d.setContent(nullptr, 0);
+  d.setContent(span<uint8_t>{});
   BOOST_CHECK_EQUAL(d.hasContent(), true);
   BOOST_CHECK_EQUAL(d.getContent().type(), tlv::Content);
   BOOST_CHECK_EQUAL(d.getContent().value_size(), 0);
+  // raw buffer overload (deprecated)
   BOOST_CHECK_THROW(d.setContent(nullptr, 1), std::invalid_argument);
 
   // ConstBufferPtr overload
@@ -631,11 +632,11 @@
   BOOST_CHECK_EQUAL(a != b, false);
 
   static const uint8_t someData[] = "someData";
-  a.setContent(someData, sizeof(someData));
+  a.setContent(someData);
   BOOST_CHECK_EQUAL(a == b, false);
   BOOST_CHECK_EQUAL(a != b, true);
 
-  b.setContent(someData, sizeof(someData));
+  b.setContent(someData);
   BOOST_CHECK_EQUAL(a == b, true);
   BOOST_CHECK_EQUAL(a != b, false);
 
diff --git a/tests/unit/ims/in-memory-storage.t.cpp b/tests/unit/ims/in-memory-storage.t.cpp
index 594837b..54ceeb0 100644
--- a/tests/unit/ims/in-memory-storage.t.cpp
+++ b/tests/unit/ims/in-memory-storage.t.cpp
@@ -1,6 +1,6 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /*
- * Copyright (c) 2013-2020 Regents of the University of California.
+ * Copyright (c) 2013-2022 Regents of the University of California.
  *
  * This file is part of ndn-cxx library (NDN C++ library with eXperimental eXtensions).
  *
@@ -62,17 +62,17 @@
 
   Name name("/a");
 
-  uint32_t content1 = 1;
-  shared_ptr<Data> data1 = makeData(name);
+  const uint8_t content1[] = {1, 2, 3, 4};
+  auto data1 = makeData(name);
   data1->setFreshnessPeriod(99999_ms);
-  data1->setContent(reinterpret_cast<const uint8_t*>(&content1), sizeof(content1));
+  data1->setContent(content1);
   signData(data1);
   ims.insert(*data1);
 
-  uint32_t content2 = 2;
-  shared_ptr<Data> data2 = makeData(name);
+  const uint8_t content2[] = {5, 6, 7, 8};
+  auto data2 = makeData(name);
   data2->setFreshnessPeriod(99999_ms);
-  data2->setContent(reinterpret_cast<const uint8_t*>(&content2), sizeof(content2));
+  data2->setContent(content2);
   signData(data2);
   ims.insert(*data2);
 
@@ -186,15 +186,15 @@
   T ims;
 
   Name name("/a");
-  uint32_t content1 = 1;
-  shared_ptr<Data> data1 = makeData(name);
-  data1->setContent(reinterpret_cast<const uint8_t*>(&content1), sizeof(content1));
+  const uint8_t content1[] = {1, 2, 3, 4};
+  auto data1 = makeData(name);
+  data1->setContent(content1);
   signData(data1);
   ims.insert(*data1);
 
-  uint32_t content2 = 2;
-  shared_ptr<Data> data2 = makeData(name);
-  data2->setContent(reinterpret_cast<const uint8_t*>(&content2), sizeof(content2));
+  const uint8_t content2[] = {5, 6, 7, 8};
+  auto data2 = makeData(name);
+  data2->setContent(content2);
   signData(data2);
 
   auto found = ims.find(data2->getFullName());
@@ -207,17 +207,17 @@
 
   Name name("/insertandremovebyname");
 
-  uint32_t content1 = 1;
-  shared_ptr<Data> data1 = makeData(name);
+  const uint8_t content1[] = {1, 2, 3, 4};
+  auto data1 = makeData(name);
   data1->setFreshnessPeriod(99999_ms);
-  data1->setContent(reinterpret_cast<const uint8_t*>(&content1), sizeof(content1));
+  data1->setContent(content1);
   signData(data1);
   ims.insert(*data1);
 
-  uint32_t content2 = 2;
-  shared_ptr<Data> data2 = makeData(name);
+  const uint8_t content2[] = {5, 6, 7, 8};
+  auto data2 = makeData(name);
   data2->setFreshnessPeriod(99999_ms);
-  data2->setContent(reinterpret_cast<const uint8_t*>(&content2), sizeof(content2));
+  data2->setContent(content2);
   signData(data2);
   ims.insert(*data2);
 
@@ -451,7 +451,7 @@
          const time::milliseconds& freshWindow = InMemoryStorage::INFINITE_WINDOW)
   {
     auto data = makeData(name);
-    data->setContent(reinterpret_cast<const uint8_t*>(&id), sizeof(id));
+    data->setContent(make_span(reinterpret_cast<const uint8_t*>(&id), sizeof(id)));
 
     if (modifyData != nullptr) {
       modifyData(*data);
diff --git a/tests/unit/interest.t.cpp b/tests/unit/interest.t.cpp
index 482eac8..d36e0a9 100644
--- a/tests/unit/interest.t.cpp
+++ b/tests/unit/interest.t.cpp
@@ -889,11 +889,12 @@
   BOOST_CHECK_EQUAL(i.getApplicationParameters(), "24038001C1"_block);
   BOOST_CHECK_THROW(i.setApplicationParameters(Block{}), std::invalid_argument);
 
-  // raw buffer+size overload
-  i.setApplicationParameters(PARAMETERS1, sizeof(PARAMETERS1));
+  // span overload
+  i.setApplicationParameters(PARAMETERS1);
   BOOST_CHECK_EQUAL(i.getApplicationParameters(), "2401C1"_block);
-  i.setApplicationParameters(nullptr, 0);
+  i.setApplicationParameters(span<uint8_t>{});
   BOOST_CHECK_EQUAL(i.getApplicationParameters(), "2400"_block);
+  // raw buffer+size overload (deprecated)
   BOOST_CHECK_THROW(i.setApplicationParameters(nullptr, 42), std::invalid_argument);
 
   // ConstBufferPtr overload
@@ -983,7 +984,7 @@
                     "/I/params-sha256=ff9100e04eaadcf30674d98026a051ba25f56b69bfa026dcccd72c6ea0f7315a");
   BOOST_CHECK_EQUAL(i.isParametersDigestValid(), true);
 
-  i.setApplicationParameters(nullptr, 0); // updates ParametersSha256DigestComponent
+  i.setApplicationParameters(span<uint8_t>{}); // updates ParametersSha256DigestComponent
   BOOST_CHECK_EQUAL(i.getName(),
                     "/I/params-sha256=33b67cb5385ceddad93d0ee960679041613bed34b8b4a5e6362fe7539ba2d3ce");
   BOOST_CHECK_EQUAL(i.hasApplicationParameters(), true);
@@ -1141,7 +1142,7 @@
   });
 
   // Test failure with missing InterestSignatureInfo
-  i3.setApplicationParameters(nullptr, 0);
+  i3.setApplicationParameters(span<uint8_t>{});
   BOOST_CHECK_EXCEPTION(i3.extractSignedRanges(), tlv::Error, [] (const auto& e) {
     return e.what() == "Interest missing InterestSignatureInfo"s;
   });
diff --git a/tests/unit/security/certificate.t.cpp b/tests/unit/security/certificate.t.cpp
index 1069584..7626e04 100644
--- a/tests/unit/security/certificate.t.cpp
+++ b/tests/unit/security/certificate.t.cpp
@@ -1,6 +1,6 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /*
- * Copyright (c) 2013-2020 Regents of the University of California.
+ * Copyright (c) 2013-2022 Regents of the University of California.
  *
  * This file is part of ndn-cxx library (NDN C++ library with eXperimental eXtensions).
  *
@@ -163,7 +163,7 @@
   Certificate certificate;
   certificate.setName("/ndn/site1/KEY/ksk-1416425377094/0123/%FD%00%00%01I%C9%8B");
   certificate.setFreshnessPeriod(1_h);
-  certificate.setContent(PUBLIC_KEY, sizeof(PUBLIC_KEY));
+  certificate.setContent(PUBLIC_KEY);
   generateFakeSignature(certificate);
 
   BOOST_CHECK_EQUAL(certificate.getName(), "/ndn/site1/KEY/ksk-1416425377094/0123/%FD%00%00%01I%C9%8B");
@@ -185,7 +185,7 @@
   Certificate certificate;
   certificate.setName("/ndn/site1/KEY/ksk-1416425377094/0123/%FD%00%00%01I%C9%8B");
   certificate.setFreshnessPeriod(1_h);
-  certificate.setContent(PUBLIC_KEY, sizeof(PUBLIC_KEY));
+  certificate.setContent(PUBLIC_KEY);
   generateFakeSignature(certificate);
 
   BOOST_CHECK_EQUAL(certificate.isValid(), true);
@@ -237,14 +237,14 @@
 BOOST_FIXTURE_TEST_CASE(EmptyContent, InvalidCertFixture)
 {
   Data data(m_certBase);
-  data.setContent(nullptr, 0);
+  data.setContent(span<uint8_t>{});
   generateFakeSignature(data);
 
-  BOOST_CHECK_THROW((Certificate(data)), Certificate::Error);
-  BOOST_CHECK_THROW((Certificate(std::move(data))), Certificate::Error);
+  BOOST_CHECK_THROW(Certificate{data}, Certificate::Error);
+  BOOST_CHECK_THROW(Certificate{std::move(data)}, Certificate::Error);
 
   Certificate cert(m_certBase);
-  cert.setContent(nullptr, 0);
+  cert.setContent(span<uint8_t>{});
   generateFakeSignature(cert);
   BOOST_CHECK_THROW(cert.getPublicKey(), Certificate::Error);
 }
@@ -270,7 +270,7 @@
   Certificate certificate(Block(CERT, sizeof(CERT)));
   BOOST_CHECK_EQUAL(boost::lexical_cast<std::string>(certificate), expectedCertificateInfo);
 
-  // @todo Check output formats of other certificates
+  // TODO: Check output formats of other certificates
 }
 
 BOOST_AUTO_TEST_SUITE_END() // TestCertificate
diff --git a/tests/unit/util/segment-fetcher.t.cpp b/tests/unit/util/segment-fetcher.t.cpp
index 55247fe..cd74372 100644
--- a/tests/unit/util/segment-fetcher.t.cpp
+++ b/tests/unit/util/segment-fetcher.t.cpp
@@ -1,6 +1,6 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /*
- * Copyright (c) 2013-2021 Regents of the University of California.
+ * Copyright (c) 2013-2022 Regents of the University of California.
  *
  * This file is part of ndn-cxx library (NDN C++ library with eXperimental eXtensions).
  *
@@ -46,7 +46,7 @@
   {
     const uint8_t buffer[] = "Hello, world!";
     auto data = makeData(Name(baseName).appendSegment(segment));
-    data->setContent(buffer, sizeof(buffer));
+    data->setContent(buffer);
     data->setFreshnessPeriod(1_s);
     if (isFinal) {
       data->setFinalBlock(data->getName()[-1]);
@@ -559,7 +559,7 @@
   const uint8_t buffer[] = "Hello, world!";
   auto data = makeData("/hello/world/version0/no-segment");
   data->setFreshnessPeriod(1_s);
-  data->setContent(buffer, sizeof(buffer));
+  data->setContent(buffer);
 
   face.receive(*data);
   advanceClocks(10_ms);