Boost C++ Libraries Home Libraries People FAQ More

PrevUpHomeNext

strand::require

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);

PrevUpHomeNext