|
join 1.0
lightweight network framework library
|
IP address implementation interface. More...

Public Member Functions | |
| virtual | ~IpAddressImpl () |
| destroy the IpAddressImpl instance. | |
| virtual int | family () const =0 |
| get address family. | |
| virtual const void * | addr () const =0 |
| get the internal address structure. | |
| virtual socklen_t | length () const =0 |
| get the size in byte of the internal address structure. | |
| virtual uint32_t | scope () const =0 |
| get the scope identifier of the address. | |
| virtual int | prefix () const =0 |
| get prefix length from netmask address. | |
| virtual bool | isWildcard () const =0 |
| check if IP address is a wildcard address. | |
| virtual bool | isLoopBack () const =0 |
| check if IP address is a loopback address. | |
| virtual bool | isLinkLocal () const =0 |
| check if IP address is link local. | |
| virtual bool | isSiteLocal () const =0 |
| check if IP address is site local (deprecated). | |
| virtual bool | isUniqueLocal () const =0 |
| check if IP address is unique local. | |
| virtual bool | isBroadcast (int prefix) const =0 |
| check if IP address is a broadcast address. | |
| virtual bool | isMulticast () const =0 |
| check if IP address is multicast. | |
| virtual bool | isIpv4Compat () const =0 |
| check if IP address is IPv4 compatible (deprecated). | |
| virtual bool | isIpv4Mapped () const =0 |
| check if IP address is IPv4 mapped. | |
| virtual std::string | toString () const =0 |
| convert internal address structure to string. | |
| virtual std::string | toArpa () const =0 |
| convert IP address to the in-addr.arpa or ip6.arpa domain name. | |
| virtual void | clear ()=0 |
| clear IP address. | |
| virtual uint8_t & | operator[] (size_t position)=0 |
| returns a reference to the element at the specified location. | |
Protected Member Functions | |
| IpAddressImpl () | |
| create the IpAddressImpl instance. | |
| IpAddressImpl (const IpAddressImpl &address)=delete | |
| create the IpAddressImpl instance by copy. | |
IP address implementation interface.
|
inlineprotected |
create the IpAddressImpl instance.
|
protecteddelete |
create the IpAddressImpl instance by copy.
| address | address to copy. |
|
inlinevirtual |
destroy the IpAddressImpl instance.
|
pure virtual |
get the internal address structure.
Implemented in join::Ipv4Address, and join::Ipv6Address.
|
pure virtual |
clear IP address.
Implemented in join::Ipv4Address, and join::Ipv6Address.
|
pure virtual |
get address family.
Implemented in join::Ipv4Address, and join::Ipv6Address.
|
pure virtual |
check if IP address is a broadcast address.
| prefix | prefix length. |
Implemented in join::Ipv4Address, and join::Ipv6Address.
|
pure virtual |
check if IP address is IPv4 compatible (deprecated).
Implemented in join::Ipv4Address, and join::Ipv6Address.
|
pure virtual |
check if IP address is IPv4 mapped.
Implemented in join::Ipv4Address, and join::Ipv6Address.
|
pure virtual |
check if IP address is link local.
Implemented in join::Ipv4Address, and join::Ipv6Address.
|
pure virtual |
check if IP address is a loopback address.
Implemented in join::Ipv4Address, and join::Ipv6Address.
|
pure virtual |
check if IP address is multicast.
Implemented in join::Ipv4Address, and join::Ipv6Address.
|
pure virtual |
check if IP address is site local (deprecated).
Implemented in join::Ipv4Address, and join::Ipv6Address.
|
pure virtual |
check if IP address is unique local.
Implemented in join::Ipv4Address, and join::Ipv6Address.
|
pure virtual |
check if IP address is a wildcard address.
Implemented in join::Ipv4Address, and join::Ipv6Address.
|
pure virtual |
get the size in byte of the internal address structure.
Implemented in join::Ipv4Address, and join::Ipv6Address.
|
pure virtual |
returns a reference to the element at the specified location.
| position | position of the element to return. |
| invalid_argument | if position is out of range. |
Implemented in join::Ipv4Address, and join::Ipv6Address.
|
pure virtual |
get prefix length from netmask address.
Implemented in join::Ipv4Address, and join::Ipv6Address.
|
pure virtual |
get the scope identifier of the address.
Implemented in join::Ipv4Address, and join::Ipv6Address.
|
pure virtual |
convert IP address to the in-addr.arpa or ip6.arpa domain name.
Implemented in join::Ipv4Address, and join::Ipv6Address.
|
pure virtual |
convert internal address structure to string.
Implemented in join::Ipv4Address, and join::Ipv6Address.