#ifndef PLATFORM_BASE_IP_ADDRESS_H_
#define PLATFORM_BASE_IP_ADDRESS_H_
#include <array>
#include <cstdint>
#include <ostream>
#include <string>
#include <type_traits>
#include "platform/base/error.h"
namespace openscreen {
class IPAddress { … };
struct IPEndpoint { … };
bool operator==(const IPEndpoint& a, const IPEndpoint& b);
bool operator!=(const IPEndpoint& a, const IPEndpoint& b);
bool operator<(const IPEndpoint& a, const IPEndpoint& b);
inline bool operator>(const IPEndpoint& a, const IPEndpoint& b) { … }
inline bool operator<=(const IPEndpoint& a, const IPEndpoint& b) { … }
inline bool operator>=(const IPEndpoint& a, const IPEndpoint& b) { … }
std::ostream& operator<<(std::ostream& out, const IPAddress& address);
std::ostream& operator<<(std::ostream& out, const IPEndpoint& endpoint);
}
#endif