Clementine
Public Types | Public Member Functions | Static Public Member Functions | Friends | List of all members
asio::ip::basic_resolver_results< InternetProtocol > Class Template Reference

A range of entries produced by a resolver. More...

#include <basic_resolver_results.hpp>

Inheritance diagram for asio::ip::basic_resolver_results< InternetProtocol >:
Inheritance graph
[legend]
Collaboration diagram for asio::ip::basic_resolver_results< InternetProtocol >:
Collaboration graph
[legend]

Public Types

typedef InternetProtocol protocol_type
 The protocol type associated with the results.
 
typedef protocol_type::endpoint endpoint_type
 The endpoint type associated with the results.
 
typedef basic_resolver_entry< protocol_typevalue_type
 The type of a value in the results range.
 
typedef const value_typeconst_reference
 The type of a const reference to a value in the range.
 
typedef value_typereference
 The type of a non-const reference to a value in the range.
 
typedef basic_resolver_iterator< protocol_typeconst_iterator
 The type of an iterator into the range.
 
typedef const_iterator iterator
 The type of an iterator into the range.
 
typedef std::ptrdiff_t difference_type
 Type used to represent the distance between two iterators in the range.
 
typedef std::size_t size_type
 Type used to represent a count of the elements in the range.
 
- Public Types inherited from asio::ip::basic_resolver_iterator< InternetProtocol >
typedef std::ptrdiff_t difference_type
 The type used for the distance between two iterators.
 
typedef basic_resolver_entry< InternetProtocol > value_type
 The type of the value pointed to by the iterator.
 
typedef const basic_resolver_entry< InternetProtocol > * pointer
 The type of the result of applying operator->() to the iterator.
 
typedef const basic_resolver_entry< InternetProtocol > & reference
 The type of the result of applying operator*() to the iterator.
 
typedef std::forward_iterator_tag iterator_category
 The iterator category.
 

Public Member Functions

 basic_resolver_results ()
 Default constructor creates an empty range.
 
 basic_resolver_results (const basic_resolver_results &other)
 Copy constructor.
 
basic_resolver_resultsoperator= (const basic_resolver_results &other)
 Assignment operator.
 
size_type size () const ASIO_NOEXCEPT
 Get the number of entries in the results range.
 
size_type max_size () const ASIO_NOEXCEPT
 Get the maximum number of entries permitted in a results range.
 
bool empty () const ASIO_NOEXCEPT
 Determine whether the results range is empty.
 
const_iterator begin () const
 Obtain a begin iterator for the results range.
 
const_iterator end () const
 Obtain an end iterator for the results range.
 
const_iterator cbegin () const
 Obtain a begin iterator for the results range.
 
const_iterator cend () const
 Obtain an end iterator for the results range.
 
void swap (basic_resolver_results &that) ASIO_NOEXCEPT
 Swap the results range with another.
 
- Public Member Functions inherited from asio::ip::basic_resolver_iterator< InternetProtocol >
 basic_resolver_iterator ()
 Default constructor creates an end iterator.
 
 basic_resolver_iterator (const basic_resolver_iterator &other)
 Copy constructor.
 
basic_resolver_iteratoroperator= (const basic_resolver_iterator &other)
 Assignment operator.
 
const basic_resolver_entry< InternetProtocol > & operator* () const
 Dereference an iterator.
 
const basic_resolver_entry< InternetProtocol > * operator-> () const
 Dereference an iterator.
 
basic_resolver_iteratoroperator++ ()
 Increment operator (prefix).
 
basic_resolver_iterator operator++ (int)
 Increment operator (postfix).
 

Static Public Member Functions

static basic_resolver_results create (asio::detail::addrinfo_type *address_info, const std::string &host_name, const std::string &service_name)
 
static basic_resolver_results create (const endpoint_type &endpoint, const std::string &host_name, const std::string &service_name)
 
template<typename EndpointIterator >
static basic_resolver_results create (EndpointIterator begin, EndpointIterator end, const std::string &host_name, const std::string &service_name)
 

Friends

bool operator== (const basic_resolver_results &a, const basic_resolver_results &b)
 Test two iterators for equality.
 
bool operator!= (const basic_resolver_results &a, const basic_resolver_results &b)
 Test two iterators for inequality.
 

Additional Inherited Members

- Protected Types inherited from asio::ip::basic_resolver_iterator< InternetProtocol >
typedef std::vector< basic_resolver_entry< InternetProtocol > > values_type
 
typedef asio::detail::shared_ptr< values_type > values_ptr_type
 
- Protected Member Functions inherited from asio::ip::basic_resolver_iterator< InternetProtocol >
void increment ()
 
bool equal (const basic_resolver_iterator &other) const
 
const basic_resolver_entry< InternetProtocol > & dereference () const
 
- Protected Attributes inherited from asio::ip::basic_resolver_iterator< InternetProtocol >
values_ptr_type values_
 
std::size_t index_
 

Detailed Description

template<typename InternetProtocol>
class asio::ip::basic_resolver_results< InternetProtocol >

A range of entries produced by a resolver.

The asio::ip::basic_resolver_results class template is used to define a range over the results returned by a resolver.

The iterator's value_type, obtained when a results iterator is dereferenced, is:

const basic_resolver_entry<InternetProtocol>
Note
For backward compatibility, basic_resolver_results is derived from basic_resolver_iterator. This derivation is deprecated.
Thread Safety
Distinct objects: Safe.
Shared objects: Unsafe.

The documentation for this class was generated from the following file: