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

Public Member Functions

 IPV4Mask (const 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
 IPV4Address (const IPV4Validator *validator=NULL)
 Create an Internet Address object with an empty (0.0.0.0) address.
 IPV4Address (struct in_addr addr, const IPV4Validator *validator=NULL)
 Convert the system internet address data type (struct in_addr) into a Common C++ IPV4Address object.
 IPV4Address (const char *address, const IPV4Validator *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++ IPV4Address object.
 IPV4Address (const IPV4Address &rhs)
 Copy constructor.
virtual ~IPV4Address ()
 Destructor.
const char * getHostname (void) const
 Provide a string representation of the value (Internet Address) held in the IPV4Address object.
bool isInetAddress (void) const
 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.
struct in_addr getAddress (void) const
 Provide a low level system usable struct in_addr object from the contents of IPV4Address.
struct in_addr getAddress (size_t i) const
 Provide a low level system usable struct in_addr object from the contents of IPV4Address.
size_t getAddressCount () const
 Returns the number of internet addresses that an IPV4Address object contains.
IPV4Addressoperator= (const char *str)
IPV4Addressoperator= (struct in_addr addr)
IPV4Addressoperator= (const IPV4Address &rhs)
IPV4Addressoperator= (unsigned long addr)
 Allows assignment from the return of functions like inet_addr() or htonl()
IPV4Addressoperator= (unsigned int addr)
bool operator! () const
bool operator== (const IPV4Address &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 IPV4Address &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

IPV4Host operator& (const IPV4Host &addr, const 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
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::IPV4Address
struct in_addr * ipaddr
size_t addr_count
char * hostname
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.

Constructor & Destructor Documentation

◆ IPV4Mask()

ost::IPV4Mask::IPV4Mask ( const char * mask)

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

Parameters
masknull terminated ASCII mask string.

Referenced by operator&.

Member Function Documentation

◆ operator=()

IPV4Address & ost::IPV4Mask::operator= ( unsigned long addr)
inline

Allows assignment from the return of functions like inet_addr() or htonl()

References ost::IPV4Address::IPV4Address().

◆ operator&

IPV4Host operator& ( const IPV4Host & addr,
const 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.

References __EXPORT, and IPV4Mask().


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