ucommon
Public Member Functions | Friends
ost::IPV6Mask Class Reference

Internet addresses used specifically as masking addresses (such as " 255.255.255.0") are held in the IPV6Mask derived object. More...

#include <address.h>

Inheritance diagram for ost::IPV6Mask:
Inheritance graph
[legend]
Collaboration diagram for ost::IPV6Mask:
Collaboration graph
[legend]

Public Member Functions

 IPV6Mask (char *mask)
 Create the mask from a null terminated ASCII string such as "255.255.255.128".
- Public Member Functions inherited from ost::IPV6Address
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).
IPV6Addressoperator= (char *str)
IPV6Addressoperator= (struct in6_addr addr)
IPV6Addressoperator= (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

- Protected Member Functions inherited from ost::IPV6Address
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".
- Protected Attributes inherited from ost::IPV6Address
size_t addr_count
char * hostname
struct in6_addr * ipaddr
- Static Protected Attributes inherited from ost::IPV6Address
static Mutex mutex

Detailed Description

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.

Author
David Sugar dyfet.nosp@m.@ost.nosp@m.el.co.nosp@m.m Internet Address Mask such as subnet masks.

Definition at line 898 of file address.h.

Constructor & Destructor Documentation

ost::IPV6Mask::IPV6Mask ( char *  mask)

Create the mask from a null terminated ASCII string such as "255.255.255.128".

Parameters
masknull terminated ASCII mask string.

Friends And Related Function Documentation

IPV6Host operator& ( IPV6Host addr,
IPV6Mask mask 
)
friend

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.

Returns
a internet host address that has been masked.
Parameters
addrhost address to be masked by subnet.
maskinetnet mask address object to mask by.

The documentation for this class was generated from the following file: