Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 09:42:39

0001 //
0002 // Copyright (c) 2019-2023 Ruben Perez Hidalgo (rubenperez038 at gmail dot com)
0003 //
0004 // Distributed under the Boost Software License, Version 1.0. (See accompanying
0005 // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
0006 //
0007 
0008 #ifndef BOOST_MYSQL_DETAIL_REBIND_EXECUTOR_HPP
0009 #define BOOST_MYSQL_DETAIL_REBIND_EXECUTOR_HPP
0010 
0011 #include <boost/asio/ssl/stream.hpp>
0012 
0013 namespace boost {
0014 namespace mysql {
0015 namespace detail {
0016 
0017 // This is required because ssl::stream doesn't have a rebind_executor member type
0018 template <class Stream, class Executor>
0019 struct rebind_executor
0020 {
0021     using type = typename Stream::template rebind_executor<Executor>::other;
0022 };
0023 
0024 template <class Stream, class Executor>
0025 struct rebind_executor<boost::asio::ssl::stream<Stream>, Executor>
0026 {
0027     using type = boost::asio::ssl::stream<typename rebind_executor<Stream, Executor>::type>;
0028 };
0029 
0030 }  // namespace detail
0031 }  // namespace mysql
0032 }  // namespace boost
0033 
0034 #endif