|
NexusForce 1.0.0
A Modern C++ Library with extended functionality, web components, and utility libraries
|
IP地址封装类 更多...
#include <ip_address.hpp>
Public 类型 | |
| using | address_type = variant<none_t, ::sockaddr_in, ::sockaddr_in6> |
| 地址存储类型 | |
Public 成员函数 | |
| ip_address () noexcept=default | |
| 默认构造函数 | |
| ip_address (const ::sockaddr_in &addr4) noexcept | |
| 从IPv4地址构造 | |
| ip_address (const ::sockaddr_in6 &addr6) noexcept | |
| 从IPv6地址构造 | |
| NEFORCE_NODISCARD bool | is_valid () const noexcept |
| 检查地址是否有效 | |
| NEFORCE_NODISCARD bool | is_ipv4 () const noexcept |
| 检查是否为IPv4地址 | |
| NEFORCE_NODISCARD bool | is_ipv6 () const noexcept |
| 检查是否为IPv6地址 | |
| NEFORCE_NODISCARDconst ::sockaddr * | data () const noexcept |
| 获取底层指针 | |
| NEFORCE_NODISCARD::sockaddr * | data () noexcept |
| 获取底层指针 | |
| NEFORCE_NODISCARD int | size () const noexcept |
| 获取地址结构大小 | |
| NEFORCE_NODISCARD const address_type & | address () const noexcept |
| 获取内部地址存储的常量引用 | |
| NEFORCE_NODISCARD int | family () const noexcept |
| 获取地址族 | |
| NEFORCE_NODISCARD ports | port () const noexcept |
| 获取端口号 | |
| NEFORCE_NODISCARD string | to_string () const |
| 转换为字符串表示 | |
| NEFORCE_NODISCARD bool | operator== (const ip_address &other) const |
| 相等比较运算符 | |
| NEFORCE_NODISCARD bool | operator!= (const ip_address &other) const |
| 不等比较运算符 | |
| Public 成员函数 继承自 istringify< ip_address > | |
| NEFORCE_NODISCARD NEFORCE_CONSTEXPR20 string | to_string () const |
| 转换为字符串 | |
静态 Public 成员函数 | |
| static NEFORCE_NODISCARD ip_address | any (ports port=ports::UNDEF, int family=AF_INET) noexcept |
| 获取通配地址 | |
| static NEFORCE_NODISCARD ip_address | loopback (ports port=ports::UNDEF, int family=AF_INET) noexcept |
| 获取回环地址 | |
| static NEFORCE_NODISCARD optional< ip_address > | parse (const string &host, ports port=ports{}) noexcept |
| 从字符串解析IP地址 | |
IP地址封装类
封装IPv4和IPv6地址,提供统一的访问接口。
主要功能:
在文件 ip_address.hpp 第 53 行定义.
|
defaultnoexcept |
默认构造函数
创建无效的IP地址对象。
被这些函数引用 any(), ip_address(), loopback(), operator!=(), operator==() , 以及 parse().
|
inlineexplicitnoexcept |
|
inlineexplicitnoexcept |
|
inlinenoexcept |
|
staticnoexcept |
获取通配地址
| port | 端口号 |
| family | 地址族,默认为IPv4 |
通配地址用于绑定到所有网络接口。
引用了 family(), ip_address(), port() , 以及 ports::UNDEF.
|
noexcept |
|
noexcept |
|
noexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
staticnoexcept |
获取回环地址
| port | 端口号 |
| family | 地址族(AF_INET或AF_INET6),默认为IPv4 |
引用了 family(), ip_address(), port() , 以及 ports::UNDEF.
|
inline |
| NEFORCE_NODISCARD bool ip_address::operator== | ( | const ip_address & | other | ) | const |
|
staticnoexcept |
从字符串解析IP地址
| host | IP地址字符串 |
| port | 端口号 |
支持IPv4点分十进制和IPv6十六进制格式。 不支持域名解析(如有需要请使用dns_client)。
引用了 ip_address(), parse() , 以及 port().
被这些函数引用 parse().
|
noexcept |
|
noexcept |
| NEFORCE_NODISCARD string ip_address::to_string | ( | ) | const |
转换为字符串表示
IPv4格式:192.168.1.1:8080 IPv6格式:[2001:db8::1]:443
引用了 to_string().
被这些函数引用 to_string().