resolver_query_base.hpp
Go to the documentation of this file.
00001 //
00002 // resolver_query_base.hpp
00003 // ~~~~~~~~~~~~~~~~~~~~~~~
00004 //
00005 // Copyright (c) 2003-2008 Christopher M. Kohlhoff (chris at kohlhoff dot com)
00006 //
00007 // Distributed under the Boost Software License, Version 1.0. (See accompanying
00008 // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
00009 //
00010 
00011 #ifndef ASIO_IP_RESOLVER_QUERY_BASE_HPP
00012 #define ASIO_IP_RESOLVER_QUERY_BASE_HPP
00013 
00014 #if defined(_MSC_VER) && (_MSC_VER >= 1200)
00015 # pragma once
00016 #endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
00017 
00018 #include "asio/detail/push_options.hpp"
00019 
00020 #include "asio/detail/push_options.hpp"
00021 #include <boost/config.hpp>
00022 #include <boost/detail/workaround.hpp>
00023 #include "asio/detail/pop_options.hpp"
00024 
00025 #include "asio/detail/socket_types.hpp"
00026 
00027 namespace asio {
00028 namespace ip {
00029 
00033 class resolver_query_base
00034 {
00035 public:
00036 #if defined(GENERATING_DOCUMENTATION)
00037 
00038   static const int canonical_name = implementation_defined;
00039 
00042   static const int passive = implementation_defined;
00043 
00046   static const int numeric_host = implementation_defined;
00047 
00050   static const int numeric_service = implementation_defined;
00051 
00054   static const int v4_mapped = implementation_defined;
00055 
00057   static const int all_matching = implementation_defined;
00058 
00062   static const int address_configured = implementation_defined;
00063 #else
00064   BOOST_STATIC_CONSTANT(int, canonical_name = AI_CANONNAME);
00065   BOOST_STATIC_CONSTANT(int, passive = AI_PASSIVE);
00066   BOOST_STATIC_CONSTANT(int, numeric_host = AI_NUMERICHOST);
00067 # if defined(AI_NUMERICSERV)
00068   BOOST_STATIC_CONSTANT(int, numeric_service = AI_NUMERICSERV);
00069 # else
00070   BOOST_STATIC_CONSTANT(int, numeric_service = 0);
00071 # endif
00072   // Note: QNX Neutrino 6.3 defines AI_V4MAPPED, AI_ALL and AI_ADDRCONFIG but
00073   // does not implement them. Therefore they are specifically excluded here.
00074 # if defined(AI_V4MAPPED) && !defined(__QNXNTO__)
00075   BOOST_STATIC_CONSTANT(int, v4_mapped = AI_V4MAPPED);
00076 # else
00077   BOOST_STATIC_CONSTANT(int, v4_mapped = 0);
00078 # endif
00079 # if defined(AI_ALL) && !defined(__QNXNTO__)
00080   BOOST_STATIC_CONSTANT(int, all_matching = AI_ALL);
00081 # else
00082   BOOST_STATIC_CONSTANT(int, all_matching = 0);
00083 # endif
00084 # if defined(AI_ADDRCONFIG) && !defined(__QNXNTO__)
00085   BOOST_STATIC_CONSTANT(int, address_configured = AI_ADDRCONFIG);
00086 # else
00087   BOOST_STATIC_CONSTANT(int, address_configured = 0);
00088 # endif
00089 #endif
00090 
00091 protected:
00093   ~resolver_query_base()
00094   {
00095   }
00096 
00097 #if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))
00098 private:
00099   // Workaround to enable the empty base optimisation with Borland C++.
00100   char dummy_;
00101 #endif
00102 };
00103 
00104 } // namespace ip
00105 } // namespace asio
00106 
00107 #include "asio/detail/pop_options.hpp"
00108 
00109 #endif // ASIO_IP_RESOLVER_QUERY_BASE_HPP
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines


Castor
Author(s): Carpe Noctem
autogenerated on Fri Nov 8 2013 11:05:39