nl::Inet::IPPrefix

#include <src/inet/IPPrefix.h>

Prefixo do endereço do protocolo de Internet.

Resumo

Use objetos da classe IPPrefix para representar prefixos de endereço de protocolo de Internet de famílias de endereços IPv4 e IPv6.

Atributos públicos

IPAddr
Um endereço IPv6 ou IPv4.
Length
uint8_t
Tamanho do prefixo.

Atributos estáticos públicos

Zero
Um objeto distinto em que o tipo de IPAddr é kIPAddressType_Any e Length == 0.

Funções públicas

IsZero(void) const
bool
Compara o prefixo com o valor Zero distinto.
MatchAddress(const IPAddress & addr) const
bool
Teste se um endereço corresponde ao prefixo.
operator!=(const IPPrefix & other) const
bool
Compara o prefixo com outro para fins de desigualdade.
operator=(const IPPrefix & other)
Operador de atribuição convencional.
operator==(const IPPrefix & other) const
bool
Compara o prefixo com outro para equivalência.

Atributos públicos

IPAddr

IPAddress IPAddr

Um endereço IPv6 ou IPv4.

Comprimento

uint8_t Length

Tamanho do prefixo.

Importante: esse campo é público e é uma invariante dessa classe que Length <= 32, em que o tipo de IPAddr é kIPAddressType_IPv4, e Length <= 128, em que o tipo de IPAddr é kIPAddressType_IPv6.

Atributos estáticos públicos

Zero

IPPrefix Zero

Um objeto distinto em que o tipo de IPAddr é kIPAddressType_Any e Length == 0.

Funções públicas

IsZero

bool IsZero(
  void
) const 

Compara o prefixo com o valor Zero distinto.

Observe bem: um prefixo não será equivalente a Zero se o tipo de IPAddr não for kIPAddressType_Any.

Detalhes
Retorna
true se equivalente a Zero. Caso contrário, false.

MatchAddress

bool MatchAddress(
  const IPAddress & addr
) const 

Teste se um endereço corresponde ao prefixo.

Detalhes
Parâmetros
[in] addr
o endereço a ser testado.
Retorna
true se addr tiver o prefixo. Caso contrário, false.

operador!=

bool operator!=(
  const IPPrefix & other
) const 

Compara o prefixo com outro para fins de desigualdade.

Observe bem: dois prefixos não são equivalentes, a menos que os campos IPAddr sejam completamente equivalentes, ou seja, todos os 128 bits precisam ser idênticos.

Detalhes
Retorna
false, se equivalente. Caso contrário, será false.

operador=

IPPrefix & operator=(
  const IPPrefix & other
)

Operador de atribuição convencional.

Detalhes
Parâmetros
[in] other
o prefixo que será copiado.
Retorna
uma referência a esse objeto.

operador==

bool operator==(
  const IPPrefix & other
) const 

Compara o prefixo com outro para equivalência.

Observe bem: dois prefixos não são equivalentes, a menos que os campos IPAddr sejam completamente equivalentes, ou seja, todos os 128 bits precisam ser idênticos.

Detalhes
Retorna
true, se equivalente. Caso contrário, false.