The C++ framework for developing highly scalable, high performance servers on Windows platforms.

IIPAddress Class Reference
[AddressesInterfacesProtected destructors on abstract base classes]

Inheritance diagram for IIPAddress:
Collaboration diagram for IIPAddress:

List of all members.


Detailed Description

An interface that represents an IP address which knows about its port.

Public Types

typedef unsigned short Port

Public Member Functions

 IIPAddress ()
 IIPAddress (const IIPAddress &rhs)
IIPAddressoperator= (const IIPAddress &rhs)
virtual Port GetPort () const =0
 Returns the port.
virtual const
IAddressType
Type () const =0
 Returns the address type for the address.
virtual IFullAddressClone () const =0
 Dynamically allocates a copy of this address. You are responsible for deallocating this copy with delete when you're done with it..
virtual bool IsWildcardAddress () const override=0
virtual unsigned short Family () const =0
 Returns the address family of the address.
virtual const sockaddr & AsSockAddr () const =0
 Returns the address as a reference to a sockaddr structure.
virtual int Size () const =0
 Returns the size of the sockaddr structure required to store the address.
virtual IAddressRefGetAddressRef () const =0
 Returns a reference counted view on this address, be sure to call Release() on the IAdressRef when you're done with it.

Static Public Member Functions

static Port GetPort (const IAddress &address)
static bool TryGetPort (const IAddress &address, Port &port)
static Port GetPort (const sockaddr &address, int addressLength)
static bool TryGetPort (const sockaddr &address, int addressLength, Port &port)
static bool IsValid (const IAddress &address)
static bool IsSameAddress (const IAddress &lhs, const IAddress &rhs)

Protected Member Functions

 ~IIPAddress () override
 We never delete instances of this interface; you must manage the lifetime of the class that implements it.

Member Typedef Documentation

typedef unsigned short Port


Constructor & Destructor Documentation

IIPAddress (  ) 

IIPAddress ( const IIPAddress rhs  ) 

~IIPAddress (  )  [override, protected]

We never delete instances of this interface; you must manage the lifetime of the class that implements it.


Member Function Documentation

IIPAddress& operator= ( const IIPAddress rhs  ) 

virtual Port GetPort (  )  const [pure virtual]

Returns the port.

Implemented in CAddressIPv4, and CAddressIPv6.

IIPAddress::Port GetPort ( const IAddress address  )  [static]

bool TryGetPort ( const IAddress address,
IIPAddress::Port port 
) [static]

IIPAddress::Port GetPort ( const sockaddr &  address,
int  addressLength 
) [static]

bool TryGetPort ( const sockaddr &  address,
int  addressLength,
Port port 
) [static]

virtual const IAddressType& Type (  )  const [pure virtual, inherited]

Returns the address type for the address.

Implemented in CAddressIPv4, CAddressIPv6, CFullAddress, and CFullAddressWrapper.

virtual IFullAddress* Clone (  )  const [pure virtual, inherited]

Dynamically allocates a copy of this address. You are responsible for deallocating this copy with delete when you're done with it..

Implemented in CAddressIPv4, CAddressIPv6, CFullAddress, and CFullAddressWrapper.

virtual bool IsWildcardAddress (  )  const [override, pure virtual, inherited]

bool IsValid ( const IAddress address  )  [static, inherited]

bool IsSameAddress ( const IAddress lhs,
const IAddress rhs 
) [static, inherited]

virtual unsigned short Family (  )  const [pure virtual, inherited]

virtual const sockaddr& AsSockAddr (  )  const [pure virtual, inherited]

virtual int Size (  )  const [pure virtual, inherited]

Returns the size of the sockaddr structure required to store the address.

Implemented in CAddress, CAddressImpl, CAddressInfo::Iterator, CAddressIPv4, CAddressIPv6, CAddressWrapper, CFullAddress, CFullAddressWrapper, and CNetworkInterfaceAddresses::Iterator.

virtual IAddressRef* GetAddressRef (  )  const [pure virtual, inherited]

Returns a reference counted view on this address, be sure to call Release() on the IAdressRef when you're done with it.

Implemented in CAddress, CAddressImpl, CAddressInfo::Iterator, CAddressIPv4, CAddressIPv6, CAddressWrapper, CFullAddress, CFullAddressWrapper, and CNetworkInterfaceAddresses::Iterator.


Generated on Sun Sep 12 19:10:23 2021 for The Server Framework - v7.4 by doxygen 1.5.3