Boost C++ Libraries Home Libraries People FAQ More

PrevUpHomeNext

execution::staging_executor::execute

Apply the recorded properties and submit a function object.

template<
    typename Function>
void execute(
    Function && f) const;

When the target is not a polymorphic executor, this is equivalent to commit().execute(f), except that the target is not copied unless a recorded property yields a new executor.

When the target is an execution::any_executor, and the recorded properties are one of blocking.never; blocking.never and relationship.fork; or blocking.never and relationship.continuation, the properties are applied directly to the concrete executor held by the polymorphic executor, and the function object is submitted to the result. No intermediate polymorphic executor is constructed. Other sequences commit and then execute.


PrevUpHomeNext