//---------------------------------------------------------------------------- IPAddress IPAddress::operator ^ (const IPAddress& other) const { if (GetFamily() == other.GetFamily()) { if (GetFamily() == IPv4) { IPv4AddressImpl t(mImpl->GetAddr()); IPv4AddressImpl o(other.mImpl->GetAddr()); return IPAddress((t ^ o).GetAddr(), sizeof(struct in_addr)); } #if defined(PX2_HAVE_IPV6) else if (GetFamily() == IPv6) { IPv6AddressImpl t(mImpl->GetAddr()); IPv6AddressImpl o(other.mImpl->GetAddr()); return IPAddress((t ^ o).GetAddr(), sizeof(struct in6_addr)); } #endif else { assertion(false, "Invalid or unsupported address GetFamily passed to IPAddress()"); } } else { assertion(false, "Invalid or unsupported address GetFamily passed to IPAddress()"); } return *this; }