The class template is_executor can be used to detect executor types satisfying the Executor ([async.reqmts.executor]) type requirements.
namespace std { namespace experimental { namespace net { inline namespace v1 { template<class T> struct is_executor; } // inline namespace v1 } // namespace net } // namespace experimental } // namespace std
T shall be a complete type.
Class template is_executor is a UnaryTypeTrait (C++ 2014 [meta.rqmts]) with a BaseCharacteristic of true_type if the type T meets the syntactic requirements for Executor ([async.reqmts.executor]), otherwise false_type.