<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>ip::basic_resolver</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__basic_endpoint/size.html" title="ip::basic_endpoint::size">
<link rel="next" href="ip__basic_resolver/async_resolve.html" title="ip::basic_resolver::async_resolve">
</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__basic_endpoint/size.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_resolver/async_resolve.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_resolver"></a><a class="link" href="ip__basic_resolver.html" title="ip::basic_resolver">ip::basic_resolver</a>
</h3></div></div></div>
<p>
        Provides endpoint resolution functionality.
      </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">,</span>
    <span class="keyword">typename</span> <a class="link" href="ResolverService.html" title="Resolver service requirements">ResolverService</a> <span class="special">=</span> <span class="identifier">resolver_service</span><span class="special">&lt;</span><span class="identifier">InternetProtocol</span><span class="special">&gt;&gt;</span>
<span class="keyword">class</span> <span class="identifier">basic_resolver</span> <span class="special">:</span>
  <span class="keyword">public</span> <span class="identifier">basic_io_object</span><span class="special">&lt;</span> <span class="identifier">ResolverService</span> <span class="special">&gt;</span>
</pre>
<a name="boost_asio.reference.ip__basic_resolver.types"></a><h5>
<a name="id1189679"></a>
        <a class="link" href="ip__basic_resolver.html#boost_asio.reference.ip__basic_resolver.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_resolver/endpoint_type.html" title="ip::basic_resolver::endpoint_type"><span class="bold"><strong>endpoint_type</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  The endpoint type.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <a class="link" href="ip__basic_resolver/implementation_type.html" title="ip::basic_resolver::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="ip__basic_resolver/iterator.html" title="ip::basic_resolver::iterator"><span class="bold"><strong>iterator</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  The iterator type.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <a class="link" href="ip__basic_resolver/protocol_type.html" title="ip::basic_resolver::protocol_type"><span class="bold"><strong>protocol_type</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  The protocol type.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <a class="link" href="ip__basic_resolver/query.html" title="ip::basic_resolver::query"><span class="bold"><strong>query</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  The query type.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <a class="link" href="ip__basic_resolver/service_type.html" title="ip::basic_resolver::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.ip__basic_resolver.member_functions"></a><h5>
<a name="id1189914"></a>
        <a class="link" href="ip__basic_resolver.html#boost_asio.reference.ip__basic_resolver.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_resolver/async_resolve.html" title="ip::basic_resolver::async_resolve"><span class="bold"><strong>async_resolve</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  Asynchronously perform forward resolution of a query to a list
                  of entries.
                </p>
                <p>
                  Asynchronously perform reverse resolution of an endpoint to a list
                  of entries.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <a class="link" href="ip__basic_resolver/basic_resolver.html" title="ip::basic_resolver::basic_resolver"><span class="bold"><strong>basic_resolver</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  Constructor.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <a class="link" href="ip__basic_resolver/cancel.html" title="ip::basic_resolver::cancel"><span class="bold"><strong>cancel</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  Cancel any asynchronous operations that are waiting on the resolver.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <a class="link" href="ip__basic_resolver/get_io_service.html" title="ip::basic_resolver::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="ip__basic_resolver/io_service.html" title="ip::basic_resolver::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="ip__basic_resolver/resolve.html" title="ip::basic_resolver::resolve"><span class="bold"><strong>resolve</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  Perform forward resolution of a query to a list of entries.
                </p>
                <p>
                  Perform reverse resolution of an endpoint to a list of entries.
                </p>
              </td>
</tr>
</tbody>
</table></div>
<a name="boost_asio.reference.ip__basic_resolver.protected_data_members"></a><h5>
<a name="id1190160"></a>
        <a class="link" href="ip__basic_resolver.html#boost_asio.reference.ip__basic_resolver.protected_data_members">Protected
        Data Members</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_resolver/implementation.html" title="ip::basic_resolver::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="ip__basic_resolver/service.html" title="ip::basic_resolver::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="ip__basic_resolver.html" title="ip::basic_resolver"><code class="computeroutput"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">basic_resolver</span></code></a>
        class template provides the ability to resolve a query to a list of endpoints.
      </p>
<a name="boost_asio.reference.ip__basic_resolver.thread_safety"></a><h5>
<a name="id1190306"></a>
        <a class="link" href="ip__basic_resolver.html#boost_asio.reference.ip__basic_resolver.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_resolver.requirements"></a><h5>
<a name="id1190359"></a>
        <a class="link" href="ip__basic_resolver.html#boost_asio.reference.ip__basic_resolver.requirements">Requirements</a>
      </h5>
<p>
        <span class="bold"><strong>Header: </strong></span><code class="literal">boost/asio/ip/basic_resolver.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__basic_endpoint/size.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_resolver/async_resolve.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>
