1 // Copyright (c) 2016 Klemens D. Morgenstern
3 // Distributed under the Boost Software License, Version 1.0. (See accompanying
4 // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
6 #ifndef BOOST_PROCESS_DETAIL_POSIX_ASIO_FWD_HPP_
7 #define BOOST_PROCESS_DETAIL_POSIX_ASIO_FWD_HPP_
11 namespace boost { namespace asio {
14 class mutable_buffers_1;
17 class const_buffers_1;
19 template<typename Allocator>
20 class basic_streambuf;
22 typedef basic_streambuf<std::allocator<char>> streambuf;
26 #if defined(BOOST_ASIO_ENABLE_OLD_SERVICES)
27 class signal_set_service;
28 template <typename SignalSetService>
30 class basic_signal_set;
31 typedef basic_signal_set<signal_set_service> signal_set;
32 #else /* defined(BOOST_ASIO_ENABLE_OLD_SERVICES) */
34 #endif /* defined(BOOST_ASIO_ENABLE_OLD_SERVICES) */
36 template <typename Handler>
37 class basic_yield_context;
41 #if defined(BOOST_ASIO_ENABLE_OLD_SERVICES)
42 class stream_descriptor_service;
44 template <typename StreamDesscriptorService>
45 class basic_stream_descriptor;
46 typedef basic_stream_descriptor<stream_descriptor_service> stream_descriptor;
47 #else /* defined(BOOST_ASIO_ENABLE_OLD_SERVICES) */
48 class stream_descriptor;
49 #endif /* defined(BOOST_ASIO_ENABLE_OLD_SERVICES) */
54 namespace process { namespace detail { namespace posix {
59 struct async_in_buffer;
61 template<int p1, int p2, typename Buffer>
62 struct async_out_buffer;
64 template<int p1, int p2, typename Type>
65 struct async_out_future;
70 using ::boost::process::detail::posix::async_pipe;
78 #endif /* BOOST_PROCESS_DETAIL_POSIX_ASIO_FWD_HPP_ */