Boost  v1.57.0
doxygen for www.boost.org
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
boost::asio::ip::basic_resolver_query< InternetProtocol > Class Template Reference

An query to be passed to a resolver. More...

#include <basic_resolver_query.hpp>

Inheritance diagram for boost::asio::ip::basic_resolver_query< InternetProtocol >:
Collaboration diagram for boost::asio::ip::basic_resolver_query< InternetProtocol >:

Public Types

typedef InternetProtocol protocol_type
 The protocol type associated with the endpoint query. More...
 
enum  flags {
  canonical_name = BOOST_ASIO_OS_DEF(AI_CANONNAME),
  passive = BOOST_ASIO_OS_DEF(AI_PASSIVE),
  numeric_host = BOOST_ASIO_OS_DEF(AI_NUMERICHOST),
  numeric_service = BOOST_ASIO_OS_DEF(AI_NUMERICSERV),
  v4_mapped = BOOST_ASIO_OS_DEF(AI_V4MAPPED),
  all_matching = BOOST_ASIO_OS_DEF(AI_ALL),
  address_configured = BOOST_ASIO_OS_DEF(AI_ADDRCONFIG)
}
 

Public Member Functions

 basic_resolver_query (const std::string &service, resolver_query_base::flags resolve_flags=passive|address_configured)
 Construct with specified service name for any protocol. More...
 
 basic_resolver_query (const protocol_type &protocol, const std::string &service, resolver_query_base::flags resolve_flags=passive|address_configured)
 Construct with specified service name for a given protocol. More...
 
 basic_resolver_query (const std::string &host, const std::string &service, resolver_query_base::flags resolve_flags=address_configured)
 Construct with specified host name and service name for any protocol. More...
 
 basic_resolver_query (const protocol_type &protocol, const std::string &host, const std::string &service, resolver_query_base::flags resolve_flags=address_configured)
 Construct with specified host name and service name for a given protocol. More...
 
const
boost::asio::detail::addrinfo_type & 
hints () const
 Get the hints associated with the query. More...
 
std::string host_name () const
 Get the host name associated with the query. More...
 
std::string service_name () const
 Get the service name associated with the query. More...
 

Detailed Description

template<typename InternetProtocol>
class boost::asio::ip::basic_resolver_query< InternetProtocol >

An query to be passed to a resolver.

The boost::asio::ip::basic_resolver_query class template describes a query that can be passed to a resolver.

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

Member Typedef Documentation

template<typename InternetProtocol >
typedef InternetProtocol boost::asio::ip::basic_resolver_query< InternetProtocol >::protocol_type

The protocol type associated with the endpoint query.

Member Enumeration Documentation

Enumerator
canonical_name 
passive 
numeric_host 
numeric_service 
v4_mapped 
all_matching 
address_configured 

Constructor & Destructor Documentation

template<typename InternetProtocol >
boost::asio::ip::basic_resolver_query< InternetProtocol >::basic_resolver_query ( const std::string &  service,
resolver_query_base::flags  resolve_flags = passive | address_configured 
)
inline

Construct with specified service name for any protocol.

This constructor is typically used to perform name resolution for local service binding.

Parameters
serviceA string identifying the requested service. This may be a descriptive name or a numeric string corresponding to a port number.
resolve_flagsA set of flags that determine how name resolution should be performed. The default flags are suitable for local service binding.
Note
On POSIX systems, service names are typically defined in the file /etc/services. On Windows, service names may be found in the file c:\windows\system32\drivers\etc\services. Operating systems may use additional locations when resolving service names.
template<typename InternetProtocol >
boost::asio::ip::basic_resolver_query< InternetProtocol >::basic_resolver_query ( const protocol_type protocol,
const std::string &  service,
resolver_query_base::flags  resolve_flags = passive | address_configured 
)
inline

Construct with specified service name for a given protocol.

This constructor is typically used to perform name resolution for local service binding with a specific protocol version.

Parameters
protocolA protocol object, normally representing either the IPv4 or IPv6 version of an internet protocol.
serviceA string identifying the requested service. This may be a descriptive name or a numeric string corresponding to a port number.
resolve_flagsA set of flags that determine how name resolution should be performed. The default flags are suitable for local service binding.
Note
On POSIX systems, service names are typically defined in the file /etc/services. On Windows, service names may be found in the file c:\windows\system32\drivers\etc\services. Operating systems may use additional locations when resolving service names.
template<typename InternetProtocol >
boost::asio::ip::basic_resolver_query< InternetProtocol >::basic_resolver_query ( const std::string &  host,
const std::string &  service,
resolver_query_base::flags  resolve_flags = address_configured 
)
inline

Construct with specified host name and service name for any protocol.

This constructor is typically used to perform name resolution for communication with remote hosts.

Parameters
hostA string identifying a location. May be a descriptive name or a numeric address string. If an empty string and the passive flag has been specified, the resolved endpoints are suitable for local service binding. If an empty string and passive is not specified, the resolved endpoints will use the loopback address.
serviceA string identifying the requested service. This may be a descriptive name or a numeric string corresponding to a port number. May be an empty string, in which case all resolved endpoints will have a port number of 0.
resolve_flagsA set of flags that determine how name resolution should be performed. The default flags are suitable for communication with remote hosts.
Note
On POSIX systems, host names may be locally defined in the file /etc/hosts. On Windows, host names may be defined in the file c:\windows\system32\drivers\etc\hosts. Remote host name resolution is performed using DNS. Operating systems may use additional locations when resolving host names (such as NETBIOS names on Windows).

On POSIX systems, service names are typically defined in the file /etc/services. On Windows, service names may be found in the file c:\windows\system32\drivers\etc\services. Operating systems may use additional locations when resolving service names.

template<typename InternetProtocol >
boost::asio::ip::basic_resolver_query< InternetProtocol >::basic_resolver_query ( const protocol_type protocol,
const std::string &  host,
const std::string &  service,
resolver_query_base::flags  resolve_flags = address_configured 
)
inline

Construct with specified host name and service name for a given protocol.

This constructor is typically used to perform name resolution for communication with remote hosts.

Parameters
protocolA protocol object, normally representing either the IPv4 or IPv6 version of an internet protocol.
hostA string identifying a location. May be a descriptive name or a numeric address string. If an empty string and the passive flag has been specified, the resolved endpoints are suitable for local service binding. If an empty string and passive is not specified, the resolved endpoints will use the loopback address.
serviceA string identifying the requested service. This may be a descriptive name or a numeric string corresponding to a port number. May be an empty string, in which case all resolved endpoints will have a port number of 0.
resolve_flagsA set of flags that determine how name resolution should be performed. The default flags are suitable for communication with remote hosts.
Note
On POSIX systems, host names may be locally defined in the file /etc/hosts. On Windows, host names may be defined in the file c:\windows\system32\drivers\etc\hosts. Remote host name resolution is performed using DNS. Operating systems may use additional locations when resolving host names (such as NETBIOS names on Windows).

On POSIX systems, service names are typically defined in the file /etc/services. On Windows, service names may be found in the file c:\windows\system32\drivers\etc\services. Operating systems may use additional locations when resolving service names.

Member Function Documentation

template<typename InternetProtocol >
const boost::asio::detail::addrinfo_type& boost::asio::ip::basic_resolver_query< InternetProtocol >::hints ( ) const
inline

Get the hints associated with the query.

template<typename InternetProtocol >
std::string boost::asio::ip::basic_resolver_query< InternetProtocol >::host_name ( ) const
inline

Get the host name associated with the query.

template<typename InternetProtocol >
std::string boost::asio::ip::basic_resolver_query< InternetProtocol >::service_name ( ) const
inline

Get the service name associated with the query.


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