diff --git a/include/boost/cobalt/io/acceptor.hpp b/include/boost/cobalt/io/acceptor.hpp index 1f26d64..08b7b74 100644 --- a/include/boost/cobalt/io/acceptor.hpp +++ b/include/boost/cobalt/io/acceptor.hpp @@ -35,6 +35,7 @@ struct BOOST_SYMBOL_VISIBLE acceptor accept_op(asio::basic_socket_acceptor & acceptor, socket& sock) : acceptor_(acceptor), sock_(sock) {} + ~accept_op() = default; protected: asio::basic_socket_acceptor &acceptor_; socket & sock_; @@ -46,6 +47,7 @@ struct BOOST_SYMBOL_VISIBLE acceptor void initiate(completion_handler h) override; accept_stream_op(asio::basic_socket_acceptor & acceptor) : acceptor_(acceptor) {} + ~accept_stream_op() = default; private: asio::basic_socket_acceptor &acceptor_; stream_socket sock_{acceptor_.get_executor()}; @@ -57,6 +59,7 @@ struct BOOST_SYMBOL_VISIBLE acceptor void initiate(completion_handler h) override; accept_seq_packet_op(asio::basic_socket_acceptor & acceptor) : acceptor_(acceptor) {} + ~accept_seq_packet_op() = default; private: asio::basic_socket_acceptor &acceptor_; seq_packet_socket sock_{acceptor_.get_executor()}; @@ -70,7 +73,7 @@ struct BOOST_SYMBOL_VISIBLE acceptor wait_op(asio::basic_socket_acceptor & acceptor, wait_type wt) : acceptor_(acceptor), wt_(wt) {} - + ~wait_op() = default; private: asio::basic_socket_acceptor &acceptor_; wait_type wt_; diff --git a/include/boost/cobalt/io/ops.hpp b/include/boost/cobalt/io/ops.hpp index 08f5a7a..656edb1 100644 --- a/include/boost/cobalt/io/ops.hpp +++ b/include/boost/cobalt/io/ops.hpp @@ -48,6 +48,7 @@ struct [[nodiscard]] write_op final : op if (try_implementation_) try_implementation_(this_, buffer, std::move(handler)); } + ~write_op() = default; private: void *this_; @@ -84,6 +85,7 @@ struct [[nodiscard]] read_op final : op if (try_implementation_) try_implementation_(this_, buffer, std::move(handler)); } + ~read_op() = default; private: void *this_; @@ -122,7 +124,7 @@ struct [[nodiscard]] write_at_op final : op if (try_implementation_) try_implementation_(this_, offset, buffer, std::move(handler)); } - + ~write_at_op() = default; private: void *this_; implementation_t *implementation_; @@ -160,7 +162,7 @@ struct [[nodiscard]] read_at_op final : op if (try_implementation_) try_implementation_(this_, offset, buffer, std::move(handler)); } - + ~read_at_op() = default; private: void *this_; implementation_t *implementation_; @@ -193,6 +195,7 @@ struct [[nodiscard]] wait_op final : op if (try_implementation_) try_implementation_(this_, std::move(handler)); } + ~wait_op() = default; private: void *this_; diff --git a/include/boost/cobalt/io/read.hpp b/include/boost/cobalt/io/read.hpp index 27f7be6..daea0a7 100644 --- a/include/boost/cobalt/io/read.hpp +++ b/include/boost/cobalt/io/read.hpp @@ -20,6 +20,7 @@ struct BOOST_SYMBOL_VISIBLE read_all final : op { read_op step; read_all(read_op op) : step(op) {} + ~read_all() = default; BOOST_COBALT_IO_DECL void initiate(completion_handler) final; }; @@ -40,6 +41,7 @@ struct BOOST_SYMBOL_VISIBLE read_all_at final : op) final; }; diff --git a/include/boost/cobalt/io/resolver.hpp b/include/boost/cobalt/io/resolver.hpp index e619b99..2e36f2f 100644 --- a/include/boost/cobalt/io/resolver.hpp +++ b/include/boost/cobalt/io/resolver.hpp @@ -38,6 +38,7 @@ struct BOOST_SYMBOL_VISIBLE resolver resolve_op_(asio::ip::basic_resolver & resolver, std::string_view host, std::string_view service, flags flags_ = {}) : resolver_(resolver), host_(host), service_(service), flags_(flags_) {} + ~resolve_op_() = default; private: asio::ip::basic_resolver & resolver_; std::string_view host_; @@ -56,14 +57,14 @@ struct BOOST_SYMBOL_VISIBLE resolver asio::ip::basic_resolver resolver_; }; -struct BOOST_SYMBOL_VISIBLE lookup : op +struct BOOST_SYMBOL_VISIBLE lookup final : op { lookup(std::string_view host, std::string_view service, const executor & exec = this_thread::get_executor(), resolver::flags flags_ = {}) : host_(host), service_(service), resolver_{exec}, flags_{flags_} {} BOOST_COBALT_IO_DECL void initiate(completion_handler h) final override; - + ~lookup() = default; private: std::string_view host_; std::string_view service_; diff --git a/include/boost/cobalt/io/seq_packet_socket.hpp b/include/boost/cobalt/io/seq_packet_socket.hpp index 86cbb8d..3dc7d99 100644 --- a/include/boost/cobalt/io/seq_packet_socket.hpp +++ b/include/boost/cobalt/io/seq_packet_socket.hpp @@ -38,6 +38,7 @@ struct BOOST_SYMBOL_VISIBLE seq_packet_socket final : socket BOOST_COBALT_IO_DECL void initiate(completion_handler handler) final; + ~send_op() = default; private: asio::basic_seq_packet_socket & socket_; }; @@ -53,6 +54,7 @@ struct BOOST_SYMBOL_VISIBLE seq_packet_socket final : socket BOOST_COBALT_IO_DECL void initiate(completion_handler handler) final; + ~receive_op() = default; private: asio::basic_seq_packet_socket & socket_; }; diff --git a/include/boost/cobalt/io/signal_set.hpp b/include/boost/cobalt/io/signal_set.hpp index c240094..0053d96 100644 --- a/include/boost/cobalt/io/signal_set.hpp +++ b/include/boost/cobalt/io/signal_set.hpp @@ -35,6 +35,7 @@ struct BOOST_SYMBOL_VISIBLE signal_set BOOST_COBALT_IO_DECL void initiate(completion_handler h) final; wait_op_(asio::basic_signal_set & signal_set) : signal_set_(signal_set) {} + ~wait_op_() = default; private: asio::basic_signal_set & signal_set_; }; diff --git a/include/boost/cobalt/io/sleep.hpp b/include/boost/cobalt/io/sleep.hpp index 3588a83..8a76053 100644 --- a/include/boost/cobalt/io/sleep.hpp +++ b/include/boost/cobalt/io/sleep.hpp @@ -28,6 +28,7 @@ struct BOOST_SYMBOL_VISIBLE steady_sleep final : op h({}); } BOOST_COBALT_IO_DECL void initiate(completion_handler h) final override; + ~steady_sleep() = default; std::optional< asio::basic_waitable_timer, executor> > timer_; }; @@ -47,6 +48,7 @@ struct BOOST_SYMBOL_VISIBLE system_sleep final : op } BOOST_COBALT_IO_DECL void initiate(completion_handler h) final override; + ~system_sleep() = default; std::optional, executor> > timer_; }; diff --git a/include/boost/cobalt/io/socket.hpp b/include/boost/cobalt/io/socket.hpp index 73ba459..7dac7db 100644 --- a/include/boost/cobalt/io/socket.hpp +++ b/include/boost/cobalt/io/socket.hpp @@ -95,7 +95,7 @@ struct BOOST_SYMBOL_VISIBLE socket wait_op(wait_type wt, socket & sock) : wt(wt), sock_(sock) {} - + ~wait_op() = default; private: socket & sock_; @@ -114,6 +114,7 @@ struct BOOST_SYMBOL_VISIBLE socket connect_op(struct endpoint endpoint, socket & socket) : endpoint(endpoint), sock_(socket) {} + ~connect_op() = default; private: socket & sock_; }; @@ -132,6 +133,7 @@ struct BOOST_SYMBOL_VISIBLE socket ranged_connect_op(endpoint_sequence eps, socket & socket) : endpoints(eps), sock_(socket) {} + ~ranged_connect_op() = default; private: socket & sock_; }; diff --git a/include/boost/cobalt/io/ssl.hpp b/include/boost/cobalt/io/ssl.hpp index dc7403d..aaa5621 100644 --- a/include/boost/cobalt/io/ssl.hpp +++ b/include/boost/cobalt/io/ssl.hpp @@ -87,6 +87,7 @@ struct BOOST_SYMBOL_VISIBLE stream final : private detail::stream_impl, socket, void initiate(completion_handler h) final; handshake_op_(handshake_type type, bool upgraded, asio::ssl::stream> & stream_socket) : type_(type), upgraded_(upgraded), stream_socket_(stream_socket) {} + ~handshake_op_() = default; private: handshake_type type_; bool upgraded_; @@ -103,6 +104,7 @@ struct BOOST_SYMBOL_VISIBLE stream final : private detail::stream_impl, socket, handshake_buffer_op_(handshake_type type, bool upgraded, const_buffer_sequence buffer_, asio::ssl::stream> & stream_socket) : type_(type), upgraded_(upgraded), buffer_(buffer_), stream_socket_(stream_socket) {} + ~handshake_buffer_op_() = default; private: handshake_type type_; bool upgraded_; @@ -119,6 +121,7 @@ struct BOOST_SYMBOL_VISIBLE stream final : private detail::stream_impl, socket, void initiate(completion_handler h) final; shutdown_op_(bool upgraded, asio::ssl::stream> & stream_socket) : upgraded_(upgraded), stream_socket_(stream_socket) {} + ~shutdown_op_() = default; private: bool upgraded_; asio::ssl::stream> &stream_socket_; diff --git a/include/boost/cobalt/io/write.hpp b/include/boost/cobalt/io/write.hpp index 6646e2f..4a4c514 100644 --- a/include/boost/cobalt/io/write.hpp +++ b/include/boost/cobalt/io/write.hpp @@ -21,6 +21,7 @@ struct BOOST_SYMBOL_VISIBLE write_all final : op) final; }; @@ -40,7 +41,7 @@ struct BOOST_SYMBOL_VISIBLE write_all_at final : op) final; };