GNU CommonC++
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:
ost::IPV6Address

List of all members.

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.
IPV6Addressoperator= (const char *str)
IPV6Addressoperator= (struct in6_addr addr)
IPV6Addressoperator= (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

__EXPORT 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

Detailed Description

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

The separate 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.

Constructor & Destructor Documentation

ost::IPV6Mask::IPV6Mask ( const 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

__EXPORT IPV6Host operator& ( const IPV6Host addr,
const 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: