00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00024
00025 #ifndef SFML_IPADDRESS_HPP
00026 #define SFML_IPADDRESS_HPP
00027
00029
00031 #include <SFML/Config.hpp>
00032 #include <istream>
00033 #include <ostream>
00034 #include <string>
00035
00036
00037 namespace sf
00038 {
00042 class SFML_API IPAddress
00043 {
00044 public :
00045
00050 IPAddress();
00051
00058 IPAddress(const std::string& Address);
00059
00069 IPAddress(Uint8 Byte0, Uint8 Byte1, Uint8 Byte2, Uint8 Byte3);
00070
00077 bool IsValid() const;
00078
00085 std::string ToString() const;
00086
00093 static IPAddress GetLocalAddress();
00094
00104 static IPAddress GetPublicAddress();
00105
00114 bool operator ==(const IPAddress& Other) const;
00115
00124 bool operator !=(const IPAddress& Other) const;
00125
00134 bool operator <(const IPAddress& Other) const;
00135
00144 bool operator >(const IPAddress& Other) const;
00145
00154 bool operator <=(const IPAddress& Other) const;
00155
00164 bool operator >=(const IPAddress& Other) const;
00165
00167
00169 static const IPAddress LocalHost;
00170
00171 private :
00172
00174
00176 Uint32 myAddress;
00177 };
00178
00188 SFML_API std::istream& operator >>(std::istream& Stream, IPAddress& Address);
00189
00199 SFML_API std::ostream& operator <<(std::ostream& Stream, const IPAddress& Address);
00200
00201 }
00202
00203
00204 #endif // SFML_IPADDRESS_HPP