Add Ipv4Address operator <, to allow Ipv4Address to be used in std::set; Closes #39.
--- 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;