E-MailRelay
Public Types | Public Member Functions | Static Public Member Functions | List of all members
GNet::Address6 Class Reference

A 'sockaddr' wrapper class for IPv6 addresses. More...

#include <gaddress6.h>

Public Types

using sockaddr_type = sockaddr_in6
 

Public Member Functions

 Address6 (unsigned int)
 
 Address6 (std::string_view)
 
 Address6 (std::string_view, std::string_view)
 
 Address6 (unsigned int port, int)
 
 Address6 (const sockaddr *addr, socklen_t len, bool ipv6_scope_id_fixup=false)
 
const sockaddr * address () const
 
sockaddr * address ()
 
unsigned long scopeId (unsigned long default_=0UL) const
 
unsigned int port () const
 
void setPort (unsigned int port)
 
bool setZone (std::string_view ipv6_zone_name_or_scope_id)
 
void setScopeId (unsigned long ipv6_scope_id)
 
bool same (const Address6 &other, bool ipv6_compare_with_scope=false) const
 
bool sameHostPart (const Address6 &other, bool ipv6_compare_with_scope=false) const
 
bool isLoopback () const
 
bool isLocal (std::string &) const
 
bool isLinkLocal () const
 
bool isUniqueLocal () const
 
bool isMulticast () const
 
bool isAny () const
 
unsigned int bits () const
 
std::string displayString (bool ipv6_with_scope=false) const
 
std::string hostPartString () const
 
std::string queryString () const
 
G::StringArray wildcards () const
 

Static Public Member Functions

static int domain () noexcept
 
static unsigned short af () noexcept
 
static socklen_t length () noexcept
 
static bool validString (std::string_view, std::string *=nullptr)
 
static bool validStrings (std::string_view, std::string_view, std::string *=nullptr)
 
static bool validPort (unsigned int port)
 
static bool validData (const sockaddr *addr, socklen_t len)
 

Detailed Description

A 'sockaddr' wrapper class for IPv6 addresses.

Definition at line 37 of file gaddress6.h.

Member Typedef Documentation

◆ sockaddr_type

using GNet::Address6::sockaddr_type = sockaddr_in6

Definition at line 40 of file gaddress6.h.

Constructor & Destructor Documentation

◆ Address6() [1/5]

GNet::Address6::Address6 ( unsigned int  port)
explicit

Definition at line 65 of file gaddress6.cpp.

◆ Address6() [2/5]

GNet::Address6::Address6 ( std::string_view  display_string)
explicit

Definition at line 111 of file gaddress6.cpp.

◆ Address6() [3/5]

GNet::Address6::Address6 ( std::string_view  host_part,
std::string_view  port_part 
)

Definition at line 101 of file gaddress6.cpp.

◆ Address6() [4/5]

GNet::Address6::Address6 ( unsigned int  port,
int   
)

Definition at line 73 of file gaddress6.cpp.

◆ Address6() [5/5]

GNet::Address6::Address6 ( const sockaddr *  addr,
socklen_t  len,
bool  ipv6_scope_id_fixup = false 
)

Definition at line 81 of file gaddress6.cpp.

Member Function Documentation

◆ address() [1/2]

sockaddr * GNet::Address6::address ( )

Definition at line 326 of file gaddress6.cpp.

◆ address() [2/2]

const sockaddr * GNet::Address6::address ( ) const

Definition at line 318 of file gaddress6.cpp.

◆ af()

unsigned short GNet::Address6::af ( )
staticnoexcept

Definition at line 46 of file gaddress6.cpp.

◆ bits()

unsigned int GNet::Address6::bits ( ) const

Definition at line 426 of file gaddress6.cpp.

◆ displayString()

std::string GNet::Address6::displayString ( bool  ipv6_with_scope = false) const

Definition at line 210 of file gaddress6.cpp.

◆ domain()

int GNet::Address6::domain ( )
staticnoexcept

Definition at line 51 of file gaddress6.cpp.

◆ hostPartString()

std::string GNet::Address6::hostPartString ( ) const

Definition at line 220 of file gaddress6.cpp.

◆ isAny()

bool GNet::Address6::isAny ( ) const

Definition at line 482 of file gaddress6.cpp.

◆ isLinkLocal()

bool GNet::Address6::isLinkLocal ( ) const

Definition at line 459 of file gaddress6.cpp.

◆ isLocal()

bool GNet::Address6::isLocal ( std::string &  reason) const

Definition at line 436 of file gaddress6.cpp.

◆ isLoopback()

bool GNet::Address6::isLoopback ( ) const

::1/128

Definition at line 451 of file gaddress6.cpp.

◆ isMulticast()

bool GNet::Address6::isMulticast ( ) const

Definition at line 468 of file gaddress6.cpp.

◆ isUniqueLocal()

bool GNet::Address6::isUniqueLocal ( ) const

Definition at line 473 of file gaddress6.cpp.

◆ length()

socklen_t GNet::Address6::length ( )
staticnoexcept

Definition at line 331 of file gaddress6.cpp.

◆ port()

unsigned int GNet::Address6::port ( ) const

Definition at line 307 of file gaddress6.cpp.

◆ queryString()

std::string GNet::Address6::queryString ( ) const

Definition at line 231 of file gaddress6.cpp.

◆ same()

bool GNet::Address6::same ( const Address6 other,
bool  ipv6_compare_with_scope = false 
) const

Definition at line 278 of file gaddress6.cpp.

◆ sameHostPart()

bool GNet::Address6::sameHostPart ( const Address6 other,
bool  ipv6_compare_with_scope = false 
) const

Definition at line 288 of file gaddress6.cpp.

◆ scopeId()

unsigned long GNet::Address6::scopeId ( unsigned long  default_ = 0UL) const

Definition at line 312 of file gaddress6.cpp.

◆ setPort()

void GNet::Address6::setPort ( unsigned int  port)

Definition at line 160 of file gaddress6.cpp.

◆ setScopeId()

void GNet::Address6::setScopeId ( unsigned long  ipv6_scope_id)

Definition at line 205 of file gaddress6.cpp.

◆ setZone()

bool GNet::Address6::setZone ( std::string_view  ipv6_zone_name_or_scope_id)

Definition at line 182 of file gaddress6.cpp.

◆ validData()

bool GNet::Address6::validData ( const sockaddr *  addr,
socklen_t  len 
)
static

Definition at line 243 of file gaddress6.cpp.

◆ validPort()

bool GNet::Address6::validPort ( unsigned int  port)
static

Definition at line 270 of file gaddress6.cpp.

◆ validString()

bool GNet::Address6::validString ( std::string_view  s,
std::string *  reason_p = nullptr 
)
static

Definition at line 248 of file gaddress6.cpp.

◆ validStrings()

bool GNet::Address6::validStrings ( std::string_view  host_part,
std::string_view  port_part,
std::string *  reason_p = nullptr 
)
static

Definition at line 257 of file gaddress6.cpp.

◆ wildcards()

G::StringArray GNet::Address6::wildcards ( ) const

Definition at line 402 of file gaddress6.cpp.


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