]> git.proxmox.com Git - ceph.git/blame - ceph/src/boost/boost/asio/ts/netfwd.hpp
import new upstream nautilus stable release 14.2.8
[ceph.git] / ceph / src / boost / boost / asio / ts / netfwd.hpp
CommitLineData
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
32namespace boost {
33namespace asio {
34
35class execution_context;
36
37template <typename T, typename Executor>
38class executor_binder;
39
40template <typename Executor>
41class executor_work_guard;
42
43class system_executor;
44
45class executor;
46
47template <typename Executor>
48class strand;
49
50class io_context;
51
52template <typename Clock>
53struct wait_traits;
54
55#if defined(BOOST_ASIO_HAS_BOOST_DATE_TIME)
56
57template <typename Time>
58struct 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
65template <typename Clock,
92f5a8d4
TL
66 typename WaitTraits = wait_traits<Clock>,
67 typename Executor = executor>
b32b8144
FG
68class basic_waitable_timer;
69
70#endif // !defined(BOOST_ASIO_BASIC_WAITABLE_TIMER_FWD_DECL)
71
72#if defined(BOOST_ASIO_HAS_CHRONO)
73
74typedef basic_waitable_timer<chrono::system_clock> system_timer;
75
76typedef basic_waitable_timer<chrono::steady_clock> steady_timer;
77
78typedef 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
86template <typename Protocol, typename Executor = executor>
b32b8144
FG
87class 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
94template <typename Protocol, typename Executor = executor>
b32b8144
FG
95class 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.
103template <typename Protocol, typename Executor = executor>
b32b8144
FG
104class 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
111template <typename Protocol, typename Executor = executor>
b32b8144
FG
112class 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 120template <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
129class 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 137template <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
146class basic_socket_iostream;
147
148#endif // !defined(BOOST_ASIO_BASIC_SOCKET_IOSTREAM_FWD_DECL)
149
150namespace ip {
151
152class address;
153
154class address_v4;
155
156class address_v6;
157
158template <typename Address>
159class basic_address_iterator;
160
161typedef basic_address_iterator<address_v4> address_v4_iterator;
162
163typedef basic_address_iterator<address_v6> address_v6_iterator;
164
165template <typename Address>
166class basic_address_range;
167
168typedef basic_address_range<address_v4> address_v4_range;
169
170typedef basic_address_range<address_v6> address_v6_range;
171
172class network_v4;
173
174class network_v6;
175
176template <typename InternetProtocol>
177class basic_endpoint;
178
179template <typename InternetProtocol>
180class basic_resolver_entry;
181
182template <typename InternetProtocol>
183class 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
188template <typename InternetProtocol, typename Executor = executor>
b32b8144
FG
189class basic_resolver;
190
92f5a8d4
TL
191#endif // !defined(BOOST_ASIO_IP_BASIC_RESOLVER_FWD_DECL)
192
b32b8144
FG
193class tcp;
194
195class 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