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

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

#include <address.h>

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

Public Member Functions

 IPV4Mask (char *mask)
 Create the mask from a null terminated ASCII string such as "255.255.255.128".
IPV4Addressoperator= (unsigned long addr)
 Allows assignment from the return of functions like inet_addr() or htonl()
- Public Member Functions inherited from ost::IPV4Address
struct in_addr getAddress (void)
 Provide a low level system usable struct in_addr object from the contents of IPV4Address.
struct in_addr getAddress (size_t i)
 Provide a low level system usable struct in_addr object from the contents of IPV4Address.
size_t getAddressCount ()
 Returns the number of internet addresses that an IPV4Address object contains.
char * getHostname (void)
 Provide a string representation of the value (Internet Address) held in the IPV4Address object.
 IPV4Address (IPV4Validator *validator=((void *) 0))
 Create an Internet Address object with an empty (0.0.0.0) address.
 IPV4Address (struct in_addr addr, IPV4Validator *validator=((void *) 0))
 Convert the system internet address data type (struct in_addr) into a Common C++ IPV4Address object.
 IPV4Address (char *address, IPV4Validator *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++ IPV4Address object.
 IPV4Address (IPV4Address &rhs)
 Copy constructor.
bool isInetAddress (void)
 May be used to verify if a given IPV4Address returned by another function contains a "valid" address, or "0.0.0.0" which is often used to mark "invalid" IPV4Address values.
bool operator! ()
bool operator!= (IPV4Address &a)
 Compare two internet addresses to see if they are not equal (if they each refer to unique and different physical ip addresses).
IPV4Addressoperator= (char *str)
IPV4Addressoperator= (struct in_addr addr)
IPV4Addressoperator= (IPV4Address &rhs)
IPV4Addressoperator= (unsigned int addr)
bool operator== (IPV4Address &a)
 Compare two internet addresses to see if they are equal (if they specify the physical address of the same internet host).
virtual ~IPV4Address ()
 Destructor.

Friends

IPV4Host operator& (IPV4Host &addr, IPV4Mask &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::IPV4Address
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::IPV4Address
size_t addr_count
char * hostname
struct in_addr * ipaddr
- Static Protected Attributes inherited from ost::IPV4Address
static Mutex mutex

Detailed Description

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

The seperate class is used so that C++ type casting can automatically determine when an IPV4Address 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 504 of file address.h.

Constructor & Destructor Documentation

ost::IPV4Mask::IPV4Mask ( 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

IPV4Host operator& ( IPV4Host addr,
IPV4Mask 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: