build: require gcc >= 5.3, boost >= 1.58, openssl >= 1.0.2
This effectively drops support for all versions of Ubuntu older than 16.04
Change-Id: Ie3ab7df9147e97f6467658a6399a4f9379f089c1
Refs: #4462
diff --git a/src/encoding/block.cpp b/src/encoding/block.cpp
index 2113064..ed8f5c9 100644
--- a/src/encoding/block.cpp
+++ b/src/encoding/block.cpp
@@ -34,15 +34,10 @@
namespace ndn {
BOOST_CONCEPT_ASSERT((boost::EqualityComparable<Block>));
-#if NDN_CXX_HAVE_IS_NOTHROW_MOVE_CONSTRUCTIBLE
static_assert(std::is_nothrow_move_constructible<Block>::value,
"Block must be MoveConstructible with noexcept");
-#endif // NDN_CXX_HAVE_IS_NOTHROW_MOVE_CONSTRUCTIBLE
-
-#if NDN_CXX_HAVE_IS_NOTHROW_MOVE_ASSIGNABLE
static_assert(std::is_nothrow_move_assignable<Block>::value,
"Block must be MoveAssignable with noexcept");
-#endif // NDN_CXX_HAVE_IS_NOTHROW_MOVE_ASSIGNABLE
const size_t MAX_SIZE_OF_BLOCK_FROM_STREAM = MAX_NDN_PACKET_SIZE;
@@ -454,30 +449,14 @@
Block::erase(Block::element_const_iterator position)
{
resetWire();
-
-#ifdef NDN_CXX_HAVE_VECTOR_INSERT_ERASE_CONST_ITERATOR
return m_elements.erase(position);
-#else
- element_iterator it = m_elements.begin();
- std::advance(it, std::distance(m_elements.cbegin(), position));
- return m_elements.erase(it);
-#endif
}
Block::element_iterator
Block::erase(Block::element_const_iterator first, Block::element_const_iterator last)
{
resetWire();
-
-#ifdef NDN_CXX_HAVE_VECTOR_INSERT_ERASE_CONST_ITERATOR
return m_elements.erase(first, last);
-#else
- element_iterator itStart = m_elements.begin();
- element_iterator itEnd = m_elements.begin();
- std::advance(itStart, std::distance(m_elements.cbegin(), first));
- std::advance(itEnd, std::distance(m_elements.cbegin(), last));
- return m_elements.erase(itStart, itEnd);
-#endif
}
void
@@ -491,14 +470,7 @@
Block::insert(Block::element_const_iterator pos, const Block& element)
{
resetWire();
-
-#ifdef NDN_CXX_HAVE_VECTOR_INSERT_ERASE_CONST_ITERATOR
return m_elements.insert(pos, element);
-#else
- element_iterator it = m_elements.begin();
- std::advance(it, std::distance(m_elements.cbegin(), pos));
- return m_elements.insert(it, element);
-#endif
}
// ---- misc ----
diff --git a/src/encoding/buffer.cpp b/src/encoding/buffer.cpp
index ce4c880..531e9fa 100644
--- a/src/encoding/buffer.cpp
+++ b/src/encoding/buffer.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).
*
@@ -25,15 +25,10 @@
namespace ndn {
-#if NDN_CXX_HAVE_IS_NOTHROW_MOVE_CONSTRUCTIBLE
static_assert(std::is_nothrow_move_constructible<Buffer>::value,
"Buffer must be MoveConstructible with noexcept");
-#endif // NDN_CXX_HAVE_IS_NOTHROW_MOVE_CONSTRUCTIBLE
-
-#if NDN_CXX_HAVE_IS_NOTHROW_MOVE_ASSIGNABLE
static_assert(std::is_nothrow_move_assignable<Buffer>::value,
"Buffer must be MoveAssignable with noexcept");
-#endif // NDN_CXX_HAVE_IS_NOTHROW_MOVE_ASSIGNABLE
Buffer::Buffer() = default;