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
00076 bool IsValid() const;
00077
00084 std::string ToString() const;
00085
00092 static sfIPAddress GetLocalAddress();
00093
00103 static sfIPAddress GetPublicAddress();
00104
00113 bool operator ==(const sfIPAddress& Other) const;
00114
00123 bool operator !=(const sfIPAddress& Other) const;
00124
00133 bool operator <(const sfIPAddress& Other) const;
00134
00143 bool operator >(const sfIPAddress& Other) const;
00144
00153 bool operator <=(const sfIPAddress& Other) const;
00154
00163 bool operator >=(const sfIPAddress& Other) const;
00164
00166
00168 static const sfIPAddress Broadcast;
00169 static const sfIPAddress LocalHost;
00170
00171 private :
00172
00174
00176 sfUint32 myAddress;
00177 };
00178
00188 std::istream& operator >>(std::istream& Stream, sfIPAddress& Address);
00189
00199 std::ostream& operator <<(std::ostream& Stream, const sfIPAddress& Address);
00200
00201
00202 #endif // SFML_IPADDRESS_HPP