From 91aa5250de170bd5683e87c1ef5cd22f3bf75e11 Mon Sep 17 00:00:00 2001 From: "Gustavo J. A. M. Carneiro" Date: Tue, 19 Jun 2007 16:59:44 +0100 Subject: [PATCH] Add Ipv4Address operator <, to allow Ipv4Address to be used in std::set; Closes #39. --- src/node/ipv4-address.cc | 5 +++++ src/node/ipv4-address.h | 2 ++ 2 files changed, 7 insertions(+) diff --git a/src/node/ipv4-address.cc b/src/node/ipv4-address.cc index ca36d8083..f8ff9f7a6 100644 --- a/src/node/ipv4-address.cc +++ b/src/node/ipv4-address.cc @@ -215,6 +215,11 @@ bool operator != (Ipv4Address const &a, Ipv4Address const &b) { 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 (); diff --git a/src/node/ipv4-address.h b/src/node/ipv4-address.h index a0714ac26..dc834052a 100644 --- a/src/node/ipv4-address.h +++ b/src/node/ipv4-address.h @@ -122,6 +122,8 @@ std::ostream& operator<< (std::ostream& os, Ipv4Mask const& mask); 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 { public: size_t operator()(Ipv4Address const &x) const;