asio::ip::basic_resolver_iterator< InternetProtocol > Class Template Reference

An iterator over the entries produced by a resolver. More...

#include <basic_resolver_iterator.hpp>

List of all members.

Public Member Functions

 basic_resolver_iterator ()
 Default constructor creates an end iterator.

Static Public Member Functions

static basic_resolver_iterator create (asio::detail::addrinfo_type *address_info, const std::string &host_name, const std::string &service_name)
 Create an iterator from an addrinfo list returned by getaddrinfo.
static basic_resolver_iterator create (const typename InternetProtocol::endpoint &endpoint, const std::string &host_name, const std::string &service_name)
 Create an iterator from an endpoint, host name and service name.

Private Types

typedef std::vector
< basic_resolver_entry
< InternetProtocol > > 
values_type

Private Member Functions

void increment ()
bool equal (const basic_resolver_iterator &other) const
const basic_resolver_entry
< InternetProtocol > & 
dereference () const

Private Attributes

boost::shared_ptr< values_typevalues_
values_type::const_iterator iter_

Friends

class boost::iterator_core_access


Detailed Description

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

An iterator over the entries produced by a resolver.

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

The iterator's value_type, obtained when the iterator is dereferenced, is:

 const basic_resolver_entry<InternetProtocol> 

Thread Safety
Distinct objects: Safe.
Shared objects: Unsafe.

Definition at line 48 of file basic_resolver_iterator.hpp.


Member Typedef Documentation

template<typename InternetProtocol>
typedef std::vector<basic_resolver_entry<InternetProtocol> > asio::ip::basic_resolver_iterator< InternetProtocol >::values_type [private]

Definition at line 144 of file basic_resolver_iterator.hpp.


Constructor & Destructor Documentation

template<typename InternetProtocol>
asio::ip::basic_resolver_iterator< InternetProtocol >::basic_resolver_iterator (  )  [inline]

Default constructor creates an end iterator.

Definition at line 56 of file basic_resolver_iterator.hpp.


Member Function Documentation

template<typename InternetProtocol>
static basic_resolver_iterator asio::ip::basic_resolver_iterator< InternetProtocol >::create ( asio::detail::addrinfo_type address_info,
const std::string &  host_name,
const std::string &  service_name 
) [inline, static]

Create an iterator from an addrinfo list returned by getaddrinfo.

Definition at line 61 of file basic_resolver_iterator.hpp.

References asio::ip::basic_resolver_iterator< InternetProtocol >::iter_, and asio::ip::basic_resolver_iterator< InternetProtocol >::values_.

template<typename InternetProtocol>
static basic_resolver_iterator asio::ip::basic_resolver_iterator< InternetProtocol >::create ( const typename InternetProtocol::endpoint &  endpoint,
const std::string &  host_name,
const std::string &  service_name 
) [inline, static]

Create an iterator from an endpoint, host name and service name.

Definition at line 103 of file basic_resolver_iterator.hpp.

References asio::ip::basic_resolver_iterator< InternetProtocol >::iter_, and asio::ip::basic_resolver_iterator< InternetProtocol >::values_.

template<typename InternetProtocol>
void asio::ip::basic_resolver_iterator< InternetProtocol >::increment (  )  [inline, private]

template<typename InternetProtocol>
bool asio::ip::basic_resolver_iterator< InternetProtocol >::equal ( const basic_resolver_iterator< InternetProtocol > &  other  )  const [inline, private]

template<typename InternetProtocol>
const basic_resolver_entry<InternetProtocol>& asio::ip::basic_resolver_iterator< InternetProtocol >::dereference (  )  const [inline, private]


Friends And Related Function Documentation

template<typename InternetProtocol>
friend class boost::iterator_core_access [friend]

Definition at line 117 of file basic_resolver_iterator.hpp.


Member Data Documentation

template<typename InternetProtocol>
boost::shared_ptr<values_type> asio::ip::basic_resolver_iterator< InternetProtocol >::values_ [private]

template<typename InternetProtocol>
values_type::const_iterator asio::ip::basic_resolver_iterator< InternetProtocol >::iter_ [private]


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

Generated on Sun May 25 00:21:35 2008 by  doxygen 1.5.6