...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
Forward a requirement to the underlying executor.
template< typename Property> constraint< can_require< const Executor &, Property >::value &&!is_convertible< Property, execution::blocking_t::always_t >::value, strand< typename decay< typename require_result< const Executor &, Property >::type >::type > >::type require( const Property & p) const;
Do not call this function directly. It is intended for use with the require
customisation
point.
For example:
boost::asio::strand<my_executor_type> ex1 = ...; auto ex2 = boost::asio::require(ex1, boost::asio::execution::blocking.never);