Improve and simplify code with modern C++ features

Change-Id: I83bf5513c2a1f90ba5a59e93c473306864b27d94
diff --git a/rib/rib.cpp b/rib/rib.cpp
index d6b125b..6a221ea 100644
--- a/rib/rib.cpp
+++ b/rib/rib.cpp
@@ -68,16 +68,14 @@
 Route*
 Rib::find(const Name& prefix, const Route& route) const
 {
-  RibTable::const_iterator ribIt = m_rib.find(prefix);
+  auto ribIt = m_rib.find(prefix);
 
   // Name prefix exists
   if (ribIt != m_rib.end()) {
     shared_ptr<RibEntry> entry = ribIt->second;
-
-    RibEntry::iterator routeIt = entry->findRoute(route);
-
+    auto routeIt = entry->findRoute(route);
     if (routeIt != entry->end()) {
-      return &((*routeIt));
+      return &*routeIt;
     }
   }
 
@@ -87,7 +85,7 @@
 void
 Rib::insert(const Name& prefix, const Route& route)
 {
-  RibTable::iterator ribIt = m_rib.find(prefix);
+  auto ribIt = m_rib.find(prefix);
 
   // Name prefix exists
   if (ribIt != m_rib.end()) {
@@ -125,13 +123,13 @@
   }
   else {
     // New name prefix
-    shared_ptr<RibEntry> entry = make_shared<RibEntry>();
+    auto entry = make_shared<RibEntry>();
 
     m_rib[prefix] = entry;
     m_nItems++;
 
     entry->setName(prefix);
-    RibEntry::iterator routeIt = entry->insertRoute(route).first;
+    auto routeIt = entry->insertRoute(route).first;
 
     // Find prefix's parent
     shared_ptr<RibEntry> parent = findParent(prefix);
@@ -166,12 +164,12 @@
 void
 Rib::erase(const Name& prefix, const Route& route)
 {
-  RibTable::iterator ribIt = m_rib.find(prefix);
+  auto ribIt = m_rib.find(prefix);
 
   // Name prefix exists
   if (ribIt != m_rib.end()) {
     shared_ptr<RibEntry> entry = ribIt->second;
-    RibEntry::iterator routeIt = entry->findRoute(route);
+    auto routeIt = entry->findRoute(route);
 
     if (routeIt != entry->end()) {
       beforeRemoveRoute(RibRouteRef{entry, routeIt});
@@ -210,23 +208,21 @@
 Rib::findParent(const Name& prefix) const
 {
   for (int i = prefix.size() - 1; i >= 0; i--) {
-    RibTable::const_iterator it = m_rib.find(prefix.getPrefix(i));
-
+    auto it = m_rib.find(prefix.getPrefix(i));
     if (it != m_rib.end()) {
-      return (it->second);
+      return it->second;
     }
   }
 
-  return shared_ptr<RibEntry>();
+  return nullptr;
 }
 
-std::list<shared_ptr<RibEntry> >
+std::list<shared_ptr<RibEntry>>
 Rib::findDescendants(const Name& prefix) const
 {
-  std::list<shared_ptr<RibEntry> > children;
+  std::list<shared_ptr<RibEntry>> children;
 
   RibTable::const_iterator it = m_rib.find(prefix);
-
   if (it != m_rib.end()) {
     ++it;
     for (; it != m_rib.end(); ++it) {
@@ -247,7 +243,7 @@
 {
   std::list<shared_ptr<RibEntry>> children;
 
-  for (std::pair<Name, shared_ptr<RibEntry>> pair : m_rib) {
+  for (const auto& pair : m_rib) {
     if (prefix.isPrefixOf(pair.first)) {
       children.push_back(pair.second);
     }
@@ -288,7 +284,7 @@
     }
   }
 
-  RibTable::iterator nextIt = m_rib.erase(it);
+  auto nextIt = m_rib.erase(it);
 
   // do something after erasing an entry.
   afterEraseEntry(entry->getName());
@@ -462,8 +458,7 @@
 Rib::modifyInheritedRoutes(const RibUpdateList& inheritedRoutes)
 {
   for (const RibUpdate& update : inheritedRoutes) {
-    RibTable::iterator ribIt = m_rib.find(update.getName());
-
+    auto ribIt = m_rib.find(update.getName());
     BOOST_ASSERT(ribIt != m_rib.end());
     shared_ptr<RibEntry> entry(ribIt->second);
 
@@ -485,21 +480,18 @@
 {
   std::list<NameAndRoute> routes;
 
-  FaceLookupTable::iterator lookupIt = m_faceMap.find(faceId);
-
-  // No RIB entries have this face
+  auto lookupIt = m_faceMap.find(faceId);
   if (lookupIt == m_faceMap.end()) {
+    // No RIB entries have this face
     return routes;
   }
 
-  RibEntryList& ribEntries = lookupIt->second;
-
   // For each RIB entry that has faceId
-  for (const shared_ptr<RibEntry>& entry : ribEntries) {
+  for (const auto& entry : lookupIt->second) {
     // Find the routes in the entry
     for (const Route& route : *entry) {
       if (route.faceId == faceId) {
-        routes.push_back(NameAndRoute(entry->getName(), route));
+        routes.emplace_back(entry->getName(), route);
       }
     }
   }