cpp/named req/LiteralType

Specifies that a type is a literal type. Literal types are the types of variables and they can be constructed, manipulated, and returned from  functions.

Requirements
A literal type is any of the following:


 * scalar type;
 * reference type;
 * an array of literal type;
 * possibly cv-qualified class type that has all of the following properties:
 * has a destructor,
 * is one of


 * an aggregate union type that
 * has no variant members, or
 * has at least one variant member of non-volatile literal type,
 * a non-union aggregate type, and each of its anonymous union members
 * has no variant members, or
 * has at least one variant member of non-volatile literal type,
 * a type with at least one (possibly template) constructor that is not a copy or move constructor,