Trait class that identifies whether T is a move constructible type.
A move constructible type is a type that can be constructed from an rvalue reference of its type. This includes scalar types and move constructible classes.
A move constructible class is a class that either has a move constructor (implicit or custom) or a copy constructor that is called for rvalue references (these are always called unless the class has a deleted move constructor).
Note that this implies that all copy-constructible types are also move-constructible.
The is_move_constructible class inherits from integral_constant as being either true_type or false_type, depending on whether T is move constructible.
Template parameters
T
A complete type, or void (possible cv-qualified), or an array of unknown bound.