cpp/experimental/is detected

The alias template is an alias for an unspecified class type with two public member typedefs  and, which are defined as follows:


 * If the template-id denotes a valid type, then  is an alias for std, and  is an alias for ;
 * Otherwise, is an alias for std and  is an alias for.

The alias template is equivalent to. It is an alias for std if the template-id denotes a valid type; otherwise it is an alias for std.

The alias template is equivalent to. It is an alias for if that template-id denotes a valid type; otherwise it is an alias for the class.

Additional utilities
The alias template checks whether  is.

The alias template checks whether  is convertible to.