5 #ifndef ctrlplane_route_h
6 #define ctrlplane_route_h
8 #include <boost/intrusive/list.hpp>
9 #include <boost/intrusive/set.hpp>
16 typedef boost::intrusive::member_hook<
Path,
17 boost::intrusive::list_member_hook<>,
20 typedef boost::intrusive::list<Path, PathListMember>
PathList;
41 void remove(
const Path *path);
void Sort(Compare compare, const Path *prev_front)
boost::intrusive::list_member_hook node_
boost::intrusive::list< Path, PathListMember > PathList
boost::intrusive::member_hook< Path, boost::intrusive::list_member_hook<>,&Path::node_ > PathListMember
virtual int CompareTo(const Route &rhs) const =0
const Path * front() const
static int compare(const Type &lhs, const Type &rhs)
bool(* Compare)(const Path &path1, const Path &path2)
DISALLOW_COPY_AND_ASSIGN(Route)
void insert(const Path *path)
bool operator<(const Route &rhs) const
const PathList & GetPathList() const