<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>ip::resolver_service</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__resolver_query_base/_resolver_query_base.html" title="ip::resolver_query_base::~resolver_query_base">
<link rel="next" href="ip__resolver_service/async_resolve.html" title="ip::resolver_service::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__resolver_query_base/_resolver_query_base.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__resolver_service/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__resolver_service"></a><a class="link" href="ip__resolver_service.html" title="ip::resolver_service">ip::resolver_service</a>
</h3></div></div></div>
<p>
        Default service implementation for a resolver.
      </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">resolver_service</span> <span class="special">:</span>
  <span class="keyword">public</span> <span class="identifier">io_service</span><span class="special">::</span><span class="identifier">service</span>
</pre>
<a name="boost_asio.reference.ip__resolver_service.types"></a><h5>
<a name="id1213292"></a>
        <a class="link" href="ip__resolver_service.html#boost_asio.reference.ip__resolver_service.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__resolver_service/endpoint_type.html" title="ip::resolver_service::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__resolver_service/implementation_type.html" title="ip::resolver_service::implementation_type"><span class="bold"><strong>implementation_type</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  The type of a resolver implementation.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <a class="link" href="ip__resolver_service/iterator_type.html" title="ip::resolver_service::iterator_type"><span class="bold"><strong>iterator_type</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  The iterator type.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <a class="link" href="ip__resolver_service/protocol_type.html" title="ip::resolver_service::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__resolver_service/query_type.html" title="ip::resolver_service::query_type"><span class="bold"><strong>query_type</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  The query type.
                </p>
              </td>
</tr>
</tbody>
</table></div>
<a name="boost_asio.reference.ip__resolver_service.member_functions"></a><h5>
<a name="id1213496"></a>
        <a class="link" href="ip__resolver_service.html#boost_asio.reference.ip__resolver_service.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__resolver_service/async_resolve.html" title="ip::resolver_service::async_resolve"><span class="bold"><strong>async_resolve</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  Asynchronously resolve a query to a list of entries.
                </p>
                <p>
                  Asynchronously resolve an endpoint to a list of entries.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <a class="link" href="ip__resolver_service/cancel.html" title="ip::resolver_service::cancel"><span class="bold"><strong>cancel</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  Cancel pending asynchronous operations.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <a class="link" href="ip__resolver_service/construct.html" title="ip::resolver_service::construct"><span class="bold"><strong>construct</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  Construct a new resolver implementation.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <a class="link" href="ip__resolver_service/destroy.html" title="ip::resolver_service::destroy"><span class="bold"><strong>destroy</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  Destroy a resolver implementation.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <a class="link" href="ip__resolver_service/get_io_service.html" title="ip::resolver_service::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  Get the io_service object that owns the service.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <a class="link" href="ip__resolver_service/io_service.html" title="ip::resolver_service::io_service"><span class="bold"><strong>io_service</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  (Deprecated: use get_io_service().) Get the io_service object that
                  owns the service.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <a class="link" href="ip__resolver_service/resolve.html" title="ip::resolver_service::resolve"><span class="bold"><strong>resolve</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  Resolve a query to a list of entries.
                </p>
                <p>
                  Resolve an endpoint to a list of entries.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <a class="link" href="ip__resolver_service/resolver_service.html" title="ip::resolver_service::resolver_service"><span class="bold"><strong>resolver_service</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  Construct a new resolver service for the specified io_service.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <a class="link" href="ip__resolver_service/shutdown_service.html" title="ip::resolver_service::shutdown_service"><span class="bold"><strong>shutdown_service</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  Destroy all user-defined handler objects owned by the service.
                </p>
              </td>
</tr>
</tbody>
</table></div>
<a name="boost_asio.reference.ip__resolver_service.data_members"></a><h5>
<a name="id1213833"></a>
        <a class="link" href="ip__resolver_service.html#boost_asio.reference.ip__resolver_service.data_members">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__resolver_service/id.html" title="ip::resolver_service::id"><span class="bold"><strong>id</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  The unique service identifier.
                </p>
              </td>
</tr></tbody>
</table></div>
<a name="boost_asio.reference.ip__resolver_service.requirements"></a><h5>
<a name="id1213919"></a>
        <a class="link" href="ip__resolver_service.html#boost_asio.reference.ip__resolver_service.requirements">Requirements</a>
      </h5>
<p>
        <span class="bold"><strong>Header: </strong></span><code class="literal">boost/asio/ip/resolver_service.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__resolver_query_base/_resolver_query_base.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__resolver_service/async_resolve.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>
