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 IPAddress(Uint32 Address);
00087
00094 bool IsValid() const;
00095
00102 std::string ToString() const;
00103
00110 Uint32 ToInteger() const;
00111
00118 static IPAddress GetLocalAddress();
00119
00129 static IPAddress GetPublicAddress();
00130
00139 bool operator ==(const IPAddress& Other) const;
00140
00149 bool operator !=(const IPAddress& Other) const;
00150
00159 bool operator <(const IPAddress& Other) const;
00160
00169 bool operator >(const IPAddress& Other) const;
00170
00179 bool operator <=(const IPAddress& Other) const;
00180
00189 bool operator >=(const IPAddress& Other) const;
00190
00192
00194 static const IPAddress LocalHost;
00195
00196 private :
00197
00199
00201 Uint32 myAddress;
00202 };
00203
00213 SFML_API std::istream& operator >>(std::istream& Stream, IPAddress& Address);
00214
00224 SFML_API std::ostream& operator <<(std::ostream& Stream, const IPAddress& Address);
00225
00226 }
00227
00228
00229 #endif // SFML_IPADDRESS_HPP