[/ / Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) / / Distributed under the Boost Software License, Version 1.0. (See accompanying / file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) /] [section:CancellationHandler Cancellation handler requirements] A value `h` of a cancellation handler class should work correctly in the expression `h(t)`, where `t` is a value of type `boost::asio::cancellation_type`. [heading Examples] A free function as a cancellation handler: void cancellation_handler( boost::asio::cancellation_type type) { ... } slot.assign(cancellation_handler); A cancellation handler function object: struct cancellation_handler { ... void operator()( boost::asio::cancellation_type type) { ... } ... }; cancellation_handler& h = slot.assign(cancellation_handler{ ... }); A lambda as a cancellation handler: auto& h = slot.assign( [](boost::asio::cancellation_type type) { ... }); [endsect]