Audio plugin host https://kx.studio/carla
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

204 lines
4.8KB

  1. //
  2. // ts/netfwd.hpp
  3. // ~~~~~~~~~~~~~
  4. //
  5. // Copyright (c) 2003-2019 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. #ifndef ASIO_TS_NETFWD_HPP
  11. #define ASIO_TS_NETFWD_HPP
  12. #if defined(_MSC_VER) && (_MSC_VER >= 1200)
  13. # pragma once
  14. #endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
  15. #include "asio/detail/config.hpp"
  16. #if defined(ASIO_HAS_CHRONO)
  17. # include "asio/detail/chrono.hpp"
  18. #endif // defined(ASIO_HAS_CHRONO)
  19. #if defined(ASIO_HAS_BOOST_DATE_TIME)
  20. # include "asio/detail/date_time_fwd.hpp"
  21. #endif // defined(ASIO_HAS_BOOST_DATE_TIME)
  22. #if !defined(GENERATING_DOCUMENTATION)
  23. #include "asio/detail/push_options.hpp"
  24. namespace asio {
  25. class execution_context;
  26. template <typename T, typename Executor>
  27. class executor_binder;
  28. template <typename Executor>
  29. class executor_work_guard;
  30. class system_executor;
  31. class executor;
  32. template <typename Executor>
  33. class strand;
  34. class io_context;
  35. template <typename Clock>
  36. struct wait_traits;
  37. #if defined(ASIO_HAS_BOOST_DATE_TIME)
  38. template <typename Time>
  39. struct time_traits;
  40. #endif // defined(ASIO_HAS_BOOST_DATE_TIME)
  41. #if !defined(ASIO_BASIC_WAITABLE_TIMER_FWD_DECL)
  42. #define ASIO_BASIC_WAITABLE_TIMER_FWD_DECL
  43. template <typename Clock,
  44. typename WaitTraits = wait_traits<Clock>,
  45. typename Executor = executor>
  46. class basic_waitable_timer;
  47. #endif // !defined(ASIO_BASIC_WAITABLE_TIMER_FWD_DECL)
  48. #if defined(ASIO_HAS_CHRONO)
  49. typedef basic_waitable_timer<chrono::system_clock> system_timer;
  50. typedef basic_waitable_timer<chrono::steady_clock> steady_timer;
  51. typedef basic_waitable_timer<chrono::high_resolution_clock>
  52. high_resolution_timer;
  53. #endif // defined(ASIO_HAS_CHRONO)
  54. #if !defined(ASIO_BASIC_SOCKET_FWD_DECL)
  55. #define ASIO_BASIC_SOCKET_FWD_DECL
  56. template <typename Protocol, typename Executor = executor>
  57. class basic_socket;
  58. #endif // !defined(ASIO_BASIC_SOCKET_FWD_DECL)
  59. #if !defined(ASIO_BASIC_DATAGRAM_SOCKET_FWD_DECL)
  60. #define ASIO_BASIC_DATAGRAM_SOCKET_FWD_DECL
  61. template <typename Protocol, typename Executor = executor>
  62. class basic_datagram_socket;
  63. #endif // !defined(ASIO_BASIC_DATAGRAM_SOCKET_FWD_DECL)
  64. #if !defined(ASIO_BASIC_STREAM_SOCKET_FWD_DECL)
  65. #define ASIO_BASIC_STREAM_SOCKET_FWD_DECL
  66. // Forward declaration with defaulted arguments.
  67. template <typename Protocol, typename Executor = executor>
  68. class basic_stream_socket;
  69. #endif // !defined(ASIO_BASIC_STREAM_SOCKET_FWD_DECL)
  70. #if !defined(ASIO_BASIC_SOCKET_ACCEPTOR_FWD_DECL)
  71. #define ASIO_BASIC_SOCKET_ACCEPTOR_FWD_DECL
  72. template <typename Protocol, typename Executor = executor>
  73. class basic_socket_acceptor;
  74. #endif // !defined(ASIO_BASIC_SOCKET_ACCEPTOR_FWD_DECL)
  75. #if !defined(ASIO_BASIC_SOCKET_STREAMBUF_FWD_DECL)
  76. #define ASIO_BASIC_SOCKET_STREAMBUF_FWD_DECL
  77. // Forward declaration with defaulted arguments.
  78. template <typename Protocol,
  79. #if defined(ASIO_HAS_BOOST_DATE_TIME) \
  80. || defined(GENERATING_DOCUMENTATION)
  81. typename Clock = boost::posix_time::ptime,
  82. typename WaitTraits = time_traits<Clock> >
  83. #else
  84. typename Clock = chrono::steady_clock,
  85. typename WaitTraits = wait_traits<Clock> >
  86. #endif
  87. class basic_socket_streambuf;
  88. #endif // !defined(ASIO_BASIC_SOCKET_STREAMBUF_FWD_DECL)
  89. #if !defined(ASIO_BASIC_SOCKET_IOSTREAM_FWD_DECL)
  90. #define ASIO_BASIC_SOCKET_IOSTREAM_FWD_DECL
  91. // Forward declaration with defaulted arguments.
  92. template <typename Protocol,
  93. #if defined(ASIO_HAS_BOOST_DATE_TIME) \
  94. || defined(GENERATING_DOCUMENTATION)
  95. typename Clock = boost::posix_time::ptime,
  96. typename WaitTraits = time_traits<Clock> >
  97. #else
  98. typename Clock = chrono::steady_clock,
  99. typename WaitTraits = wait_traits<Clock> >
  100. #endif
  101. class basic_socket_iostream;
  102. #endif // !defined(ASIO_BASIC_SOCKET_IOSTREAM_FWD_DECL)
  103. namespace ip {
  104. class address;
  105. class address_v4;
  106. class address_v6;
  107. template <typename Address>
  108. class basic_address_iterator;
  109. typedef basic_address_iterator<address_v4> address_v4_iterator;
  110. typedef basic_address_iterator<address_v6> address_v6_iterator;
  111. template <typename Address>
  112. class basic_address_range;
  113. typedef basic_address_range<address_v4> address_v4_range;
  114. typedef basic_address_range<address_v6> address_v6_range;
  115. class network_v4;
  116. class network_v6;
  117. template <typename InternetProtocol>
  118. class basic_endpoint;
  119. template <typename InternetProtocol>
  120. class basic_resolver_entry;
  121. template <typename InternetProtocol>
  122. class basic_resolver_results;
  123. #if !defined(ASIO_IP_BASIC_RESOLVER_FWD_DECL)
  124. #define ASIO_IP_BASIC_RESOLVER_FWD_DECL
  125. template <typename InternetProtocol, typename Executor = executor>
  126. class basic_resolver;
  127. #endif // !defined(ASIO_IP_BASIC_RESOLVER_FWD_DECL)
  128. class tcp;
  129. class udp;
  130. } // namespace ip
  131. } // namespace asio
  132. #include "asio/detail/pop_options.hpp"
  133. #endif // !defined(GENERATING_DOCUMENTATION)
  134. #endif // ASIO_TS_NETFWD_HPP