UCommon
|
Internet addresses used specifically as masking addresses (such as " 255.255.255.0") are held in the IPV4Mask derived object. More...
#include <address.h>
Public Member Functions | |
IPV4Mask (const char *mask) | |
Create the mask from a null terminated ASCII string such as "255.255.255.128". | |
IPV4Address & | operator= (in_addr_t addr) |
Allows assignment from the return of functions like inet_addr() or htonl() | |
![]() | |
struct in_addr | getAddress (size_t i) const |
Provide a low level system usable struct in_addr object from the contents of IPV4Address. | |
struct in_addr | getAddress (void) 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. | |
const char * | getHostname (void) const |
Provide a string representation of the value (Internet Address) held in the 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. | |
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. | |
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. | |
operator bool () const | |
bool | operator! () const |
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). | |
IPV4Address & | operator= (const char *str) |
IPV4Address & | operator= (const IPV4Address &rhs) |
IPV4Address & | operator= (in_addr_t addr) |
Allows assignment from the return of functions like inet_addr() or htonl() | |
IPV4Address & | operator= (struct in_addr addr) |
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). | |
virtual | ~IPV4Address () |
Destructor. | |
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 | |
![]() | |
void | setAddress (const char *host) |
Used to specify a host name or numeric internet address. | |
bool | setIPAddress (const char *host) |
Sets the IP address from a string representation of the numeric address, ie "127.0.0.1". | |
![]() | |
size_t | addr_count |
char * | hostname |
struct in_addr * | ipaddr |
![]() | |
static Mutex | mutex |
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.
Internet Address Mask such as subnet masks.
ost::IPV4Mask::IPV4Mask | ( | const char * | mask | ) |
Create the mask from a null terminated ASCII string such as "255.255.255.128".
mask | null terminated ASCII mask string. |
|
inline |
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.
addr | host address to be masked by subnet. |
mask | inetnet mask address object to mask by. |