Add 'unflatten' to doxygen/dot processing
[senf.git] / Socket / Protocols / BSDSocketAddress.cci
index 30bb0e7..4c4084f 100644 (file)
@@ -71,10 +71,12 @@ prefix_ bool senf::BSDSocketAddress::operator==(BSDSocketAddress const & other)
     return socklen()==other.socklen() && memcmp(sockaddr_p(), other.sockaddr_p(), socklen())==0;
 }
 
-prefix_ bool senf::BSDSocketAddress::operator!=(BSDSocketAddress const & other)
+prefix_ bool senf::BSDSocketAddress::operator<(BSDSocketAddress const & other)
     const
 {
-    return ! operator==(other);
+    if (socklen() < other.socklen()) return true;
+    else if (socklen() > other.socklen()) return false;
+    else return memcmp(sockaddr_p(), other.sockaddr_p(), socklen()) < 0;
 }
 
 prefix_ bool senf::BSDSocketAddress::boolean_test()
@@ -118,7 +120,7 @@ prefix_ senf::BSDSocketAddress &
 senf::BSDSocketAddress::operator=(BSDSocketAddress const & other)
 {
     len_ = other.socklen();
-    ::memcpy(sockaddr_p(), other.sockaddr_p(), len_);
+    ::memmove(sockaddr_p(), other.sockaddr_p(), len_);
     return *this;
 }