Boost
C++ Libraries
...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
This is an older version of Boost and was released in 2021. The current version is 1.91.0.
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.
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)
{
...
});