<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>posix::basic_descriptor::lowest_layer_type</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="../posix__basic_descriptor.html" title="posix::basic_descriptor">
<link rel="prev" href="lowest_layer/overload2.html" title="posix::basic_descriptor::lowest_layer (2 of 2 overloads)">
<link rel="next" href="native.html" title="posix::basic_descriptor::native">
</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="lowest_layer/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__basic_descriptor.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="native.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="boost_asio.reference.posix__basic_descriptor.lowest_layer_type"></a><a class="link" href="lowest_layer_type.html" title="posix::basic_descriptor::lowest_layer_type">posix::basic_descriptor::lowest_layer_type</a>
</h4></div></div></div>
<p>
          <a class="indexterm" name="id1260803"></a> 
A <a class="link" href="../posix__basic_descriptor.html" title="posix::basic_descriptor"><code class="computeroutput"><span class="identifier">posix</span><span class="special">::</span><span class="identifier">basic_descriptor</span></code></a> is always the
          lowest layer.
        </p>
<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">basic_descriptor</span><span class="special">&lt;</span> <span class="identifier">DescriptorService</span> <span class="special">&gt;</span> <span class="identifier">lowest_layer_type</span><span class="special">;</span>
</pre>
<a name="boost_asio.reference.posix__basic_descriptor.lowest_layer_type.types"></a><h6>
<a name="id1260892"></a>
          <a class="link" href="lowest_layer_type.html#boost_asio.reference.posix__basic_descriptor.lowest_layer_type.types">Types</a>
        </h6>
<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="bytes_readable.html" title="posix::basic_descriptor::bytes_readable"><span class="bold"><strong>bytes_readable</strong></span></a>
                  </p>
                </td>
<td>
                  <p>
                    IO control command to get the amount of data that can be read
                    without blocking.
                  </p>
                </td>
</tr>
<tr>
<td>
                  <p>
                    <a class="link" href="implementation_type.html" title="posix::basic_descriptor::implementation_type"><span class="bold"><strong>implementation_type</strong></span></a>
                  </p>
                </td>
<td>
                  <p>
                    The underlying implementation type of I/O object.
                  </p>
                </td>
</tr>
<tr>
<td>
                  <p>
                    <a class="link" href="lowest_layer_type.html" title="posix::basic_descriptor::lowest_layer_type"><span class="bold"><strong>lowest_layer_type</strong></span></a>
                  </p>
                </td>
<td>
                  <p>
                    A basic_descriptor is always the lowest layer.
                  </p>
                </td>
</tr>
<tr>
<td>
                  <p>
                    <a class="link" href="native_type.html" title="posix::basic_descriptor::native_type"><span class="bold"><strong>native_type</strong></span></a>
                  </p>
                </td>
<td>
                  <p>
                    The native representation of a descriptor.
                  </p>
                </td>
</tr>
<tr>
<td>
                  <p>
                    <a class="link" href="non_blocking_io.html" title="posix::basic_descriptor::non_blocking_io"><span class="bold"><strong>non_blocking_io</strong></span></a>
                  </p>
                </td>
<td>
                  <p>
                    IO control command to set the blocking mode of the descriptor.
                  </p>
                </td>
</tr>
<tr>
<td>
                  <p>
                    <a class="link" href="service_type.html" title="posix::basic_descriptor::service_type"><span class="bold"><strong>service_type</strong></span></a>
                  </p>
                </td>
<td>
                  <p>
                    The type of the service that will be used to provide I/O operations.
                  </p>
                </td>
</tr>
</tbody>
</table></div>
<a name="boost_asio.reference.posix__basic_descriptor.lowest_layer_type.member_functions"></a><h6>
<a name="id1261126"></a>
          <a class="link" href="lowest_layer_type.html#boost_asio.reference.posix__basic_descriptor.lowest_layer_type.member_functions">Member
          Functions</a>
        </h6>
<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="assign.html" title="posix::basic_descriptor::assign"><span class="bold"><strong>assign</strong></span></a>
                  </p>
                </td>
<td>
                  <p>
                    Assign an existing native descriptor to the descriptor.
                  </p>
                </td>
</tr>
<tr>
<td>
                  <p>
                    <a class="link" href="basic_descriptor.html" title="posix::basic_descriptor::basic_descriptor"><span class="bold"><strong>basic_descriptor</strong></span></a>
                  </p>
                </td>
<td>
                  <p>
                    Construct a basic_descriptor without opening it.
                  </p>
                  <p>
                    Construct a basic_descriptor on an existing native descriptor.
                  </p>
                </td>
</tr>
<tr>
<td>
                  <p>
                    <a class="link" href="cancel.html" title="posix::basic_descriptor::cancel"><span class="bold"><strong>cancel</strong></span></a>
                  </p>
                </td>
<td>
                  <p>
                    Cancel all asynchronous operations associated with the descriptor.
                  </p>
                </td>
</tr>
<tr>
<td>
                  <p>
                    <a class="link" href="close.html" title="posix::basic_descriptor::close"><span class="bold"><strong>close</strong></span></a>
                  </p>
                </td>
<td>
                  <p>
                    Close the descriptor.
                  </p>
                </td>
</tr>
<tr>
<td>
                  <p>
                    <a class="link" href="get_io_service.html" title="posix::basic_descriptor::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
                  </p>
                </td>
<td>
                  <p>
                    Get the io_service associated with the object.
                  </p>
                </td>
</tr>
<tr>
<td>
                  <p>
                    <a class="link" href="io_control.html" title="posix::basic_descriptor::io_control"><span class="bold"><strong>io_control</strong></span></a>
                  </p>
                </td>
<td>
                  <p>
                    Perform an IO control command on the descriptor.
                  </p>
                </td>
</tr>
<tr>
<td>
                  <p>
                    <a class="link" href="io_service.html" title="posix::basic_descriptor::io_service"><span class="bold"><strong>io_service</strong></span></a>
                  </p>
                </td>
<td>
                  <p>
                    (Deprecated: use get_io_service().) Get the io_service associated
                    with the object.
                  </p>
                </td>
</tr>
<tr>
<td>
                  <p>
                    <a class="link" href="is_open.html" title="posix::basic_descriptor::is_open"><span class="bold"><strong>is_open</strong></span></a>
                  </p>
                </td>
<td>
                  <p>
                    Determine whether the descriptor is open.
                  </p>
                </td>
</tr>
<tr>
<td>
                  <p>
                    <a class="link" href="lowest_layer.html" title="posix::basic_descriptor::lowest_layer"><span class="bold"><strong>lowest_layer</strong></span></a>
                  </p>
                </td>
<td>
                  <p>
                    Get a reference to the lowest layer.
                  </p>
                  <p>
                    Get a const reference to the lowest layer.
                  </p>
                </td>
</tr>
<tr>
<td>
                  <p>
                    <a class="link" href="native.html" title="posix::basic_descriptor::native"><span class="bold"><strong>native</strong></span></a>
                  </p>
                </td>
<td>
                  <p>
                    Get the native descriptor representation.
                  </p>
                </td>
</tr>
</tbody>
</table></div>
<a name="boost_asio.reference.posix__basic_descriptor.lowest_layer_type.protected_member_functions"></a><h6>
<a name="id1261486"></a>
          <a class="link" href="lowest_layer_type.html#boost_asio.reference.posix__basic_descriptor.lowest_layer_type.protected_member_functions">Protected
          Member Functions</a>
        </h6>
<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="_basic_descriptor.html" title="posix::basic_descriptor::~basic_descriptor"><span class="bold"><strong>~basic_descriptor</strong></span></a>
                  </p>
                </td>
<td>
                  <p>
                    Protected destructor to prevent deletion through this type.
                  </p>
                </td>
</tr></tbody>
</table></div>
<a name="boost_asio.reference.posix__basic_descriptor.lowest_layer_type.protected_data_members"></a><h6>
<a name="id1261575"></a>
          <a class="link" href="lowest_layer_type.html#boost_asio.reference.posix__basic_descriptor.lowest_layer_type.protected_data_members">Protected
          Data Members</a>
        </h6>
<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="implementation.html" title="posix::basic_descriptor::implementation"><span class="bold"><strong>implementation</strong></span></a>
                  </p>
                </td>
<td>
                  <p>
                    The underlying implementation of the I/O object.
                  </p>
                </td>
</tr>
<tr>
<td>
                  <p>
                    <a class="link" href="service.html" title="posix::basic_descriptor::service"><span class="bold"><strong>service</strong></span></a>
                  </p>
                </td>
<td>
                  <p>
                    The service associated with the I/O object.
                  </p>
                </td>
</tr>
</tbody>
</table></div>
<p>
          The <a class="link" href="../posix__basic_descriptor.html" title="posix::basic_descriptor"><code class="computeroutput"><span class="identifier">posix</span><span class="special">::</span><span class="identifier">basic_descriptor</span></code></a> class template
          provides the ability to wrap a POSIX descriptor.
        </p>
<a name="boost_asio.reference.posix__basic_descriptor.lowest_layer_type.thread_safety"></a><h6>
<a name="id1261722"></a>
          <a class="link" href="lowest_layer_type.html#boost_asio.reference.posix__basic_descriptor.lowest_layer_type.thread_safety">Thread
          Safety</a>
        </h6>
<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.posix__basic_descriptor.lowest_layer_type.requirements"></a><h6>
<a name="id1261775"></a>
          <a class="link" href="lowest_layer_type.html#boost_asio.reference.posix__basic_descriptor.lowest_layer_type.requirements">Requirements</a>
        </h6>
<p>
          <span class="bold"><strong>Header: </strong></span><code class="literal">boost/asio/posix/basic_descriptor.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="lowest_layer/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__basic_descriptor.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="native.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>
