namespace std { namespace experimental { namespace net { inline namespace v1 { template<class T, class Executor> struct uses_executor; } // inline namespace v1 } // namespace net } // namespace experimental } // namespace std
Remark: Detects whether T has a nested executor_type that is convertible from Executor. Meets the BinaryTypeTrait requirements (C++ 2014 [meta.rqmts]). The implementation provides a definition that is derived from true_type if the qualified-id T::executor_type is valid and denotes a type and is_convertible<Executor, T::executor_type>::value != false, otherwise it is derived from false_type. A program may specialize this template to derive from true_type for a user-defined type T that does not have a nested executor_type but nonetheless can be constructed with an executor if the first argument of a constructor has type executor_arg_t and the second argument has type Executor.