| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 | //// ip/unicast.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_IP_UNICAST_HPP#define BOOST_ASIO_IP_UNICAST_HPP#if defined(_MSC_VER) && (_MSC_VER >= 1200)# pragma once#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)#include <boost/asio/detail/config.hpp>#include <cstddef>#include <boost/asio/ip/detail/socket_option.hpp>#include <boost/asio/detail/push_options.hpp>namespace boost {namespace asio {namespace ip {namespace unicast {/// Socket option for time-to-live associated with outgoing unicast packets./** * Implements the IPPROTO_IP/IP_UNICAST_TTL socket option. * * @par Examples * Setting the option: * @code * boost::asio::ip::udp::socket socket(my_context); * ... * boost::asio::ip::unicast::hops option(4); * socket.set_option(option); * @endcode * * @par * Getting the current option value: * @code * boost::asio::ip::udp::socket socket(my_context); * ... * boost::asio::ip::unicast::hops option; * socket.get_option(option); * int ttl = option.value(); * @endcode * * @par Concepts: * GettableSocketOption, SettableSocketOption. */#if defined(GENERATING_DOCUMENTATION)typedef implementation_defined hops;#elsetypedef boost::asio::ip::detail::socket_option::unicast_hops<  BOOST_ASIO_OS_DEF(IPPROTO_IP),  BOOST_ASIO_OS_DEF(IP_TTL),  BOOST_ASIO_OS_DEF(IPPROTO_IPV6),  BOOST_ASIO_OS_DEF(IPV6_UNICAST_HOPS)> hops;#endif} // namespace unicast} // namespace ip} // namespace asio} // namespace boost#include <boost/asio/detail/pop_options.hpp>#endif // BOOST_ASIO_IP_UNICAST_HPP
 |