nl::Inet::IPPrefix

#include <src/inet/IPPrefix.h>

互联网协议地址前缀。

摘要

使用 IPPrefix 类的对象表示 IPv4 和 IPv6 地址族的互联网协议地址前缀。

公共属性

IPAddr
IPv6 或 IPv4 地址。
Length
uint8_t
前缀的长度。

公共静态属性

Zero
一个标识化对象,其中 IPAddr 的类型为 kIPAddressType_AnyLength == 0

公共函数

IsZero(void) const
bool
将前缀与标识化 Zero 值进行比较。
MatchAddress(const IPAddress & addr) const
bool
测试地址是否与前缀匹配。
operator!=(const IPPrefix & other) const
bool
将前缀与另一个前缀进行比较,以确保不相等。
operator=(const IPPrefix & other)
传统赋值运算符。
operator==(const IPPrefix & other) const
bool
将两个前缀与另一个前缀进行比较,以实现等效性。

公共属性

IPAddr

IPAddress IPAddr

IPv6 或 IPv4 地址。

时长

uint8_t Length

前缀的长度。

请注意:此字段是公开的,并且是此类的不变形式,即 Length <= 32IPAddr 类型为 kIPAddressType_IPv4)和 Length <= 128IPAddr 类型为 kIPAddressType_IPv6)。

公共静态属性

IPPrefix Zero

一个标识化对象,其中 IPAddr 的类型为 kIPAddressType_AnyLength == 0

公共函数

IsZero

bool IsZero(
  void
) const 

将前缀与标识化 Zero 值进行比较。

请务必注意:如果 IPAddr 的类型不是 kIPAddressType_Any,则前缀就不等同于 Zero

具体说明
返回值
如果等同于 Zero,则为 true,否则为 false

MatchAddress

bool MatchAddress(
  const IPAddress & addr
) const 

测试地址是否与前缀匹配。

具体说明
参数
[in] addr
要测试的地址。
返回值
如果 addr 具有前缀,则为 true,否则为 false

运算符!=

bool operator!=(
  const IPPrefix & other
) const 

将前缀与另一个前缀进行比较,以确保不相等。

注意:两个前缀是不等同的,除非 IPAddr 字段完全等效,即所有 128 位必须完全相同。

具体说明
返回值
如果等效,则为 false,否则为 false

运算符=

IPPrefix & operator=(
  const IPPrefix & other
)

传统赋值运算符。

具体说明
参数
[in] other
要复制的前缀。
返回值
对此对象的引用。

运算符==

bool operator==(
  const IPPrefix & other
) const 

将两个前缀与另一个前缀进行比较,以实现等效性。

注意:两个前缀是不等同的,除非 IPAddr 字段完全等效,即所有 128 位必须完全相同。

具体说明
返回值
如果等效,则为 true,否则为 false