]>
Commit | Line | Data |
---|---|---|
b32b8144 FG |
1 | // |
2 | // ts/netfwd.hpp | |
3 | // ~~~~~~~~~~~~~ | |
4 | // | |
92f5a8d4 | 5 | // Copyright (c) 2003-2019 Christopher M. Kohlhoff (chris at kohlhoff dot com) |
b32b8144 FG |
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 | ||
11 | #ifndef BOOST_ASIO_TS_NETFWD_HPP | |
12 | #define BOOST_ASIO_TS_NETFWD_HPP | |
13 | ||
14 | #if defined(_MSC_VER) && (_MSC_VER >= 1200) | |
15 | # pragma once | |
16 | #endif // defined(_MSC_VER) && (_MSC_VER >= 1200) | |
17 | ||
18 | #include <boost/asio/detail/config.hpp> | |
19 | ||
20 | #if defined(BOOST_ASIO_HAS_CHRONO) | |
21 | # include <boost/asio/detail/chrono.hpp> | |
22 | #endif // defined(BOOST_ASIO_HAS_CHRONO) | |
23 | ||
24 | #if defined(BOOST_ASIO_HAS_BOOST_DATE_TIME) | |
25 | # include <boost/asio/detail/date_time_fwd.hpp> | |
26 | #endif // defined(BOOST_ASIO_HAS_BOOST_DATE_TIME) | |
27 | ||
28 | #if !defined(GENERATING_DOCUMENTATION) | |
29 | ||
30 | #include <boost/asio/detail/push_options.hpp> | |
31 | ||
32 | namespace boost { | |
33 | namespace asio { | |
34 | ||
35 | class execution_context; | |
36 | ||
37 | template <typename T, typename Executor> | |
38 | class executor_binder; | |
39 | ||
40 | template <typename Executor> | |
41 | class executor_work_guard; | |
42 | ||
43 | class system_executor; | |
44 | ||
45 | class executor; | |
46 | ||
47 | template <typename Executor> | |
48 | class strand; | |
49 | ||
50 | class io_context; | |
51 | ||
52 | template <typename Clock> | |
53 | struct wait_traits; | |
54 | ||
55 | #if defined(BOOST_ASIO_HAS_BOOST_DATE_TIME) | |
56 | ||
57 | template <typename Time> | |
58 | struct time_traits; | |
59 | ||
60 | #endif // defined(BOOST_ASIO_HAS_BOOST_DATE_TIME) | |
61 | ||
b32b8144 FG |
62 | #if !defined(BOOST_ASIO_BASIC_WAITABLE_TIMER_FWD_DECL) |
63 | #define BOOST_ASIO_BASIC_WAITABLE_TIMER_FWD_DECL | |
64 | ||
65 | template <typename Clock, | |
92f5a8d4 TL |
66 | typename WaitTraits = wait_traits<Clock>, |
67 | typename Executor = executor> | |
b32b8144 FG |
68 | class basic_waitable_timer; |
69 | ||
70 | #endif // !defined(BOOST_ASIO_BASIC_WAITABLE_TIMER_FWD_DECL) | |
71 | ||
72 | #if defined(BOOST_ASIO_HAS_CHRONO) | |
73 | ||
74 | typedef basic_waitable_timer<chrono::system_clock> system_timer; | |
75 | ||
76 | typedef basic_waitable_timer<chrono::steady_clock> steady_timer; | |
77 | ||
78 | typedef basic_waitable_timer<chrono::high_resolution_clock> | |
79 | high_resolution_timer; | |
80 | ||
81 | #endif // defined(BOOST_ASIO_HAS_CHRONO) | |
82 | ||
92f5a8d4 TL |
83 | #if !defined(BOOST_ASIO_BASIC_SOCKET_FWD_DECL) |
84 | #define BOOST_ASIO_BASIC_SOCKET_FWD_DECL | |
85 | ||
86 | template <typename Protocol, typename Executor = executor> | |
b32b8144 FG |
87 | class basic_socket; |
88 | ||
92f5a8d4 TL |
89 | #endif // !defined(BOOST_ASIO_BASIC_SOCKET_FWD_DECL) |
90 | ||
91 | #if !defined(BOOST_ASIO_BASIC_DATAGRAM_SOCKET_FWD_DECL) | |
92 | #define BOOST_ASIO_BASIC_DATAGRAM_SOCKET_FWD_DECL | |
93 | ||
94 | template <typename Protocol, typename Executor = executor> | |
b32b8144 FG |
95 | class basic_datagram_socket; |
96 | ||
92f5a8d4 TL |
97 | #endif // !defined(BOOST_ASIO_BASIC_DATAGRAM_SOCKET_FWD_DECL) |
98 | ||
99 | #if !defined(BOOST_ASIO_BASIC_STREAM_SOCKET_FWD_DECL) | |
100 | #define BOOST_ASIO_BASIC_STREAM_SOCKET_FWD_DECL | |
101 | ||
102 | // Forward declaration with defaulted arguments. | |
103 | template <typename Protocol, typename Executor = executor> | |
b32b8144 FG |
104 | class basic_stream_socket; |
105 | ||
92f5a8d4 TL |
106 | #endif // !defined(BOOST_ASIO_BASIC_STREAM_SOCKET_FWD_DECL) |
107 | ||
108 | #if !defined(BOOST_ASIO_BASIC_SOCKET_ACCEPTOR_FWD_DECL) | |
109 | #define BOOST_ASIO_BASIC_SOCKET_ACCEPTOR_FWD_DECL | |
110 | ||
111 | template <typename Protocol, typename Executor = executor> | |
b32b8144 FG |
112 | class basic_socket_acceptor; |
113 | ||
92f5a8d4 TL |
114 | #endif // !defined(BOOST_ASIO_BASIC_SOCKET_ACCEPTOR_FWD_DECL) |
115 | ||
b32b8144 FG |
116 | #if !defined(BOOST_ASIO_BASIC_SOCKET_STREAMBUF_FWD_DECL) |
117 | #define BOOST_ASIO_BASIC_SOCKET_STREAMBUF_FWD_DECL | |
118 | ||
119 | // Forward declaration with defaulted arguments. | |
92f5a8d4 | 120 | template <typename Protocol, |
b32b8144 FG |
121 | #if defined(BOOST_ASIO_HAS_BOOST_DATE_TIME) \ |
122 | || defined(GENERATING_DOCUMENTATION) | |
123 | typename Clock = boost::posix_time::ptime, | |
92f5a8d4 | 124 | typename WaitTraits = time_traits<Clock> > |
b32b8144 FG |
125 | #else |
126 | typename Clock = chrono::steady_clock, | |
92f5a8d4 | 127 | typename WaitTraits = wait_traits<Clock> > |
b32b8144 FG |
128 | #endif |
129 | class basic_socket_streambuf; | |
130 | ||
131 | #endif // !defined(BOOST_ASIO_BASIC_SOCKET_STREAMBUF_FWD_DECL) | |
132 | ||
133 | #if !defined(BOOST_ASIO_BASIC_SOCKET_IOSTREAM_FWD_DECL) | |
134 | #define BOOST_ASIO_BASIC_SOCKET_IOSTREAM_FWD_DECL | |
135 | ||
136 | // Forward declaration with defaulted arguments. | |
92f5a8d4 | 137 | template <typename Protocol, |
b32b8144 FG |
138 | #if defined(BOOST_ASIO_HAS_BOOST_DATE_TIME) \ |
139 | || defined(GENERATING_DOCUMENTATION) | |
140 | typename Clock = boost::posix_time::ptime, | |
92f5a8d4 | 141 | typename WaitTraits = time_traits<Clock> > |
b32b8144 FG |
142 | #else |
143 | typename Clock = chrono::steady_clock, | |
92f5a8d4 | 144 | typename WaitTraits = wait_traits<Clock> > |
b32b8144 FG |
145 | #endif |
146 | class basic_socket_iostream; | |
147 | ||
148 | #endif // !defined(BOOST_ASIO_BASIC_SOCKET_IOSTREAM_FWD_DECL) | |
149 | ||
150 | namespace ip { | |
151 | ||
152 | class address; | |
153 | ||
154 | class address_v4; | |
155 | ||
156 | class address_v6; | |
157 | ||
158 | template <typename Address> | |
159 | class basic_address_iterator; | |
160 | ||
161 | typedef basic_address_iterator<address_v4> address_v4_iterator; | |
162 | ||
163 | typedef basic_address_iterator<address_v6> address_v6_iterator; | |
164 | ||
165 | template <typename Address> | |
166 | class basic_address_range; | |
167 | ||
168 | typedef basic_address_range<address_v4> address_v4_range; | |
169 | ||
170 | typedef basic_address_range<address_v6> address_v6_range; | |
171 | ||
172 | class network_v4; | |
173 | ||
174 | class network_v6; | |
175 | ||
176 | template <typename InternetProtocol> | |
177 | class basic_endpoint; | |
178 | ||
179 | template <typename InternetProtocol> | |
180 | class basic_resolver_entry; | |
181 | ||
182 | template <typename InternetProtocol> | |
183 | class basic_resolver_results; | |
184 | ||
92f5a8d4 TL |
185 | #if !defined(BOOST_ASIO_IP_BASIC_RESOLVER_FWD_DECL) |
186 | #define BOOST_ASIO_IP_BASIC_RESOLVER_FWD_DECL | |
187 | ||
188 | template <typename InternetProtocol, typename Executor = executor> | |
b32b8144 FG |
189 | class basic_resolver; |
190 | ||
92f5a8d4 TL |
191 | #endif // !defined(BOOST_ASIO_IP_BASIC_RESOLVER_FWD_DECL) |
192 | ||
b32b8144 FG |
193 | class tcp; |
194 | ||
195 | class udp; | |
196 | ||
197 | } // namespace ip | |
198 | } // namespace asio | |
199 | } // namespace boost | |
200 | ||
201 | #include <boost/asio/detail/pop_options.hpp> | |
202 | ||
203 | #endif // !defined(GENERATING_DOCUMENTATION) | |
204 | ||
205 | #endif // BOOST_ASIO_TS_NETFWD_HPP |