6#include "../core_export.h"
7#include "../iequatable.h"
77 explicit ip_address(
const std::vector<xtd::byte>& address);
110 bool is_ip_v4_mapped_to_ip_v6() const noexcept;
114 bool is_ip_v6_link_local() const noexcept;
118 bool is_ip_v6_multicast() const noexcept;
122 bool is_ip_v6_site_local() const noexcept;
127 bool is_ip_v6_teredo() const noexcept;
142 using
object::equals;
143 bool equals(const
ip_address& other) const noexcept override;
147 std::vector<
xtd::
byte> get_address_bytes() const;
161 string to_string() const noexcept override;
172 static
double host_to_network_order(
double host);
200 static
float host_to_network_order(
float host);
233 static
double network_to_host_order(
double network);
261 static
float network_to_host_order(
float network);
296 static
bool try_parse(const
string& str,
ip_address& address) noexcept;
300 friend
xtd::net::sockets::socket;
301 static constexpr
size_t number_of_numbers_ = 8;
303 uint32 address_ = 0xFFFFFFFF;
304 std::vector<
uint16> numbers_ = std::vector<
uint16>(number_of_numbers_);
306 sockets::address_family address_family_ = sockets::address_family::inter_network;
Contains xtd::net::sockets::address_family enum.
Defines a generalized method that a value type or class implements to create a type-specific method f...
Definition iequatable.h:22
Provides an Internet Protocol (IP) address.
Definition ip_address.h:37
static const ip_address ip_v6_none
Provides an IP address that indicates that no network interface should be used. This field is constan...
Definition ip_address.h:57
ip_address()=default
Initializes a new instance of the xtd::net::ip_address.
static const ip_address any
Provides an IP address that indicates that the server must listen for client activity on all network ...
Definition ip_address.h:44
static const ip_address loopback
Provides the IP loopback address. This field is constant.
Definition ip_address.h:60
sockets::address_family address_family() const noexcept
Gets the address family of the IP address.
ip_address(uint32 address)
Initializes a new instance of the xtd::net::ip_address class with the address specified as an uint32.
ip_address(xtd::byte quad_part_address1, xtd::byte quad_part_address2, xtd::byte quad_part_address3, xtd::byte quad_part_address4)
Initializes a new instance of the xtd::net::ip_address class with the address specified as a four Byt...
static const ip_address ip_v6_loopback
Provides the IP loopback address. This field is constant.
Definition ip_address.h:53
static const ip_address broadcast
Provides the IP broadcast address. This field is constant.
Definition ip_address.h:47
static const ip_address ip_v6_any
The Socket::Bind method uses the cIPv6Any field to indicate that a Socket must listen for client acti...
Definition ip_address.h:50
ip_address(const std::vector< xtd::byte > &address)
Initializes a new instance of the xtd::net::ip_address class with the address specified as a byte arr...
ip_address(const std::vector< xtd::byte > &address, uint32 scope_id)
Initializes a new instance of the xtd::net::ip_address class with the address specified as a byte arr...
static const ip_address none
Provides an IP address that indicates that no network interface should be used. This field is constan...
Definition ip_address.h:63
Supports all classes in the xtd class hierarchy and provides low-level services to derived classes....
Definition object.h:42
#define core_export_
Define shared library export.
Definition core_export.h:13
int16_t int16
Represents a 16-bit signed integer.
Definition int16.h:23
int32_t int32
Represents a 32-bit signed integer.
Definition int32.h:23
int64_t int64
Represents a 64-bit signed integer.
Definition int64.h:23
uint32_t uint32
Represents a 32-bit unsigned integer.
Definition uint32.h:23
uint64_t uint64
Represents a 64-bit unsigned integer.
Definition uint64.h:23
uint8_t byte
Represents a 8-bit unsigned integer.
Definition byte.h:23
uint16_t uint16
Represents a 16-bit unsigned integer.
Definition uint16.h:23
address_family
Specifies the addressing scheme that an instance of the xtd::net::sockets::socket class can use.
Definition address_family.h:30
@ socket
Socket options apply to all sockets.
The xtd namespace contains all fundamental classes to access Hardware, Os, System,...
Definition xtd_about_box.h:10