GNU CommonC++
Public Member Functions | Friends | List of all members
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

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

Constructor & Destructor Documentation

◆ IPV6Mask()

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 Symbol Documentation

◆ operator&

__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: