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
00040 class SFML_API sfIPAddress
00041 {
00042 public :
00043
00048 sfIPAddress();
00049
00056 sfIPAddress(const std::string& Address);
00057
00067 sfIPAddress(sfUint8 Byte0, sfUint8 Byte1, sfUint8 Byte2, sfUint8 Byte3);
00068
00075 bool IsValid() const;
00076
00083 std::string ToString() const;
00084
00091 static sfIPAddress GetLocalAddress();
00092
00102 static sfIPAddress GetPublicAddress();
00103
00112 bool operator ==(const sfIPAddress& Other) const;
00113
00122 bool operator !=(const sfIPAddress& Other) const;
00123
00132 bool operator <(const sfIPAddress& Other) const;
00133
00142 bool operator >(const sfIPAddress& Other) const;
00143
00152 bool operator <=(const sfIPAddress& Other) const;
00153
00162 bool operator >=(const sfIPAddress& Other) const;
00163
00165
00167 static const sfIPAddress LocalHost;
00168
00169 private :
00170
00172
00174 sfUint32 myAddress;
00175 };
00176
00186 SFML_API std::istream& operator >>(std::istream& Stream, sfIPAddress& Address);
00187
00197 SFML_API std::ostream& operator <<(std::ostream& Stream, const sfIPAddress& Address);
00198
00199
00200 #endif // SFML_IPADDRESS_HPP