ucommon
|
Internet addresses used specifically as masking addresses (such as " 255.255.255.0") are held in the IPV6Mask derived object. More...
#include <address.h>
Public Member Functions | |
IPV6Mask (char *mask) | |
Create the mask from a null terminated ASCII string such as "255.255.255.128". | |
![]() | |
struct in6_addr | getAddress (void) |
Provide a low level system usable struct in_addr object from the contents of IPV6Address. | |
struct in6_addr | getAddress (size_t i) |
Provide a low level system usable struct in_addr object from the contents of IPV6Address. | |
size_t | getAddressCount () |
Returns the number of internet addresses that an IPV6Address object contains. | |
char * | getHostname (void) |
Provide a string representation of the value (Internet Address) held in the IPV6Address object. | |
IPV6Address (IPV6Validator *validator=((void *) 0)) | |
Create an Internet Address object with an empty (0.0.0.0) address. | |
IPV6Address (struct in6_addr addr, IPV6Validator *validator=((void *) 0)) | |
Convert the system internet address data type (struct in_addr) into a Common C++ IPV6Address object. | |
IPV6Address (char *address, IPV6Validator *validator=((void *) 0)) | |
Convert a null terminated ASCII host address string (example: "127.0.0.1") or host address name (example: "www.voxilla.org") directly into a Common C++ IPV6Address object. | |
IPV6Address (IPV6Address &rhs) | |
Copy constructor. | |
bool | isInetAddress (void) |
May be used to verify if a given IPV6Address returned by another function contains a "valid" address, or "0.0.0.0" which is often used to mark "invalid" IPV6Address values. | |
bool | operator! () |
bool | operator!= (IPV6Address &a) |
Compare two internet addresses to see if they are not equal (if they each refer to unique and different physical ip addresses). | |
IPV6Address & | operator= (char *str) |
IPV6Address & | operator= (struct in6_addr addr) |
IPV6Address & | operator= (IPV6Address &rhs) |
bool | operator== (IPV6Address &a) |
Compare two internet addresses to see if they are equal (if they specify the physical address of the same internet host). | |
virtual | ~IPV6Address () |
Destructor. |
Friends | |
IPV6Host | operator& (IPV6Host &addr, IPV6Mask &mask) |
Masks are usually used to coerce host addresses into a specific router or class domain. |
Additional Inherited Members | |
![]() | |
void | setAddress (char *host) |
Used to specify a host name or numeric internet address. | |
bool | setIPAddress (char *host) |
Sets the IP address from a string representation of the numeric address, ie "127.0.0.1". | |
![]() | |
size_t | addr_count |
char * | hostname |
struct in6_addr * | ipaddr |
![]() | |
static Mutex | mutex |
Internet addresses used specifically as masking addresses (such as " 255.255.255.0") are held in the IPV6Mask derived object.
The seperate class is used so that C++ type casting can automatically determine when an IPV6Address object is really a mask address object rather than simply using the base class. This also allows manipulative operators for address masking to operate only when presented with a Masked address as well as providing cleaner and safer source.
ost::IPV6Mask::IPV6Mask | ( | char * | mask | ) |
Create the mask from a null terminated ASCII string such as "255.255.255.128".
mask | null terminated ASCII mask string. |
Masks are usually used to coerce host addresses into a specific router or class domain.
This can be done by taking the Inet Host Address object and "and"ing it with an address mask. This operation can be directly expressed in C++ through the & operator.
addr | host address to be masked by subnet. |
mask | inetnet mask address object to mask by. |