asio_fwd.hpp 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. // Copyright (c) 2016 Klemens D. Morgenstern
  2. //
  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)
  5. #ifndef BOOST_PROCESS_DETAIL_POSIX_ASIO_FWD_HPP_
  6. #define BOOST_PROCESS_DETAIL_POSIX_ASIO_FWD_HPP_
  7. #include <memory>
  8. namespace boost { namespace asio {
  9. class mutable_buffer;
  10. class mutable_buffers_1;
  11. class const_buffer;
  12. class const_buffers_1;
  13. template<typename Allocator>
  14. class basic_streambuf;
  15. typedef basic_streambuf<std::allocator<char>> streambuf;
  16. class io_context;
  17. class executor;
  18. #if defined(BOOST_ASIO_ENABLE_OLD_SERVICES)
  19. class signal_set_service;
  20. template <typename SignalSetService>
  21. class basic_signal_set;
  22. typedef basic_signal_set<signal_set_service> signal_set;
  23. #else /* defined(BOOST_ASIO_ENABLE_OLD_SERVICES) */
  24. template <typename Executor>
  25. class basic_signal_set;
  26. typedef basic_signal_set<executor> signal_set;
  27. #endif /* defined(BOOST_ASIO_ENABLE_OLD_SERVICES) */
  28. template <typename Handler>
  29. class basic_yield_context;
  30. namespace posix {
  31. #if defined(BOOST_ASIO_ENABLE_OLD_SERVICES)
  32. class stream_descriptor_service;
  33. template <typename StreamDesscriptorService>
  34. class basic_stream_descriptor;
  35. typedef basic_stream_descriptor<stream_descriptor_service> stream_descriptor;
  36. #else /* defined(BOOST_ASIO_ENABLE_OLD_SERVICES) */
  37. template <typename Executor>
  38. class basic_stream_descriptor;
  39. typedef basic_stream_descriptor<executor> stream_descriptor;
  40. #endif /* defined(BOOST_ASIO_ENABLE_OLD_SERVICES) */
  41. } //posix
  42. } //asio
  43. namespace process { namespace detail { namespace posix {
  44. class async_pipe;
  45. template<typename T>
  46. struct async_in_buffer;
  47. template<int p1, int p2, typename Buffer>
  48. struct async_out_buffer;
  49. template<int p1, int p2, typename Type>
  50. struct async_out_future;
  51. } // posix
  52. } // detail
  53. using ::boost::process::detail::posix::async_pipe;
  54. } // process
  55. } // boost
  56. #endif /* BOOST_PROCESS_DETAIL_POSIX_ASIO_FWD_HPP_ */