Add Ipv4Address operator <, to allow Ipv4Address to be used in std::set; Closes #39.
authorGustavo J. A. M. Carneiro <gjc@inescporto.pt>
Tue, 19 Jun 2007 16:59:44 +0100
changeset 784 a3f6b5783790
parent 783 abde897006fd
child 785 bf8e7773836a
child 1023 38fc5ed6910f
Add Ipv4Address operator <, to allow Ipv4Address to be used in std::set; Closes #39.
src/node/ipv4-address.cc
src/node/ipv4-address.h
--- a/src/node/ipv4-address.cc	Mon Jun 18 19:31:27 2007 +0200
+++ b/src/node/ipv4-address.cc	Tue Jun 19 16:59:44 2007 +0100
@@ -215,6 +215,11 @@
 {
   return !a.IsEqual (b);
 }
+bool operator < (Ipv4Address const &addrA, Ipv4Address const &addrB)
+{
+  return (addrA.GetHostOrder () < addrB.GetHostOrder ());
+}
+
 size_t Ipv4AddressHash::operator()(Ipv4Address const &x) const 
 { 
   return x.GetHostOrder ();
--- a/src/node/ipv4-address.h	Mon Jun 18 19:31:27 2007 +0200
+++ b/src/node/ipv4-address.h	Tue Jun 19 16:59:44 2007 +0100
@@ -122,6 +122,8 @@
 
 bool operator == (Ipv4Address const &a, Ipv4Address const &b);
 bool operator != (Ipv4Address const &a, Ipv4Address const &b);
+bool operator < (Ipv4Address const &addrA, Ipv4Address const &addrB);
+
 class Ipv4AddressHash : public std::unary_function<Ipv4Address, size_t> {
 public:
   size_t operator()(Ipv4Address const &x) const;