SFML - Simple and Fast Multimedia Library

SFML 2.6.2
Loading...
Searching...
No Matches
IpAddress.hpp
Go to the documentation of this file.
1
2//
3// SFML - Simple and Fast Multimedia Library
4// Copyright (C) 2007-2023 Laurent Gomila (laurent@sfml-dev.org)
5//
6// This software is provided 'as-is', without any express or implied warranty.
7// In no event will the authors be held liable for any damages arising from the use of this software.
8//
9// Permission is granted to anyone to use this software for any purpose,
10// including commercial applications, and to alter it and redistribute it freely,
11// subject to the following restrictions:
12//
13// 1. The origin of this software must not be misrepresented;
14// you must not claim that you wrote the original software.
15// If you use this software in a product, an acknowledgment
16// in the product documentation would be appreciated but is not required.
17//
18// 2. Altered source versions must be plainly marked as such,
19// and must not be misrepresented as being the original software.
20//
21// 3. This notice may not be removed or altered from any source distribution.
22//
24
25#ifndef SFML_IPADDRESS_HPP
26#define SFML_IPADDRESS_HPP
27
29// Headers
31#include <SFML/Network/Export.hpp>
32#include <SFML/System/Time.hpp>
33#include <istream>
34#include <ostream>
35#include <string>
36
37
38namespace sf
39{
44 class SFML_NETWORK_API IpAddress
45{
46public:
47
54 IpAddress();
55
65 IpAddress(const std::string& address);
66
79 IpAddress(const char* address);
80
94 IpAddress(Uint8 byte0, Uint8 byte1, Uint8 byte2, Uint8 byte3);
95
109 explicit IpAddress(Uint32 address);
110
123 std::string toString() const;
124
139 Uint32 toInteger() const;
140
155 static IpAddress getLocalAddress();
156
179 static IpAddress getPublicAddress(Time timeout = Time::Zero);
180
182 // Static member data
184 static const IpAddress None;
185 static const IpAddress Any;
186 static const IpAddress LocalHost;
187 static const IpAddress Broadcast;
188
189private:
190
191 friend SFML_NETWORK_API bool operator <(const IpAddress& left, const IpAddress& right);
192
199 void resolve(const std::string& address);
200
202 // Member data
204 Uint32 m_address;
205 bool m_valid;
206};
207
217 SFML_NETWORK_API bool operator ==(const IpAddress& left, const IpAddress& right);
218
228 SFML_NETWORK_API bool operator !=(const IpAddress& left, const IpAddress& right);
229
239 SFML_NETWORK_API bool operator <(const IpAddress& left, const IpAddress& right);
240
250 SFML_NETWORK_API bool operator >(const IpAddress& left, const IpAddress& right);
251
261 SFML_NETWORK_API bool operator <=(const IpAddress& left, const IpAddress& right);
262
272 SFML_NETWORK_API bool operator >=(const IpAddress& left, const IpAddress& right);
273
283 SFML_NETWORK_API std::istream& operator >>(std::istream& stream, IpAddress& address);
284
294 SFML_NETWORK_API std::ostream& operator <<(std::ostream& stream, const IpAddress& address);
295
296} // namespace sf
297
298
299#endif // SFML_IPADDRESS_HPP
300
301
Export.hpp
SFML_NETWORK_API
#define SFML_NETWORK_API
Definition Network/Export.hpp:43
Time.hpp
sf::IpAddress
Encapsulate an IPv4 network address.
Definition IpAddress.hpp:45
sf::IpAddress::IpAddress
IpAddress(Uint8 byte0, Uint8 byte1, Uint8 byte2, Uint8 byte3)
Construct the address from 4 bytes.
sf::IpAddress::Any
static const IpAddress Any
Value representing any address (0.0.0.0)
Definition IpAddress.hpp:185
sf::IpAddress::None
static const IpAddress None
Value representing an empty/invalid address.
Definition IpAddress.hpp:184
sf::IpAddress::getLocalAddress
static IpAddress getLocalAddress()
Get the computer's local address.
sf::IpAddress::LocalHost
static const IpAddress LocalHost
The "localhost" address (for connecting a computer to itself locally)
Definition IpAddress.hpp:186
sf::IpAddress::getPublicAddress
static IpAddress getPublicAddress(Time timeout=Time::Zero)
Get the computer's public address.
sf::IpAddress::IpAddress
IpAddress(const std::string &address)
Construct the address from a string.
sf::IpAddress::toString
std::string toString() const
Get a string representation of the address.
sf::IpAddress::IpAddress
IpAddress(Uint32 address)
Construct the address from a 32-bits integer.
sf::IpAddress::IpAddress
IpAddress(const char *address)
Construct the address from a string.
sf::IpAddress::Broadcast
static const IpAddress Broadcast
The "broadcast" address (for sending UDP messages to everyone on a local network)
Definition IpAddress.hpp:187
sf::IpAddress::toInteger
Uint32 toInteger() const
Get an integer representation of the address.
sf::IpAddress::IpAddress
IpAddress()
Default constructor.
sf::Time
Represents a time value.
Definition Time.hpp:41
sf::Time::Zero
static const Time Zero
Predefined "zero" time value.
Definition Time.hpp:85
sf
Definition AlResource.hpp:35
sf::operator==
bool operator==(const IpAddress &left, const IpAddress &right)
Overload of == operator to compare two IP addresses.
sf::Uint8
unsigned char Uint8
Definition Config.hpp:219
sf::operator>=
bool operator>=(const IpAddress &left, const IpAddress &right)
Overload of >= operator to compare two IP addresses.
sf::operator>>
std::istream & operator>>(std::istream &stream, IpAddress &address)
Overload of >> operator to extract an IP address from an input stream.
sf::operator!=
bool operator!=(const IpAddress &left, const IpAddress &right)
Overload of != operator to compare two IP addresses.
sf::operator<=
bool operator<=(const IpAddress &left, const IpAddress &right)
Overload of <= operator to compare two IP addresses.
sf::Uint32
unsigned int Uint32
Definition Config.hpp:227
sf::operator<<
std::ostream & operator<<(std::ostream &stream, const IpAddress &address)
Overload of << operator to print an IP address to an output stream.
sf::operator<
bool operator<(const IpAddress &left, const IpAddress &right)
Overload of < operator to compare two IP addresses.
sf::operator>
bool operator>(const IpAddress &left, const IpAddress &right)
Overload of > operator to compare two IP addresses.