UCommon
ucommon::linked_pointer< sockaddr_struct > Class Reference

Linked pointer for address lists. More...

#include <socket.h>

Inheritance diagram for ucommon::linked_pointer< sockaddr_struct >:
Collaboration diagram for ucommon::linked_pointer< sockaddr_struct >:

Public Member Functions

sockaddr_struct * getNext (void) const
 Get the next member in linked list.
 
sockaddr_struct * getPrev (void) const
 Get the previous member in double linked list.
 
const struct sockaddr_in * in (void) const
 
const struct sockaddr_in6 * in6 (void) const
 
bool is () const
 
bool is_next (void) const
 Test for next member in linked list.
 
bool is_prev (void) const
 Test for previous member in double linked list.
 
 linked_pointer ()
 Create a linked pointer not attached to a list.
 
 linked_pointer (const linked_pointer &copy)
 
 linked_pointer (const linked_pointer &pointer)
 Create a copy of an existing linked pointer.
 
 linked_pointer (const LinkedObject *pointer)
 
 linked_pointer (const struct addrinfo *list)
 
 linked_pointer (LinkedObject *pointer)
 Create a linked pointer assigned from a raw linked object pointer.
 
 linked_pointer (OrderedIndex *index)
 Create a linked pointer to examine an ordered index.
 
 linked_pointer (sockaddr_struct *pointer)
 Create a linked pointer and assign to start of a list.
 
 linked_pointer (Socket::address &list)
 
void next (void)
 Move (iterate) pointer to next member in linked list.
 
void next (void)
 
 operator bool () const
 Test if linked pointer is set/we are not at end of list.
 
 operator bool () const
 Test if the address list is valid.
 
 operator const struct sockaddr * () const
 Get the full socket address list by casted reference.
 
 operator const struct sockaddr_in * () const
 
 operator const struct sockaddr_in6 * () const
 
 operator sockaddr_struct * () const
 Return object we point to by casting.
 
bool operator! () const
 Test if linked list is empty/we are at end of list.
 
bool operator! () const
 Test if we have no address list.
 
socket_t operator() (void) const
 Get socket as expression operator.
 
sockaddr_struct * operator* () const
 Return object we currently point to.
 
const struct sockaddr * operator* () const
 Return the full socket address list by pointer reference.
 
void operator++ ()
 Move (iterate) pointer to next member in linked list.
 
void operator-- ()
 Move (iterate) pointer to previous member in double linked list.
 
sockaddr_struct * operator-> () const
 Return member from typed object our pointer references.
 
const struct sockaddr * operator-> () const
 Return member from typed object our pointer references.
 
linked_pointeroperator= (const struct addrinfo *list)
 Assign our pointer from an address list.
 
void operator= (linked_pointer &pointer)
 Assign our pointer from another pointer.
 
void operator= (LinkedObject *pointer)
 Assign our pointer from a generic linked object pointer.
 
void operator= (OrderedIndex *index)
 Assign our pointer from the start of an ordered index.
 
void operator= (sockaddr_struct *pointer)
 Assign our typed iterative pointer from a matching typed object.
 
linked_pointeroperator= (Socket::address &list)
 Assign our pointer from an address list.
 
void prev (void)
 Move (iterate) pointer to previous member in double linked list.
 
LinkedObject ** root (void) const
 Return pointer to our linked pointer to use as root node of a chain.
 
void set (const struct addrinfo *list)
 Assign our pointer from an address list.
 
void set (Socket::address &list)
 Assign our pointer from an address list.
 

Detailed Description

Linked pointer for address lists.

This can be used to iterate through the list of a Socket::address object using the linked_pointer method.

Author
David Sugar dyfet.nosp@m.@gnu.nosp@m.telep.nosp@m.hony.nosp@m..org

Definition at line 1947 of file socket.h.

Constructor & Destructor Documentation

◆ linked_pointer() [1/10]

ucommon::linked_pointer< sockaddr_struct >::linked_pointer ( const struct addrinfo * list)
inline

Definition at line 1953 of file socket.h.

◆ linked_pointer() [2/10]

ucommon::linked_pointer< sockaddr_struct >::linked_pointer ( const linked_pointer< sockaddr_struct > & copy)
inline

Definition at line 1957 of file socket.h.

◆ linked_pointer() [3/10]

ucommon::linked_pointer< sockaddr_struct >::linked_pointer ( )
inline

Definition at line 1961 of file socket.h.

◆ linked_pointer() [4/10]

ucommon::linked_pointer< sockaddr_struct >::linked_pointer ( Socket::address & list)
inline

Definition at line 1965 of file socket.h.

◆ linked_pointer() [5/10]

ucommon::linked_pointer< sockaddr_struct >::linked_pointer ( sockaddr_struct * pointer)
inline

Create a linked pointer and assign to start of a list.

Parameters
pointerto first member of a linked list.

Definition at line 1001 of file linked.h.

◆ linked_pointer() [6/10]

ucommon::linked_pointer< sockaddr_struct >::linked_pointer ( const linked_pointer< sockaddr_struct > & pointer)
inline

Create a copy of an existing linked pointer.

Parameters
pointerto copy from.

Definition at line 1009 of file linked.h.

◆ linked_pointer() [7/10]

ucommon::linked_pointer< sockaddr_struct >::linked_pointer ( LinkedObject * pointer)
inline

Create a linked pointer assigned from a raw linked object pointer.

Parameters
pointerto linked object.

Definition at line 1017 of file linked.h.

◆ linked_pointer() [8/10]

ucommon::linked_pointer< sockaddr_struct >::linked_pointer ( const LinkedObject * pointer)
inline

Definition at line 1021 of file linked.h.

◆ linked_pointer() [9/10]

ucommon::linked_pointer< sockaddr_struct >::linked_pointer ( OrderedIndex * index)
inline

Create a linked pointer to examine an ordered index.

Parameters
indexof linked objects to iterate through.

Definition at line 1029 of file linked.h.

◆ linked_pointer() [10/10]

ucommon::linked_pointer< sockaddr_struct >::linked_pointer ( )
inline

Create a linked pointer not attached to a list.

Definition at line 1036 of file linked.h.

Member Function Documentation

◆ getNext()

sockaddr_struct * ucommon::linked_pointer< sockaddr_struct >::getNext ( void ) const
inline

Get the next member in linked list.

Do not change who we point to.

Returns
next member in list or NULL if end of list.

Definition at line 1114 of file linked.h.

◆ getPrev()

sockaddr_struct * ucommon::linked_pointer< sockaddr_struct >::getPrev ( void ) const
inline

Get the previous member in double linked list.

Do not change who we point to.

Returns
previous member in list or NULL if start of list.

Definition at line 1123 of file linked.h.

◆ in()

const struct sockaddr_in * ucommon::linked_pointer< sockaddr_struct >::in ( void ) const
inline

Definition at line 1989 of file socket.h.

◆ in6()

const struct sockaddr_in6 * ucommon::linked_pointer< sockaddr_struct >::in6 ( void ) const
inline

Definition at line 1998 of file socket.h.

◆ is()

bool ucommon::linked_pointer< sockaddr_struct >::is ( ) const
inline

Definition at line 1173 of file linked.h.

◆ is_next()

bool ucommon::linked_pointer< sockaddr_struct >::is_next ( void ) const
inline

Test for next member in linked list.

Returns
true if there is more members after current one.

Definition at line 1145 of file linked.h.

◆ is_prev()

bool ucommon::linked_pointer< sockaddr_struct >::is_prev ( void ) const
inline

Test for previous member in double linked list.

Returns
true if there is more members before current one.

Definition at line 1153 of file linked.h.

◆ next() [1/2]

void ucommon::linked_pointer< sockaddr_struct >::next ( void )
inline

Move (iterate) pointer to next member in linked list.

Definition at line 1106 of file linked.h.

◆ next() [2/2]

void ucommon::linked_pointer< sockaddr_struct >::next ( void )
inline

Definition at line 2069 of file socket.h.

◆ operator bool() [1/2]

ucommon::linked_pointer< sockaddr_struct >::operator bool ( ) const
inline

Test if linked pointer is set/we are not at end of list.

Returns
true if we are not at end of list.

Definition at line 1161 of file linked.h.

◆ operator bool() [2/2]

ucommon::linked_pointer< sockaddr_struct >::operator bool ( ) const
inline

Test if the address list is valid.

Returns
true if we have an address list.

Definition at line 2014 of file socket.h.

◆ operator const struct sockaddr *()

ucommon::linked_pointer< sockaddr_struct >::operator const struct sockaddr * ( ) const
inline

Get the full socket address list by casted reference.

Returns
addrinfo list we resolved or NULL if none.

Definition at line 1973 of file socket.h.

Here is the call graph for this function:

◆ operator const struct sockaddr_in *()

ucommon::linked_pointer< sockaddr_struct >::operator const struct sockaddr_in * ( ) const
inline

Definition at line 1985 of file socket.h.

◆ operator const struct sockaddr_in6 *()

ucommon::linked_pointer< sockaddr_struct >::operator const struct sockaddr_in6 * ( ) const
inline

Definition at line 1994 of file socket.h.

◆ operator sockaddr_struct *()

ucommon::linked_pointer< sockaddr_struct >::operator sockaddr_struct* ( ) const
inline

Return object we point to by casting.

Returns
object linked pointer references.

Definition at line 1092 of file linked.h.

◆ operator!() [1/2]

bool ucommon::linked_pointer< sockaddr_struct >::operator! ( ) const
inline

Test if linked list is empty/we are at end of list.

Returns
true if we are at end of list.

Definition at line 1169 of file linked.h.

◆ operator!() [2/2]

bool ucommon::linked_pointer< sockaddr_struct >::operator! ( ) const
inline

Test if we have no address list.

Returns
true if we have no address list.

Definition at line 2065 of file socket.h.

◆ operator()()

socket_t ucommon::linked_pointer< sockaddr_struct >::operator() ( void ) const
inline

Get socket as expression operator.

Definition at line 2006 of file socket.h.

Here is the call graph for this function:

◆ operator*() [1/2]

sockaddr_struct * ucommon::linked_pointer< sockaddr_struct >::operator* ( ) const
inline

Return object we currently point to.

Returns
object linked pointer references.

Definition at line 1084 of file linked.h.

◆ operator*() [2/2]

const struct sockaddr * ucommon::linked_pointer< sockaddr_struct >::operator* ( ) const
inline

Return the full socket address list by pointer reference.

Returns
addrinfo list we resolved or NULL if none.

Definition at line 1981 of file socket.h.

Here is the call graph for this function:

◆ operator++()

void ucommon::linked_pointer< sockaddr_struct >::operator++ ( )
inline

Move (iterate) pointer to next member in linked list.

Definition at line 1130 of file linked.h.

◆ operator--()

void ucommon::linked_pointer< sockaddr_struct >::operator-- ( )
inline

Move (iterate) pointer to previous member in double linked list.

Definition at line 1137 of file linked.h.

◆ operator->() [1/2]

sockaddr_struct * ucommon::linked_pointer< sockaddr_struct >::operator-> ( ) const
inline

Return member from typed object our pointer references.

Returns
evaluated member of object we point to.

Definition at line 1076 of file linked.h.

◆ operator->() [2/2]

const struct sockaddr * ucommon::linked_pointer< sockaddr_struct >::operator-> ( ) const
inline

Return member from typed object our pointer references.

Returns
evaluated member of object we point to.

Definition at line 2057 of file socket.h.

Here is the call graph for this function:

◆ operator=() [1/6]

linked_pointer & ucommon::linked_pointer< sockaddr_struct >::operator= ( const struct addrinfo * list)
inline

Assign our pointer from an address list.

Parameters
pointerof linked list.

Definition at line 2022 of file socket.h.

Here is the call graph for this function:

◆ operator=() [2/6]

void ucommon::linked_pointer< sockaddr_struct >::operator= ( linked_pointer< sockaddr_struct > & pointer)
inline

Assign our pointer from another pointer.

Parameters
pointerto assign from.

Definition at line 1052 of file linked.h.

◆ operator=() [3/6]

void ucommon::linked_pointer< sockaddr_struct >::operator= ( LinkedObject * pointer)
inline

Assign our pointer from a generic linked object pointer.

Parameters
pointerof linked list.

Definition at line 1068 of file linked.h.

◆ operator=() [4/6]

void ucommon::linked_pointer< sockaddr_struct >::operator= ( OrderedIndex * index)
inline

Assign our pointer from the start of an ordered index.

Parameters
indexto assign pointer from.

Definition at line 1060 of file linked.h.

◆ operator=() [5/6]

void ucommon::linked_pointer< sockaddr_struct >::operator= ( sockaddr_struct * pointer)
inline

Assign our typed iterative pointer from a matching typed object.

Parameters
pointerto typed object.

Definition at line 1044 of file linked.h.

◆ operator=() [6/6]

linked_pointer & ucommon::linked_pointer< sockaddr_struct >::operator= ( Socket::address & list)
inline

Assign our pointer from an address list.

Parameters
pointerof linked list.

Definition at line 2031 of file socket.h.

Here is the call graph for this function:

◆ prev()

void ucommon::linked_pointer< sockaddr_struct >::prev ( void )
inline

Move (iterate) pointer to previous member in double linked list.

Definition at line 1099 of file linked.h.

◆ root()

LinkedObject ** ucommon::linked_pointer< sockaddr_struct >::root ( void ) const
inline

Return pointer to our linked pointer to use as root node of a chain.

Returns
our object pointer as a root index.

Definition at line 1181 of file linked.h.

◆ set() [1/2]

void ucommon::linked_pointer< sockaddr_struct >::set ( const struct addrinfo * list)
inline

Assign our pointer from an address list.

Parameters
pointerof linked list.

Definition at line 2040 of file socket.h.

Here is the call graph for this function:

◆ set() [2/2]

void ucommon::linked_pointer< sockaddr_struct >::set ( Socket::address & list)
inline

Assign our pointer from an address list.

Parameters
pointerof linked list.

Definition at line 2048 of file socket.h.

Here is the call graph for this function:

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