|
GNU CommonC++
|
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 (const char *mask) | |
| Create the mask from a null terminated ASCII string such as "255.255.255.128". | |
Public Member Functions inherited from ost::IPV6Address | |
| IPV6Address (const IPV6Validator *validator=NULL) | |
| Create an Internet Address object with an empty (0.0.0.0) address. | |
| IPV6Address (struct in6_addr addr, const IPV6Validator *validator=NULL) | |
| Convert the system internet address data type (struct in_addr) into a Common C++ IPV6Address object. | |
| IPV6Address (const char *address, const IPV6Validator *validator=NULL) | |
| 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 (const IPV6Address &rhs) | |
| Copy constructor. | |
| virtual | ~IPV6Address () |
| Destructor. | |
| const char * | getHostname (void) const |
| Provide a string representation of the value (Internet Address) held in the IPV6Address object. | |
| bool | isInetAddress (void) const |
| 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. | |
| struct in6_addr | getAddress (void) const |
| Provide a low level system usable struct in_addr object from the contents of IPV6Address. | |
| struct in6_addr | getAddress (size_t i) const |
| Provide a low level system usable struct in_addr object from the contents of IPV6Address. | |
| size_t | getAddressCount () const |
| Returns the number of internet addresses that an IPV6Address object contains. | |
| IPV6Address & | operator= (const char *str) |
| IPV6Address & | operator= (struct in6_addr addr) |
| IPV6Address & | operator= (const IPV6Address &rhs) |
| bool | operator! () const |
| bool | operator== (const IPV6Address &a) const |
| Compare two internet addresses to see if they are equal (if they specify the physical address of the same internet host). | |
| bool | operator!= (const IPV6Address &a) const |
| Compare two internet addresses to see if they are not equal (if they each refer to unique and different physical ip addresses). | |
Friends | |
| IPV6Host | operator& (const IPV6Host &addr, const IPV6Mask &mask) |
| Masks are usually used to coerce host addresses into a specific router or class domain. | |
Additional Inherited Members | |
Protected Member Functions inherited from ost::IPV6Address | |
| bool | setIPAddress (const char *host) |
| Sets the IP address from a string representation of the numeric address, ie "127.0.0.1". | |
| void | setAddress (const char *host) |
| Used to specify a host name or numeric internet address. | |
Protected Attributes inherited from ost::IPV6Address | |
| struct in6_addr * | ipaddr |
| size_t | addr_count |
| char * | hostname |
Static Protected Attributes inherited from ost::IPV6Address | |
| 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.
Internet Address Mask such as subnet masks.
| ost::IPV6Mask::IPV6Mask | ( | const 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. |