<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> <title>ucommon: ucommon::linked_pointer< struct sockaddr > Class Template Reference</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <link href="doxygen.css" rel="stylesheet" type="text/css"/> </head> <body> <!-- Generated by Doxygen 1.6.3 --> <div class="navigation" id="top"> <div class="tabs"> <ul> <li><a href="main.html"><span>Main Page</span></a></li> <li><a href="namespaces.html"><span>Namespaces</span></a></li> <li class="current"><a href="annotated.html"><span>Data Structures</span></a></li> <li><a href="files.html"><span>Files</span></a></li> <li><a href="examples.html"><span>Examples</span></a></li> </ul> </div> <div class="tabs"> <ul> <li><a href="annotated.html"><span>Data Structures</span></a></li> <li><a href="classes.html"><span>Data Structure Index</span></a></li> <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> <li><a href="functions.html"><span>Data Fields</span></a></li> </ul> </div> <div class="navpath"><a class="el" href="a00208.html">ucommon</a>::<a class="el" href="a00063.html">linked_pointer< struct sockaddr ></a> </div> </div> <div class="contents"> <h1>ucommon::linked_pointer< struct sockaddr > Class Template Reference</h1><!-- doxytag: class="ucommon::linked_pointer< struct sockaddr >" --> <p>Linked pointer for address lists. <a href="#_details">More...</a></p> <p><code>#include <<a class="el" href="a00198_source.html">socket.h</a>></code></p> <table border="0" cellpadding="0" cellspacing="0"> <tr><td colspan="2"><h2>Public Member Functions</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a384eb95b9263b0f7a94aba90795114a7"></a><!-- doxytag: member="ucommon::linked_pointer< struct sockaddr >::in" ref="a384eb95b9263b0f7a94aba90795114a7" args="(void) const " --> struct sockaddr_in * </td><td class="memItemRight" valign="bottom"><b>in</b> (void) const </td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1d0d4e0f0650d93c53669c749c5673d3"></a><!-- doxytag: member="ucommon::linked_pointer< struct sockaddr >::in6" ref="a1d0d4e0f0650d93c53669c749c5673d3" args="(void) const " --> struct sockaddr_in6 * </td><td class="memItemRight" valign="bottom"><b>in6</b> (void) const </td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a498bee39071b2c5a346e59c6cd1c5337"></a><!-- doxytag: member="ucommon::linked_pointer< struct sockaddr >::linked_pointer" ref="a498bee39071b2c5a346e59c6cd1c5337" args="(Socket::address &list)" --> </td><td class="memItemRight" valign="bottom"><b>linked_pointer</b> (<a class="el" href="a00141.html">Socket::address</a> &list)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a08d92fbc832d53014f903416f1f839de"></a><!-- doxytag: member="ucommon::linked_pointer< struct sockaddr >::linked_pointer" ref="a08d92fbc832d53014f903416f1f839de" args="(struct addrinfo *list)" --> </td><td class="memItemRight" valign="bottom"><b>linked_pointer</b> (struct addrinfo *list)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aecadc534ee3308d2afef0b8aeedfa05e"></a><!-- doxytag: member="ucommon::linked_pointer< struct sockaddr >::next" ref="aecadc534ee3308d2afef0b8aeedfa05e" args="(void)" --> void </td><td class="memItemRight" valign="bottom"><b>next</b> (void)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00063.html#a45a94d5bb06870aa0c8e41e364f617d8">operator bool</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Test if the address list is valid. <a href="#a45a94d5bb06870aa0c8e41e364f617d8"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00063.html#a7c191de41d983e84f6ca8f863cdd9ced">operator struct sockaddr *</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get the full socket address list by casted reference. <a href="#a7c191de41d983e84f6ca8f863cdd9ced"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0d70891b8425eb4d718856ce2340ef4d"></a><!-- doxytag: member="ucommon::linked_pointer< struct sockaddr >::operator struct sockaddr_in *" ref="a0d70891b8425eb4d718856ce2340ef4d" args="() const " --> </td><td class="memItemRight" valign="bottom"><b>operator struct sockaddr_in *</b> () const </td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9761efda53184c18e545b97f53887a0b"></a><!-- doxytag: member="ucommon::linked_pointer< struct sockaddr >::operator struct sockaddr_in6 *" ref="a9761efda53184c18e545b97f53887a0b" args="() const " --> </td><td class="memItemRight" valign="bottom"><b>operator struct sockaddr_in6 *</b> () const </td></tr> <tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00063.html#aaed86cb039a065acdd82db8dcbfac8e8">operator!</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Test if we have no address list. <a href="#aaed86cb039a065acdd82db8dcbfac8e8"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab7dee729bdaee921e20671c18530f849"></a><!-- doxytag: member="ucommon::linked_pointer< struct sockaddr >::operator()" ref="ab7dee729bdaee921e20671c18530f849" args="(void) const " --> socket_t </td><td class="memItemRight" valign="bottom"><a class="el" href="a00063.html#ab7dee729bdaee921e20671c18530f849">operator()</a> (void) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get socket as expression operator. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">struct sockaddr * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00063.html#a828ddb920ef3ce4878481f2d6f72dee2">operator*</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Return the full socket address list by pointer reference. <a href="#a828ddb920ef3ce4878481f2d6f72dee2"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">struct sockaddr * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00063.html#a2e68e47e6fc7ba1df2173e752aa7ee19">operator-></a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Return member from typed object our pointer references. <a href="#a2e68e47e6fc7ba1df2173e752aa7ee19"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00063.html#a5dfe5a9056dd2b3176d262cc8305ef98">operator=</a> (<a class="el" href="a00141.html">Socket::address</a> &list)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Assign our pointer from an address list. <a href="#a5dfe5a9056dd2b3176d262cc8305ef98"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00063.html#a4d94aa10795d39addc1a9ebb7e17dd66">operator=</a> (struct addrinfo *list)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Assign our pointer from an address list. <a href="#a4d94aa10795d39addc1a9ebb7e17dd66"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00063.html#afe4b5ea753bd0465595dc16dd60e8cf7">set</a> (<a class="el" href="a00141.html">Socket::address</a> &list)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Assign our pointer from an address list. <a href="#afe4b5ea753bd0465595dc16dd60e8cf7"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00063.html#ac8b50e0a0e7b80084f7c1577d71caf15">set</a> (struct addrinfo *list)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Assign our pointer from an address list. <a href="#ac8b50e0a0e7b80084f7c1577d71caf15"></a><br/></td></tr> </table> <hr/><a name="_details"></a><h2>Detailed Description</h2> <h3>template<><br/> class ucommon::linked_pointer< struct sockaddr ></h3> <p>Linked pointer for address lists. </p> <p>This can be used to iterate through the list of a <a class="el" href="a00141.html" title="A generic socket address class.">Socket::address</a> object using the <a class="el" href="a00062.html" title="A smart pointer template for iterating linked lists.">linked_pointer</a> method. </p> <dl class="author"><dt><b>Author:</b></dt><dd>David Sugar <<a href="mailto:dyfet@gnutelephony.org">dyfet@gnutelephony.org</a>> </dd></dl> <p>Definition at line <a class="el" href="a00198_source.html#l01763">1763</a> of file <a class="el" href="a00198_source.html">socket.h</a>.</p> <hr/><h2>Member Function Documentation</h2> <a class="anchor" id="a45a94d5bb06870aa0c8e41e364f617d8"></a><!-- doxytag: member="ucommon::linked_pointer< struct sockaddr >::operator bool" ref="a45a94d5bb06870aa0c8e41e364f617d8" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="a00062.html">ucommon::linked_pointer</a>< struct sockaddr >::operator bool </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Test if the address list is valid. </p> <dl class="return"><dt><b>Returns:</b></dt><dd>true if we have an address list. </dd></dl> <p>Definition at line <a class="el" href="a00198_source.html#l01816">1816</a> of file <a class="el" href="a00198_source.html">socket.h</a>.</p> </div> </div> <a class="anchor" id="a7c191de41d983e84f6ca8f863cdd9ced"></a><!-- doxytag: member="ucommon::linked_pointer< struct sockaddr >::operator struct sockaddr *" ref="a7c191de41d983e84f6ca8f863cdd9ced" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="a00062.html">ucommon::linked_pointer</a>< struct sockaddr >::operator struct sockaddr * </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Get the full socket address list by casted reference. </p> <dl class="return"><dt><b>Returns:</b></dt><dd>addrinfo list we resolved or NULL if none. </dd></dl> <p>Definition at line <a class="el" href="a00198_source.html#l01782">1782</a> of file <a class="el" href="a00198_source.html">socket.h</a>.</p> <p><div class="dynheader"> Here is the call graph for this function:</div> <div class="dynsection"> <div class="center"><img src="a00063_a7c191de41d983e84f6ca8f863cdd9ced_cgraph.png" border="0" usemap="#a00063_a7c191de41d983e84f6ca8f863cdd9ced_cgraph_map" alt=""></div> <map name="a00063_a7c191de41d983e84f6ca8f863cdd9ced_cgraph_map" id="a00063_a7c191de41d983e84f6ca8f863cdd9ced_cgraph"> <area shape="rect" id="node3" href="a00208.html#af7c144b60b84fc894849f5eefd967599" title="Helper function for linked_pointer<struct sockaddr>." alt="" coords="776,5,1008,32"/></map> </div> </p> </div> </div> <a class="anchor" id="aaed86cb039a065acdd82db8dcbfac8e8"></a><!-- doxytag: member="ucommon::linked_pointer< struct sockaddr >::operator!" ref="aaed86cb039a065acdd82db8dcbfac8e8" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool <a class="el" href="a00062.html">ucommon::linked_pointer</a>< struct sockaddr >::operator! </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Test if we have no address list. </p> <dl class="return"><dt><b>Returns:</b></dt><dd>true if we have no address list. </dd></dl> <p>Definition at line <a class="el" href="a00198_source.html#l01859">1859</a> of file <a class="el" href="a00198_source.html">socket.h</a>.</p> </div> </div> <a class="anchor" id="a828ddb920ef3ce4878481f2d6f72dee2"></a><!-- doxytag: member="ucommon::linked_pointer< struct sockaddr >::operator*" ref="a828ddb920ef3ce4878481f2d6f72dee2" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">struct sockaddr* <a class="el" href="a00062.html">ucommon::linked_pointer</a>< struct sockaddr >::operator* </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td> const<code> [inline, read]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Return the full socket address list by pointer reference. </p> <dl class="return"><dt><b>Returns:</b></dt><dd>addrinfo list we resolved or NULL if none. </dd></dl> <p>Definition at line <a class="el" href="a00198_source.html#l01789">1789</a> of file <a class="el" href="a00198_source.html">socket.h</a>.</p> <p><div class="dynheader"> Here is the call graph for this function:</div> <div class="dynsection"> <div class="center"><img src="a00063_a828ddb920ef3ce4878481f2d6f72dee2_cgraph.png" border="0" usemap="#a00063_a828ddb920ef3ce4878481f2d6f72dee2_cgraph_map" alt=""></div> <map name="a00063_a828ddb920ef3ce4878481f2d6f72dee2_cgraph_map" id="a00063_a828ddb920ef3ce4878481f2d6f72dee2_cgraph"> <area shape="rect" id="node3" href="a00208.html#af7c144b60b84fc894849f5eefd967599" title="Helper function for linked_pointer<struct sockaddr>." alt="" coords="605,5,837,32"/></map> </div> </p> </div> </div> <a class="anchor" id="a2e68e47e6fc7ba1df2173e752aa7ee19"></a><!-- doxytag: member="ucommon::linked_pointer< struct sockaddr >::operator->" ref="a2e68e47e6fc7ba1df2173e752aa7ee19" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">struct sockaddr* <a class="el" href="a00062.html">ucommon::linked_pointer</a>< struct sockaddr >::operator-> </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td> const<code> [inline, read]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Return member from typed object our pointer references. </p> <dl class="return"><dt><b>Returns:</b></dt><dd>evaluated member of object we point to. </dd></dl> <p>Definition at line <a class="el" href="a00198_source.html#l01852">1852</a> of file <a class="el" href="a00198_source.html">socket.h</a>.</p> <p><div class="dynheader"> Here is the call graph for this function:</div> <div class="dynsection"> <div class="center"><img src="a00063_a2e68e47e6fc7ba1df2173e752aa7ee19_cgraph.png" border="0" usemap="#a00063_a2e68e47e6fc7ba1df2173e752aa7ee19_cgraph_map" alt=""></div> <map name="a00063_a2e68e47e6fc7ba1df2173e752aa7ee19_cgraph_map" id="a00063_a2e68e47e6fc7ba1df2173e752aa7ee19_cgraph"> <area shape="rect" id="node3" href="a00208.html#af7c144b60b84fc894849f5eefd967599" title="Helper function for linked_pointer<struct sockaddr>." alt="" coords="616,5,848,32"/></map> </div> </p> </div> </div> <a class="anchor" id="a5dfe5a9056dd2b3176d262cc8305ef98"></a><!-- doxytag: member="ucommon::linked_pointer< struct sockaddr >::operator=" ref="a5dfe5a9056dd2b3176d262cc8305ef98" args="(Socket::address &list)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void <a class="el" href="a00062.html">ucommon::linked_pointer</a>< struct sockaddr >::operator= </td> <td>(</td> <td class="paramtype"><a class="el" href="a00141.html">Socket::address</a> & </td> <td class="paramname"> <em>list</em></td> <td> ) </td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Assign our pointer from an address list. </p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>pointer</em> </td><td>of linked list. </td></tr> </table> </dd> </dl> <p>Definition at line <a class="el" href="a00198_source.html#l01830">1830</a> of file <a class="el" href="a00198_source.html">socket.h</a>.</p> <p><div class="dynheader"> Here is the call graph for this function:</div> <div class="dynsection"> <div class="center"><img src="a00063_a5dfe5a9056dd2b3176d262cc8305ef98_cgraph.png" border="0" usemap="#a00063_a5dfe5a9056dd2b3176d262cc8305ef98_cgraph_map" alt=""></div> <map name="a00063_a5dfe5a9056dd2b3176d262cc8305ef98_cgraph_map" id="a00063_a5dfe5a9056dd2b3176d262cc8305ef98_cgraph"> <area shape="rect" id="node3" href="a00141.html#adf008e2e2233bbccc99d0e51f4bca1b3" title="Get the full socket address list from the object." alt="" coords="605,5,957,32"/></map> </div> </p> </div> </div> <a class="anchor" id="a4d94aa10795d39addc1a9ebb7e17dd66"></a><!-- doxytag: member="ucommon::linked_pointer< struct sockaddr >::operator=" ref="a4d94aa10795d39addc1a9ebb7e17dd66" args="(struct addrinfo *list)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void <a class="el" href="a00062.html">ucommon::linked_pointer</a>< struct sockaddr >::operator= </td> <td>(</td> <td class="paramtype">struct addrinfo * </td> <td class="paramname"> <em>list</em></td> <td> ) </td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Assign our pointer from an address list. </p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>pointer</em> </td><td>of linked list. </td></tr> </table> </dd> </dl> <p>Definition at line <a class="el" href="a00198_source.html#l01823">1823</a> of file <a class="el" href="a00198_source.html">socket.h</a>.</p> </div> </div> <a class="anchor" id="afe4b5ea753bd0465595dc16dd60e8cf7"></a><!-- doxytag: member="ucommon::linked_pointer< struct sockaddr >::set" ref="afe4b5ea753bd0465595dc16dd60e8cf7" args="(Socket::address &list)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void <a class="el" href="a00062.html">ucommon::linked_pointer</a>< struct sockaddr >::set </td> <td>(</td> <td class="paramtype"><a class="el" href="a00141.html">Socket::address</a> & </td> <td class="paramname"> <em>list</em></td> <td> ) </td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Assign our pointer from an address list. </p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>pointer</em> </td><td>of linked list. </td></tr> </table> </dd> </dl> <p>Definition at line <a class="el" href="a00198_source.html#l01844">1844</a> of file <a class="el" href="a00198_source.html">socket.h</a>.</p> <p><div class="dynheader"> Here is the call graph for this function:</div> <div class="dynsection"> <div class="center"><img src="a00063_afe4b5ea753bd0465595dc16dd60e8cf7_cgraph.png" border="0" usemap="#a00063_afe4b5ea753bd0465595dc16dd60e8cf7_cgraph_map" alt=""></div> <map name="a00063_afe4b5ea753bd0465595dc16dd60e8cf7_cgraph_map" id="a00063_afe4b5ea753bd0465595dc16dd60e8cf7_cgraph"> <area shape="rect" id="node3" href="a00141.html#adf008e2e2233bbccc99d0e51f4bca1b3" title="Get the full socket address list from the object." alt="" coords="547,5,899,32"/></map> </div> </p> </div> </div> <a class="anchor" id="ac8b50e0a0e7b80084f7c1577d71caf15"></a><!-- doxytag: member="ucommon::linked_pointer< struct sockaddr >::set" ref="ac8b50e0a0e7b80084f7c1577d71caf15" args="(struct addrinfo *list)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void <a class="el" href="a00062.html">ucommon::linked_pointer</a>< struct sockaddr >::set </td> <td>(</td> <td class="paramtype">struct addrinfo * </td> <td class="paramname"> <em>list</em></td> <td> ) </td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Assign our pointer from an address list. </p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>pointer</em> </td><td>of linked list. </td></tr> </table> </dd> </dl> <p>Definition at line <a class="el" href="a00198_source.html#l01837">1837</a> of file <a class="el" href="a00198_source.html">socket.h</a>.</p> </div> </div> <hr/>The documentation for this class was generated from the following file:<ul> <li>ucommon/<a class="el" href="a00198_source.html">socket.h</a></li> </ul> </div> <hr class="footer"/><address style="text-align: right;"><small>Generated on Thu Jul 14 16:39:39 2011 for ucommon by <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address> </body> </html>