ucommon
7.0.0
About: GNU uCommon C++ is a portable and optimized class framework for writing C++ applications that need to use threads and support concurrent synchronization, and that use sockets, XML parsing, object serialization, thread-optimized string and data structure classes, etc..
![]() ![]() |
This object is used to hold the actual and valid internet address of a specific host machine that will be accessed through a socket. More...
#include <address.h>
Public Member Functions | |
IPV4Host (const char *host=NULL) | |
Create a new host address for a specific internet host. More... | |
IPV4Host (struct in_addr addr) | |
Convert a system socket binary address such as may be returned through the accept() call or getsockpeer() into an internet host address object. More... | |
IPV4Address & | operator= (in_addr_t addr) |
Allows assignment from the return of functions like inet_addr() or htonl() More... | |
IPV4Host & | operator&= (const IPV4Mask &mask) |
Mask the internet host address object with a network mask address. More... | |
![]() | |
IPV4Address (const IPV4Validator *validator=NULL) | |
Create an Internet Address object with an empty (0.0.0.0) address. More... | |
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. More... | |
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. More... | |
IPV4Address (const IPV4Address &rhs) | |
Copy constructor. More... | |
virtual | ~IPV4Address () |
Destructor. More... | |
const char * | getHostname (void) const |
Provide a string representation of the value (Internet Address) held in the IPV4Address object. More... | |
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. More... | |
struct in_addr | getAddress (void) const |
Provide a low level system usable struct in_addr object from the contents of IPV4Address. More... | |
struct in_addr | getAddress (size_t i) const |
Provide a low level system usable struct in_addr object from the contents of IPV4Address. More... | |
size_t | getAddressCount () const |
Returns the number of internet addresses that an IPV4Address object contains. More... | |
IPV4Address & | operator= (const char *str) |
IPV4Address & | operator= (struct in_addr addr) |
IPV4Address & | operator= (const IPV4Address &rhs) |
IPV4Address & | operator= (in_addr_t addr) |
Allows assignment from the return of functions like inet_addr() or htonl() More... | |
operator bool () const | |
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). More... | |
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). More... | |
Static Private Attributes | |
static IPV4Host | _host_ |
Friends | |
class | IPV4Mask |
__EXPORT IPV4Host | operator& (const IPV4Host &addr, const IPV4Mask &mask) |
Additional Inherited Members | |
![]() | |
bool | setIPAddress (const char *host) |
Sets the IP address from a string representation of the numeric address, ie "127.0.0.1". More... | |
void | setAddress (const char *host) |
Used to specify a host name or numeric internet address. More... | |
![]() | |
struct in_addr * | ipaddr |
size_t | addr_count |
char * | hostname |
![]() | |
static Mutex | mutex |
This object is used to hold the actual and valid internet address of a specific host machine that will be accessed through a socket.
Address of a specific Internet host machine.
ost::IPV4Host::IPV4Host | ( | const char * | host = NULL | ) |
Create a new host address for a specific internet host.
The internet host can be specified in a null terminated ASCII string and include either the physical host address or the DNS name of a host machine. Hence, an IPV4Host ("www.voxilla.org") can be directly declaired in this manner.
Defaults to the IP address that represents the interface matching "gethostname()".
host | dns or physical address of an Internet host. |
Definition at line 278 of file address.cpp.
References _host_, and ost::IPV4Address::setAddress().
ost::IPV4Host::IPV4Host | ( | struct in_addr | addr | ) |
Convert a system socket binary address such as may be returned through the accept() call or getsockpeer() into an internet host address object.
addr | binary address of internet host. |
Definition at line 275 of file address.cpp.
Mask the internet host address object with a network mask address.
This is commonly used to coerce an address by subnet.
Definition at line 258 of file address.cpp.
References ost::IPV4Address::addr_count, ost::delString(), ost::IPV4Address::getAddress(), ost::IPV4Address::hostname, and ost::IPV4Address::ipaddr.
|
inline |
Allows assignment from the return of functions like inet_addr() or htonl()
Definition at line 611 of file address.h.
References ucommon::addr().
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. |
Definition at line 461 of file address.cpp.
|
staticprivate |
Definition at line 581 of file address.h.
Referenced by IPV4Host().