template<class SockAddr, clinux::sa_family_t AddrFamily>
ark::net::address_with_family class

Provides common members and types for network address of specific address family.

Base classes

class address
a network address, of unspecified address family

Public types

using size_type = clinux::socklen_t
using sockaddr_ptr_t = add_pointer_t<SockAddr>
using const_sockaddr_ptr_t = add_pointer_t<add_const_t<SockAddr>>

Public static variables

static const clinux::sa_family_t address_family
static const clinux::socklen_t size

Constructors, destructors, conversion operators

address_with_family()
address_with_family(const address& addr)

Public functions

auto sa_ptr() -> sockaddr_ptr_t noexcept
returns a pointer to the underlying sockaddr
auto sa_ptr() const -> const_sockaddr_ptr_t noexcept
returns a pointer to the underlying sockaddr
auto sa_len() const -> size_type noexcept
returns size of the corresponding sockaddr structure
auto to_address() -> address noexcept
erase specific address family bound type info, upcast to an ark::net::address