Use NDN_CXX_UNREACHABLE where appropriate

Change-Id: Idb3d8eade91c9e4d6e09f45a54af170f9c74ff12
diff --git a/daemon/mgmt/rib-manager.cpp b/daemon/mgmt/rib-manager.cpp
index bf3b194..768526b 100644
--- a/daemon/mgmt/rib-manager.cpp
+++ b/daemon/mgmt/rib-manager.cpp
@@ -314,8 +314,7 @@
     BOOST_ASSERT(typeid(*params) == typeid(ndn::nfd::ControlParameters));
     BOOST_ASSERT(prefix == LOCALHOST_TOP_PREFIX || prefix == LOCALHOP_TOP_PREFIX);
 
-    ndn::ValidatorConfig& validator = prefix == LOCALHOST_TOP_PREFIX ?
-                                      m_localhostValidator : m_localhopValidator;
+    auto& validator = prefix == LOCALHOST_TOP_PREFIX ? m_localhostValidator : m_localhopValidator;
     validator.validate(interest,
                        bind([&interest, this, accept] { extractRequester(interest, accept); }),
                        bind([reject] { reject(ndn::mgmt::RejectReply::STATUS403); }));
@@ -326,19 +325,18 @@
 operator<<(std::ostream& os, RibManager::SlAnnounceResult res)
 {
   switch (res) {
-    case RibManager::SlAnnounceResult::OK:
-      return os << "OK";
-    case RibManager::SlAnnounceResult::ERROR:
-      return os << "ERROR";
-    case RibManager::SlAnnounceResult::VALIDATION_FAILURE:
-      return os << "VALIDATION_FAILURE";
-    case RibManager::SlAnnounceResult::EXPIRED:
-      return os << "EXPIRED";
-    case RibManager::SlAnnounceResult::NOT_FOUND:
-      return os << "NOT_FOUND";
+  case RibManager::SlAnnounceResult::OK:
+    return os << "OK";
+  case RibManager::SlAnnounceResult::ERROR:
+    return os << "ERROR";
+  case RibManager::SlAnnounceResult::VALIDATION_FAILURE:
+    return os << "VALIDATION_FAILURE";
+  case RibManager::SlAnnounceResult::EXPIRED:
+    return os << "EXPIRED";
+  case RibManager::SlAnnounceResult::NOT_FOUND:
+    return os << "NOT_FOUND";
   }
-  BOOST_ASSERT_MSG(false, "bad SlAnnounceResult");
-  return os;
+  NDN_THROW(std::invalid_argument("Unknown SlAnnounceResult"));
 }
 
 RibManager::SlAnnounceResult
@@ -351,10 +349,8 @@
     return SlAnnounceResult::ERROR;
   case RibUpdateResult::EXPIRED:
     return SlAnnounceResult::EXPIRED;
-  default:
-    BOOST_ASSERT(false);
-    return SlAnnounceResult::ERROR;
   }
+  NDN_CXX_UNREACHABLE;
 }
 
 void
diff --git a/tests/daemon/face/lp-reliability.t.cpp b/tests/daemon/face/lp-reliability.t.cpp
index e814042..91bf094 100644
--- a/tests/daemon/face/lp-reliability.t.cpp
+++ b/tests/daemon/face/lp-reliability.t.cpp
@@ -69,25 +69,25 @@
   void
   doSendInterest(const Interest&, const EndpointId&) final
   {
-    BOOST_ASSERT(false);
+    BOOST_FAIL("unexpected doSendInterest");
   }
 
   void
   doSendData(const Data&, const EndpointId&) final
   {
-    BOOST_ASSERT(false);
+    BOOST_FAIL("unexpected doSendData");
   }
 
   void
   doSendNack(const lp::Nack&, const EndpointId&) final
   {
-    BOOST_ASSERT(false);
+    BOOST_FAIL("unexpected doSendNack");
   }
 
   void
   doReceivePacket(const Block&, const EndpointId&) final
   {
-    BOOST_ASSERT(false);
+    BOOST_FAIL("unexpected doReceivePacket");
   }
 };
 
diff --git a/tools/nfdc/command-definition.cpp b/tools/nfdc/command-definition.cpp
index 4d92ca7..d421d11 100644
--- a/tools/nfdc/command-definition.cpp
+++ b/tools/nfdc/command-definition.cpp
@@ -90,8 +90,7 @@
     case ArgValueType::ROUTE_ORIGIN:
       return "origin";
   }
-  BOOST_ASSERT(false);
-  return "";
+  NDN_CXX_UNREACHABLE;
 }
 
 CommandDefinition::CommandDefinition(const std::string& noun, const std::string& verb)
@@ -247,8 +246,7 @@
   switch (valueType) {
     case ArgValueType::NONE:
     case ArgValueType::ANY:
-      BOOST_ASSERT(false);
-      return {};
+      break;
 
     case ArgValueType::BOOLEAN:
       return parseBoolean(token);
@@ -289,8 +287,7 @@
       return boost::lexical_cast<RouteOrigin>(token);
   }
 
-  BOOST_ASSERT(false);
-  return {};
+  NDN_CXX_UNREACHABLE;
 }
 
 } // namespace nfdc