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
00067 IPAddress(const char* Address);
00068
00078 IPAddress(Uint8 Byte0, Uint8 Byte1, Uint8 Byte2, Uint8 Byte3);
00079
00086 bool IsValid() const;
00087
00094 std::string ToString() const;
00095
00102 static IPAddress GetLocalAddress();
00103
00113 static IPAddress GetPublicAddress();
00114
00123 bool operator ==(const IPAddress& Other) const;
00124
00133 bool operator !=(const IPAddress& Other) const;
00134
00143 bool operator <(const IPAddress& Other) const;
00144
00153 bool operator >(const IPAddress& Other) const;
00154
00163 bool operator <=(const IPAddress& Other) const;
00164
00173 bool operator >=(const IPAddress& Other) const;
00174
00176
00178 static const IPAddress LocalHost;
00179
00180 private :
00181
00183
00185 Uint32 myAddress;
00186 };
00187
00197 SFML_API std::istream& operator >>(std::istream& Stream, IPAddress& Address);
00198
00208 SFML_API std::ostream& operator <<(std::ostream& Stream, const IPAddress& Address);
00209
00210 }
00211
00212
00213 #endif // SFML_IPADDRESS_HPP