<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>ip::basic_endpoint</title>
<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
<link rel="up" href="../reference.html" title="Reference">
<link rel="prev" href="ip__address_v6/v4_mapped.html" title="ip::address_v6::v4_mapped">
<link rel="next" href="ip__basic_endpoint/address.html" title="ip::basic_endpoint::address">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
<td align="center"><a href="../../../../index.html">Home</a></td>
<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
<td align="center"><a href="../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="ip__address_v6/v4_mapped.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="ip__basic_endpoint/address.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="boost_asio.reference.ip__basic_endpoint"></a><a class="link" href="ip__basic_endpoint.html" title="ip::basic_endpoint">ip::basic_endpoint</a>
</h3></div></div></div>
<p>
        Describes an endpoint for a version-independent IP socket.
      </p>
<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
    <span class="keyword">typename</span> <a class="link" href="InternetProtocol.html" title="Internet protocol requirements">InternetProtocol</a><span class="special">&gt;</span>
<span class="keyword">class</span> <span class="identifier">basic_endpoint</span>
</pre>
<a name="boost_asio.reference.ip__basic_endpoint.types"></a><h5>
<a name="id1184553"></a>
        <a class="link" href="ip__basic_endpoint.html#boost_asio.reference.ip__basic_endpoint.types">Types</a>
      </h5>
<div class="informaltable"><table class="table">
<colgroup>
<col>
<col>
</colgroup>
<thead><tr>
<th>
                <p>
                  Name
                </p>
              </th>
<th>
                <p>
                  Description
                </p>
              </th>
</tr></thead>
<tbody>
<tr>
<td>
                <p>
                  <a class="link" href="ip__basic_endpoint/data_type.html" title="ip::basic_endpoint::data_type"><span class="bold"><strong>data_type</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  The type of the endpoint structure. This type is dependent on the
                  underlying implementation of the socket layer.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <a class="link" href="ip__basic_endpoint/protocol_type.html" title="ip::basic_endpoint::protocol_type"><span class="bold"><strong>protocol_type</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  The protocol type associated with the endpoint.
                </p>
              </td>
</tr>
</tbody>
</table></div>
<a name="boost_asio.reference.ip__basic_endpoint.member_functions"></a><h5>
<a name="id1184670"></a>
        <a class="link" href="ip__basic_endpoint.html#boost_asio.reference.ip__basic_endpoint.member_functions">Member
        Functions</a>
      </h5>
<div class="informaltable"><table class="table">
<colgroup>
<col>
<col>
</colgroup>
<thead><tr>
<th>
                <p>
                  Name
                </p>
              </th>
<th>
                <p>
                  Description
                </p>
              </th>
</tr></thead>
<tbody>
<tr>
<td>
                <p>
                  <a class="link" href="ip__basic_endpoint/address.html" title="ip::basic_endpoint::address"><span class="bold"><strong>address</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  Get the IP address associated with the endpoint.
                </p>
                <p>
                  Set the IP address associated with the endpoint.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <a class="link" href="ip__basic_endpoint/basic_endpoint.html" title="ip::basic_endpoint::basic_endpoint"><span class="bold"><strong>basic_endpoint</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  Default constructor.
                </p>
                <p>
                  Construct an endpoint using a port number, specified in the host's
                  byte order. The IP address will be the any address (i.e. INADDR_ANY
                  or in6addr_any). This constructor would typically be used for accepting
                  new connections.
                </p>
                <p>
                  Construct an endpoint using a port number and an IP address. This
                  constructor may be used for accepting connections on a specific
                  interface or for making a connection to a remote endpoint.
                </p>
                <p>
                  Copy constructor.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <a class="link" href="ip__basic_endpoint/capacity.html" title="ip::basic_endpoint::capacity"><span class="bold"><strong>capacity</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  Get the capacity of the endpoint in the native type.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <a class="link" href="ip__basic_endpoint/data.html" title="ip::basic_endpoint::data"><span class="bold"><strong>data</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  Get the underlying endpoint in the native type.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <a class="link" href="ip__basic_endpoint/operator_eq_.html" title="ip::basic_endpoint::operator="><span class="bold"><strong>operator=</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  Assign from another endpoint.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <a class="link" href="ip__basic_endpoint/port.html" title="ip::basic_endpoint::port"><span class="bold"><strong>port</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  Get the port associated with the endpoint. The port number is always
                  in the host's byte order.
                </p>
                <p>
                  Set the port associated with the endpoint. The port number is always
                  in the host's byte order.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <a class="link" href="ip__basic_endpoint/protocol.html" title="ip::basic_endpoint::protocol"><span class="bold"><strong>protocol</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  The protocol associated with the endpoint.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <a class="link" href="ip__basic_endpoint/resize.html" title="ip::basic_endpoint::resize"><span class="bold"><strong>resize</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  Set the underlying size of the endpoint in the native type.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <a class="link" href="ip__basic_endpoint/size.html" title="ip::basic_endpoint::size"><span class="bold"><strong>size</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  Get the underlying size of the endpoint in the native type.
                </p>
              </td>
</tr>
</tbody>
</table></div>
<a name="boost_asio.reference.ip__basic_endpoint.friends"></a><h5>
<a name="id1185030"></a>
        <a class="link" href="ip__basic_endpoint.html#boost_asio.reference.ip__basic_endpoint.friends">Friends</a>
      </h5>
<div class="informaltable"><table class="table">
<colgroup>
<col>
<col>
</colgroup>
<thead><tr>
<th>
                <p>
                  Name
                </p>
              </th>
<th>
                <p>
                  Description
                </p>
              </th>
</tr></thead>
<tbody>
<tr>
<td>
                <p>
                  <a class="link" href="ip__basic_endpoint/operator_not__eq_.html" title="ip::basic_endpoint::operator!="><span class="bold"><strong>operator!=</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  Compare two endpoints for inequality.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <a class="link" href="ip__basic_endpoint/operator_lt_.html" title="ip::basic_endpoint::operator&lt;"><span class="bold"><strong>operator&lt;</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  Compare endpoints for ordering.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <a class="link" href="ip__basic_endpoint/operator_lt__eq_.html" title="ip::basic_endpoint::operator&lt;="><span class="bold"><strong>operator&lt;=</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  Compare endpoints for ordering.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <a class="link" href="ip__basic_endpoint/operator_eq__eq_.html" title="ip::basic_endpoint::operator=="><span class="bold"><strong>operator==</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  Compare two endpoints for equality.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <a class="link" href="ip__basic_endpoint/operator_gt_.html" title="ip::basic_endpoint::operator&gt;"><span class="bold"><strong>operator&gt;</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  Compare endpoints for ordering.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <a class="link" href="ip__basic_endpoint/operator_gt__eq_.html" title="ip::basic_endpoint::operator&gt;="><span class="bold"><strong>operator&gt;=</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  Compare endpoints for ordering.
                </p>
              </td>
</tr>
</tbody>
</table></div>
<a name="boost_asio.reference.ip__basic_endpoint.related_functions"></a><h5>
<a name="id1185268"></a>
        <a class="link" href="ip__basic_endpoint.html#boost_asio.reference.ip__basic_endpoint.related_functions">Related
        Functions</a>
      </h5>
<div class="informaltable"><table class="table">
<colgroup>
<col>
<col>
</colgroup>
<thead><tr>
<th>
                <p>
                  Name
                </p>
              </th>
<th>
                <p>
                  Description
                </p>
              </th>
</tr></thead>
<tbody><tr>
<td>
                <p>
                  <a class="link" href="ip__basic_endpoint/operator_lt__lt_.html" title="ip::basic_endpoint::operator&lt;&lt;"><span class="bold"><strong>operator&lt;&lt;</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  Output an endpoint as a string.
                </p>
              </td>
</tr></tbody>
</table></div>
<p>
        The <a class="link" href="ip__basic_endpoint.html" title="ip::basic_endpoint"><code class="computeroutput"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">basic_endpoint</span></code></a>
        class template describes an endpoint that may be associated with a particular
        socket.
      </p>
<a name="boost_asio.reference.ip__basic_endpoint.thread_safety"></a><h5>
<a name="id1185384"></a>
        <a class="link" href="ip__basic_endpoint.html#boost_asio.reference.ip__basic_endpoint.thread_safety">Thread
        Safety</a>
      </h5>
<p>
        <span class="bold"><strong>Distinct</strong></span> <span class="bold"><strong>objects:</strong></span>
        Safe.
      </p>
<p>
        <span class="bold"><strong>Shared</strong></span> <span class="bold"><strong>objects:</strong></span>
        Unsafe.
      </p>
<a name="boost_asio.reference.ip__basic_endpoint.requirements"></a><h5>
<a name="id1185437"></a>
        <a class="link" href="ip__basic_endpoint.html#boost_asio.reference.ip__basic_endpoint.requirements">Requirements</a>
      </h5>
<p>
        <span class="bold"><strong>Header: </strong></span><code class="literal">boost/asio/ip/basic_endpoint.hpp</code>
      </p>
<p>
        <span class="bold"><strong>Convenience header: </strong></span><code class="literal">boost/asio.hpp</code>
      </p>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright &#169; 2003 - 2010 Christopher M. Kohlhoff<p>
        Distributed under the Boost Software License, Version 1.0. (See accompanying
        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
      </p>
</div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="ip__address_v6/v4_mapped.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="ip__basic_endpoint/address.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>
