trait detects whether a type T has an associated executor that is convertible
from type Executor.
template< typename T, typename Executor> struct uses_executor : public false_type
Meets the BinaryTypeTrait requirements. The Asio library provides a definition
that is derived from
false_type. A program may specialize this
template to derive from true_type for a user-defined type T that can be constructed
with an executor, where the first argument of a constructor has type
and the second argument is convertible from type Executor.