1 // 2 // ip/impl/basic_endpoint.hpp 3 // ~~~~~~~~~~~~~~~~~~~~~~~~~~ 4 // 5 // Copyright (c) 2003-2021 Christopher M. Kohlhoff (chris at kohlhoff dot com) 6 // 7 // Distributed under the Boost Software License, Version 1.0. (See accompanying 8 // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 9 // 10 11 #ifndef BOOST_ASIO_IP_IMPL_BASIC_ENDPOINT_HPP 12 #define BOOST_ASIO_IP_IMPL_BASIC_ENDPOINT_HPP 13 14 #if defined(_MSC_VER) && (_MSC_VER >= 1200) 15 # pragma once 16 #endif // defined(_MSC_VER) && (_MSC_VER >= 1200) 17 18 #if !defined(BOOST_ASIO_NO_IOSTREAM) 19 20 #include <boost/asio/detail/throw_error.hpp> 21 22 #include <boost/asio/detail/push_options.hpp> 23 24 namespace boost { 25 namespace asio { 26 namespace ip { 27 28 template <typename Elem, typename Traits, typename InternetProtocol> operator <<(std::basic_ostream<Elem,Traits> & os,const basic_endpoint<InternetProtocol> & endpoint)29std::basic_ostream<Elem, Traits>& operator<<( 30 std::basic_ostream<Elem, Traits>& os, 31 const basic_endpoint<InternetProtocol>& endpoint) 32 { 33 boost::asio::ip::detail::endpoint tmp_ep(endpoint.address(), endpoint.port()); 34 return os << tmp_ep.to_string().c_str(); 35 } 36 37 } // namespace ip 38 } // namespace asio 39 } // namespace boost 40 41 #include <boost/asio/detail/pop_options.hpp> 42 43 #endif // !defined(BOOST_ASIO_NO_IOSTREAM) 44 45 #endif // BOOST_ASIO_IP_IMPL_BASIC_ENDPOINT_HPP 46