Sese Framework  2.3.0
A cross-platform framework
Loading...
Searching...
No Matches
sese::net::IPv4Address Class Referencefinal

IPv4 address class. More...

#include <IPv4Address.h>

Inheritance diagram for sese::net::IPv4Address:
sese::net::IPAddress sese::net::Address

Public Types

using Ptr = std::shared_ptr<IPv4Address>
 
- Public Types inherited from sese::net::IPAddress
using Ptr = std::shared_ptr<IPAddress>
 
- Public Types inherited from sese::net::Address
using Ptr = std::shared_ptr<Address>
 

Public Member Functions

 IPv4Address (const sockaddr_in &address)
 
 IPv4Address (uint32_t address=INADDR_ANY, uint16_t port=0)
 
sockaddr * getRawAddress () const noexcept override
 
socklen_t getRawAddressLength () const noexcept override
 
std::string getAddress () const noexcept override
 
IPAddress::Ptr getBroadcastAddress (uint32_t prefix_len) const noexcept override
 
IPAddress::Ptr getNetworkAddress (uint32_t prefix_len) const noexcept override
 
IPAddress::Ptr getSubnetMask (uint32_t prefix_len) const noexcept override
 
void setPort (uint16_t port) noexcept override
 
uint16_t getPort () const noexcept override
 
void setFamily (uint16_t family) noexcept override
 
uint16_t getFamily () noexcept override
 
- Public Member Functions inherited from sese::net::Address
virtual ~Address ()=default
 

Static Public Member Functions

static IPv4Address::Ptr create (const char *address, uint16_t port)
 
static IPv4Address::Ptr localhost (uint16_t port=0)
 
static IPv4Address::Ptr any (uint16_t port=0)
 
- Static Public Member Functions inherited from sese::net::IPAddress
static Ptr create (const char *address, uint16_t port=0)
 
- Static Public Member Functions inherited from sese::net::Address
static Ptr create (const sockaddr *address, socklen_t address_len)
 
static bool lookUp (std::vector< Address::Ptr > &result, const std::string &host, int family=AF_INET, int type=0, int protocol=0)
 
static Address::Ptr lookUpAny (const std::string &host, int family=AF_INET, int type=0, int protocol=0)
 

Private Attributes

sockaddr_in address {0}
 

Detailed Description

IPv4 address class.

Member Typedef Documentation

◆ Ptr

using sese::net::IPv4Address::Ptr = std::shared_ptr<IPv4Address>

Constructor & Destructor Documentation

◆ IPv4Address() [1/2]

IPv4Address::IPv4Address ( const sockaddr_in & address)
explicit

◆ IPv4Address() [2/2]

IPv4Address::IPv4Address ( uint32_t address = INADDR_ANY,
uint16_t port = 0 )
explicit

Member Function Documentation

◆ any()

IPv4Address::Ptr IPv4Address::any ( uint16_t port = 0)
static

◆ create()

IPv4Address::Ptr IPv4Address::create ( const char * address,
uint16_t port )
static

◆ getAddress()

std::string IPv4Address::getAddress ( ) const
nodiscardoverridevirtualnoexcept

Implements sese::net::Address.

References address, and ToLittleEndian32().

◆ getBroadcastAddress()

IPAddress::Ptr IPv4Address::getBroadcastAddress ( uint32_t prefix_len) const
nodiscardoverridevirtualnoexcept

◆ getFamily()

uint16_t sese::net::IPv4Address::getFamily ( )
inlineoverridevirtualnoexcept

Implements sese::net::IPAddress.

References address.

◆ getNetworkAddress()

IPAddress::Ptr IPv4Address::getNetworkAddress ( uint32_t prefix_len) const
nodiscardoverridevirtualnoexcept

◆ getPort()

uint16_t sese::net::IPv4Address::getPort ( ) const
inlinenodiscardoverridevirtualnoexcept

Implements sese::net::IPAddress.

References address, and FromBigEndian16().

◆ getRawAddress()

sockaddr * IPv4Address::getRawAddress ( ) const
nodiscardoverridevirtualnoexcept

Implements sese::net::Address.

References address.

◆ getRawAddressLength()

socklen_t IPv4Address::getRawAddressLength ( ) const
nodiscardoverridevirtualnoexcept

Implements sese::net::Address.

References address.

◆ getSubnetMask()

IPAddress::Ptr IPv4Address::getSubnetMask ( uint32_t prefix_len) const
nodiscardoverridevirtualnoexcept

◆ localhost()

IPv4Address::Ptr IPv4Address::localhost ( uint16_t port = 0)
static

References create().

◆ setFamily()

void sese::net::IPv4Address::setFamily ( uint16_t family)
inlineoverridevirtualnoexcept

Implements sese::net::IPAddress.

References address.

◆ setPort()

void sese::net::IPv4Address::setPort ( uint16_t port)
inlineoverridevirtualnoexcept

Implements sese::net::IPAddress.

References address, and ToBigEndian16().

Member Data Documentation

◆ address

sockaddr_in sese::net::IPv4Address::address {0}
private

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