libi2ncommon: (gerd) more IP_RANGE operators
authorGerd v. Egidy <gerd.von.egidy@intra2net.com>
Thu, 2 Sep 2004 14:21:54 +0000 (14:21 +0000)
committerGerd v. Egidy <gerd.von.egidy@intra2net.com>
Thu, 2 Sep 2004 14:21:54 +0000 (14:21 +0000)
src/ipfunc.cpp
src/ipfunc.hxx

index 1acee8c..9c641e2 100644 (file)
@@ -153,12 +153,6 @@ int IP_RANGE::operator-(const IP_RANGE &other)
     return turn_ip(ip)-turn_ip(other.ip);
 }
 
-bool operator==(const IP_RANGE& a, const IP_RANGE& b)
-{
-    // == even if comparing ranges and nets possible
-    return (a.ip==b.ip && a.end==b.end);
-}
-
 bool operator<(const IP_RANGE& a, const IP_RANGE& b)
 {
     return ((IP_RANGE::turn_ip(a.ip) < IP_RANGE::turn_ip(b.ip)) ||
index b2062d6..bf2bc52 100644 (file)
@@ -19,6 +19,7 @@ class IP_RANGE
 {
     friend IP_RANGE operator+(const IP_RANGE &base, const int &ips);
     friend bool operator==(const IP_RANGE& a, const IP_RANGE& b);
+    friend bool operator!=(const IP_RANGE& a, const IP_RANGE& b);
     friend bool operator<(const IP_RANGE& a, const IP_RANGE& b);
     
     private:
@@ -79,6 +80,20 @@ inline std::string ipfunc_format_ip(unsigned int ip)
     return IP_RANGE::ip_string(ip);
 }
 
+inline bool operator==(const IP_RANGE& a, const IP_RANGE& b)
+{
+    // == even if comparing ranges and nets possible
+    return (a.ip==b.ip && a.end==b.end);
+}
+
+inline bool operator!=(const IP_RANGE& a, const IP_RANGE& b)
+{
+    // == even if comparing ranges and nets possible
+    return !(a.ip==b.ip && a.end==b.end);
+}
+
+bool operator<(const IP_RANGE& a, const IP_RANGE& b);
+
 // DEPRECATED!!! use IP_RANGE instead
 // mode 0: get network-base-address, other: broadcast-address
 inline std::string CalculateNetworkAddresses (int mode, const std::string &ip, const std::string &netmask)