<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>local::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="is_write_buffered/value.html" title="is_write_buffered::value">
<link rel="next" href="local__basic_endpoint/basic_endpoint.html" title="local::basic_endpoint::basic_endpoint">
</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="is_write_buffered/value.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="local__basic_endpoint/basic_endpoint.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.local__basic_endpoint"></a><a class="link" href="local__basic_endpoint.html" title="local::basic_endpoint">local::basic_endpoint</a>
</h3></div></div></div>
<p>
        Describes an endpoint for a UNIX socket.
      </p>
<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
    <span class="keyword">typename</span> <a class="link" href="Protocol.html" title="Protocol requirements">Protocol</a><span class="special">&gt;</span>
<span class="keyword">class</span> <span class="identifier">basic_endpoint</span>
</pre>
<a name="boost_asio.reference.local__basic_endpoint.types"></a><h5>
<a name="id1235452"></a>
        <a class="link" href="local__basic_endpoint.html#boost_asio.reference.local__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="local__basic_endpoint/data_type.html" title="local::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="local__basic_endpoint/protocol_type.html" title="local::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.local__basic_endpoint.member_functions"></a><h5>
<a name="id1235571"></a>
        <a class="link" href="local__basic_endpoint.html#boost_asio.reference.local__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="local__basic_endpoint/basic_endpoint.html" title="local::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 the specified path name.
                </p>
                <p>
                  Copy constructor.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <a class="link" href="local__basic_endpoint/capacity.html" title="local::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="local__basic_endpoint/data.html" title="local::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="local__basic_endpoint/operator_eq_.html" title="local::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="local__basic_endpoint/path.html" title="local::basic_endpoint::path"><span class="bold"><strong>path</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  Get the path associated with the endpoint.
                </p>
                <p>
                  Set the path associated with the endpoint.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <a class="link" href="local__basic_endpoint/protocol.html" title="local::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="local__basic_endpoint/resize.html" title="local::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="local__basic_endpoint/size.html" title="local::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.local__basic_endpoint.friends"></a><h5>
<a name="id1235883"></a>
        <a class="link" href="local__basic_endpoint.html#boost_asio.reference.local__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="local__basic_endpoint/operator_not__eq_.html" title="local::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="local__basic_endpoint/operator_lt_.html" title="local::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="local__basic_endpoint/operator_lt__eq_.html" title="local::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="local__basic_endpoint/operator_eq__eq_.html" title="local::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="local__basic_endpoint/operator_gt_.html" title="local::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="local__basic_endpoint/operator_gt__eq_.html" title="local::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.local__basic_endpoint.related_functions"></a><h5>
<a name="id1236121"></a>
        <a class="link" href="local__basic_endpoint.html#boost_asio.reference.local__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="local__basic_endpoint/operator_lt__lt_.html" title="local::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="local__basic_endpoint.html" title="local::basic_endpoint"><code class="computeroutput"><span class="identifier">local</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 UNIX socket.
      </p>
<a name="boost_asio.reference.local__basic_endpoint.thread_safety"></a><h5>
<a name="id1236237"></a>
        <a class="link" href="local__basic_endpoint.html#boost_asio.reference.local__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.local__basic_endpoint.requirements"></a><h5>
<a name="id1236289"></a>
        <a class="link" href="local__basic_endpoint.html#boost_asio.reference.local__basic_endpoint.requirements">Requirements</a>
      </h5>
<p>
        <span class="bold"><strong>Header: </strong></span><code class="literal">boost/asio/local/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="is_write_buffered/value.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="local__basic_endpoint/basic_endpoint.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>
