11 #ifndef ASIO_TS_NETFWD_HPP 12 #define ASIO_TS_NETFWD_HPP 14 #if defined(_MSC_VER) && (_MSC_VER >= 1200) 16 #endif // defined(_MSC_VER) && (_MSC_VER >= 1200) 18 #include "asio/detail/config.hpp" 20 #if defined(ASIO_HAS_CHRONO) 21 # include "asio/detail/chrono.hpp" 22 #endif // defined(ASIO_HAS_CHRONO) 24 #if defined(ASIO_HAS_BOOST_DATE_TIME) 25 # include "asio/detail/date_time_fwd.hpp" 26 #endif // defined(ASIO_HAS_BOOST_DATE_TIME) 28 #if !defined(ASIO_USE_TS_EXECUTOR_AS_DEFAULT) 29 #include "asio/execution/blocking.hpp" 30 #include "asio/execution/outstanding_work.hpp" 31 #include "asio/execution/relationship.hpp" 32 #endif // !defined(ASIO_USE_TS_EXECUTOR_AS_DEFAULT) 34 #if !defined(GENERATING_DOCUMENTATION) 36 #include "asio/detail/push_options.hpp" 40 class execution_context;
42 template <
typename T,
typename Executor>
43 class executor_binder;
45 #if !defined(ASIO_EXECUTOR_WORK_GUARD_DECL) 46 #define ASIO_EXECUTOR_WORK_GUARD_DECL 48 template <
typename Executor,
typename =
void>
49 class executor_work_guard;
51 #endif // !defined(ASIO_EXECUTOR_WORK_GUARD_DECL) 53 template <
typename Blocking,
typename Relationship,
typename Allocator>
54 class basic_system_executor;
56 #if defined(ASIO_USE_TS_EXECUTOR_AS_DEFAULT) 62 #else // defined(ASIO_USE_TS_EXECUTOR_AS_DEFAULT) 66 #if !defined(ASIO_EXECUTION_ANY_EXECUTOR_FWD_DECL) 67 #define ASIO_EXECUTION_ANY_EXECUTOR_FWD_DECL 69 #if defined(ASIO_HAS_VARIADIC_TEMPLATES) 71 template <
typename... SupportableProperties>
74 #else // defined(ASIO_HAS_VARIADIC_TEMPLATES) 76 template <
typename = void,
typename = void,
typename = void,
77 typename = void,
typename = void,
typename = void,
78 typename = void,
typename = void,
typename =
void>
81 #endif // defined(ASIO_HAS_VARIADIC_TEMPLATES) 83 #endif // !defined(ASIO_EXECUTION_ANY_EXECUTOR_FWD_DECL) 88 template <
typename Property>
95 execution::blocking_t::never_t,
103 #endif // defined(ASIO_USE_TS_EXECUTOR_AS_DEFAULT) 105 template <
typename Executor>
110 template <
typename Clock>
113 #if defined(ASIO_HAS_BOOST_DATE_TIME) 115 template <
typename Time>
118 #endif // defined(ASIO_HAS_BOOST_DATE_TIME) 120 #if !defined(ASIO_BASIC_WAITABLE_TIMER_FWD_DECL) 121 #define ASIO_BASIC_WAITABLE_TIMER_FWD_DECL 123 template <
typename Clock,
125 typename Executor = any_io_executor>
128 #endif // !defined(ASIO_BASIC_WAITABLE_TIMER_FWD_DECL) 130 #if defined(ASIO_HAS_CHRONO) 137 high_resolution_timer;
139 #endif // defined(ASIO_HAS_CHRONO) 141 #if !defined(ASIO_BASIC_SOCKET_FWD_DECL) 142 #define ASIO_BASIC_SOCKET_FWD_DECL 144 template <
typename Protocol,
typename Executor = any_io_executor>
147 #endif // !defined(ASIO_BASIC_SOCKET_FWD_DECL) 149 #if !defined(ASIO_BASIC_DATAGRAM_SOCKET_FWD_DECL) 150 #define ASIO_BASIC_DATAGRAM_SOCKET_FWD_DECL 152 template <
typename Protocol,
typename Executor = any_io_executor>
155 #endif // !defined(ASIO_BASIC_DATAGRAM_SOCKET_FWD_DECL) 157 #if !defined(ASIO_BASIC_STREAM_SOCKET_FWD_DECL) 158 #define ASIO_BASIC_STREAM_SOCKET_FWD_DECL 161 template <
typename Protocol,
typename Executor = any_io_executor>
164 #endif // !defined(ASIO_BASIC_STREAM_SOCKET_FWD_DECL) 166 #if !defined(ASIO_BASIC_SOCKET_ACCEPTOR_FWD_DECL) 167 #define ASIO_BASIC_SOCKET_ACCEPTOR_FWD_DECL 169 template <
typename Protocol,
typename Executor = any_io_executor>
172 #endif // !defined(ASIO_BASIC_SOCKET_ACCEPTOR_FWD_DECL) 174 #if !defined(ASIO_BASIC_SOCKET_STREAMBUF_FWD_DECL) 175 #define ASIO_BASIC_SOCKET_STREAMBUF_FWD_DECL 178 template <
typename Protocol,
179 #if defined(ASIO_HAS_BOOST_DATE_TIME) \ 180 || defined(GENERATING_DOCUMENTATION) 181 typename Clock = boost::posix_time::ptime,
182 typename WaitTraits = time_traits<Clock> >
184 typename Clock = chrono::steady_clock,
189 #endif // !defined(ASIO_BASIC_SOCKET_STREAMBUF_FWD_DECL) 191 #if !defined(ASIO_BASIC_SOCKET_IOSTREAM_FWD_DECL) 192 #define ASIO_BASIC_SOCKET_IOSTREAM_FWD_DECL 195 template <
typename Protocol,
196 #if defined(ASIO_HAS_BOOST_DATE_TIME) \ 197 || defined(GENERATING_DOCUMENTATION) 198 typename Clock = boost::posix_time::ptime,
199 typename WaitTraits = time_traits<Clock> >
201 typename Clock = chrono::steady_clock,
206 #endif // !defined(ASIO_BASIC_SOCKET_IOSTREAM_FWD_DECL) 216 template <
typename Address>
217 class basic_address_iterator;
219 typedef basic_address_iterator<address_v4> address_v4_iterator;
221 typedef basic_address_iterator<address_v6> address_v6_iterator;
223 template <
typename Address>
224 class basic_address_range;
226 typedef basic_address_range<address_v4> address_v4_range;
228 typedef basic_address_range<address_v6> address_v6_range;
234 template <
typename InternetProtocol>
235 class basic_endpoint;
237 template <
typename InternetProtocol>
238 class basic_resolver_entry;
240 template <
typename InternetProtocol>
241 class basic_resolver_results;
243 #if !defined(ASIO_IP_BASIC_RESOLVER_FWD_DECL) 244 #define ASIO_IP_BASIC_RESOLVER_FWD_DECL 246 template <
typename InternetProtocol,
typename Executor = any_io_executor>
247 class basic_resolver;
249 #endif // !defined(ASIO_IP_BASIC_RESOLVER_FWD_DECL) 258 #include "asio/detail/pop_options.hpp" 260 #endif // !defined(GENERATING_DOCUMENTATION) 262 #endif // ASIO_TS_NETFWD_HPP Iostream interface for a socket.
Definition: basic_socket_iostream.hpp:128
Definition: prefer_only.hpp:187
Provides stream-oriented socket functionality.
Definition: basic_stream_socket.hpp:36
Definition: bulk_execute.cpp:152
Provides the ability to accept new connections.
Definition: basic_socket_acceptor.hpp:51
Provides datagram-oriented socket functionality.
Definition: basic_datagram_socket.hpp:36
Definition: handler_work.hpp:46
Wait traits suitable for use with the basic_waitable_timer class template.
Definition: netfwd.hpp:111
Definition: any_executor.hpp:240
Definition: handler_work.hpp:37
Provides socket functionality.
Definition: basic_socket.hpp:52
Provides waitable timer functionality.
Definition: basic_waitable_timer.hpp:45
Iostream streambuf for a socket.
Definition: basic_socket_streambuf.hpp:126
Definition: any_io_executor.hpp:28