User:Pezo/LiteralType

Specifies that a type is a literal type. Literal types are the types of constexpr variables and they can be constructed, manipulated, and returned from constexpr 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 trivial destructor,
 * is either
 * an aggregate type,
 * a type with at least one constexpr (possibly template) constructor that is not a copy or move constructor,