| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153 | //// placeholders.hpp// ~~~~~~~~~~~~~~~~//// Copyright (c) 2003-2020 Christopher M. Kohlhoff (chris at kohlhoff dot com)//// Distributed under the Boost Software License, Version 1.0. (See accompanying// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)//#ifndef BOOST_ASIO_PLACEHOLDERS_HPP#define BOOST_ASIO_PLACEHOLDERS_HPP#if defined(_MSC_VER) && (_MSC_VER >= 1200)# pragma once#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)#include <boost/asio/detail/config.hpp>#if defined(BOOST_ASIO_HAS_BOOST_BIND)# include <boost/bind/arg.hpp>#endif // defined(BOOST_ASIO_HAS_BOOST_BIND)#include <boost/asio/detail/push_options.hpp>namespace boost {namespace asio {namespace placeholders {#if defined(GENERATING_DOCUMENTATION)/// An argument placeholder, for use with boost::bind(), that corresponds to/// the error argument of a handler for any of the asynchronous functions.unspecified error;/// An argument placeholder, for use with boost::bind(), that corresponds to/// the bytes_transferred argument of a handler for asynchronous functions such/// as boost::asio::basic_stream_socket::async_write_some or/// boost::asio::async_write.unspecified bytes_transferred;/// An argument placeholder, for use with boost::bind(), that corresponds to/// the iterator argument of a handler for asynchronous functions such as/// boost::asio::async_connect.unspecified iterator;/// An argument placeholder, for use with boost::bind(), that corresponds to/// the results argument of a handler for asynchronous functions such as/// boost::asio::basic_resolver::async_resolve.unspecified results;/// An argument placeholder, for use with boost::bind(), that corresponds to/// the results argument of a handler for asynchronous functions such as/// boost::asio::async_connect.unspecified endpoint;/// An argument placeholder, for use with boost::bind(), that corresponds to/// the signal_number argument of a handler for asynchronous functions such as/// boost::asio::signal_set::async_wait.unspecified signal_number;#elif defined(BOOST_ASIO_HAS_BOOST_BIND)# if defined(__BORLANDC__) || defined(__GNUC__)inline boost::arg<1> error(){  return boost::arg<1>();}inline boost::arg<2> bytes_transferred(){  return boost::arg<2>();}inline boost::arg<2> iterator(){  return boost::arg<2>();}inline boost::arg<2> results(){  return boost::arg<2>();}inline boost::arg<2> endpoint(){  return boost::arg<2>();}inline boost::arg<2> signal_number(){  return boost::arg<2>();}# elsenamespace detail{  template <int Number>  struct placeholder  {    static boost::arg<Number>& get()    {      static boost::arg<Number> result;      return result;    }  };}#  if defined(BOOST_ASIO_MSVC) && (BOOST_ASIO_MSVC < 1400)static boost::arg<1>& error  = boost::asio::placeholders::detail::placeholder<1>::get();static boost::arg<2>& bytes_transferred  = boost::asio::placeholders::detail::placeholder<2>::get();static boost::arg<2>& iterator  = boost::asio::placeholders::detail::placeholder<2>::get();static boost::arg<2>& results  = boost::asio::placeholders::detail::placeholder<2>::get();static boost::arg<2>& endpoint  = boost::asio::placeholders::detail::placeholder<2>::get();static boost::arg<2>& signal_number  = boost::asio::placeholders::detail::placeholder<2>::get();#  elsenamespace{  boost::arg<1>& error    = boost::asio::placeholders::detail::placeholder<1>::get();  boost::arg<2>& bytes_transferred    = boost::asio::placeholders::detail::placeholder<2>::get();  boost::arg<2>& iterator    = boost::asio::placeholders::detail::placeholder<2>::get();  boost::arg<2>& results    = boost::asio::placeholders::detail::placeholder<2>::get();  boost::arg<2>& endpoint    = boost::asio::placeholders::detail::placeholder<2>::get();  boost::arg<2>& signal_number    = boost::asio::placeholders::detail::placeholder<2>::get();} // namespace#  endif# endif#endif} // namespace placeholders} // namespace asio} // namespace boost#include <boost/asio/detail/pop_options.hpp>#endif // BOOST_ASIO_PLACEHOLDERS_HPP
 |