Improve and simplify code with modern C++ features

Change-Id: I83bf5513c2a1f90ba5a59e93c473306864b27d94
diff --git a/rib/rib-entry.cpp b/rib/rib-entry.cpp
index 7fd0ed7..ff646fa 100644
--- a/rib/rib-entry.cpp
+++ b/rib/rib-entry.cpp
@@ -56,12 +56,10 @@
     }
 
     m_routes.push_back(route);
+    return {std::prev(m_routes.end()), true};
+  }
 
-    return std::make_pair(std::prev(m_routes.end()), true);
-  }
-  else {
-    return std::make_pair(it, false);
-  }
+  return {it, false};
 }
 
 void
@@ -96,16 +94,16 @@
 void
 RibEntry::addChild(shared_ptr<RibEntry> child)
 {
-  BOOST_ASSERT(!static_cast<bool>(child->getParent()));
+  BOOST_ASSERT(!child->getParent());
   child->setParent(this->shared_from_this());
-  m_children.push_back(child);
+  m_children.push_back(std::move(child));
 }
 
 void
 RibEntry::removeChild(shared_ptr<RibEntry> child)
 {
   BOOST_ASSERT(child->getParent().get() == this);
-  child->setParent(shared_ptr<RibEntry>());
+  child->setParent(nullptr);
   m_children.remove(child);
 }
 
@@ -136,9 +134,7 @@
 void
 RibEntry::removeInheritedRoute(const Route& route)
 {
-  RouteList::iterator it = std::find_if(m_inheritedRoutes.begin(), m_inheritedRoutes.end(),
-                                        bind(&compareFaceId, _1, route.faceId));
-  m_inheritedRoutes.erase(it);
+  m_inheritedRoutes.remove_if(bind(&compareFaceId, _1, route.faceId));
 }
 
 RibEntry::RouteList::const_iterator
@@ -151,9 +147,7 @@
 bool
 RibEntry::hasInheritedRoute(const Route& route) const
 {
-  RouteList::const_iterator it = findInheritedRoute(route);
-
-  return (it != m_inheritedRoutes.end());
+  return findInheritedRoute(route) != m_inheritedRoutes.end();
 }
 
 bool