По порядку...
T
Type of the contained value.
This shall be a trivially copyable type.
Что же это такое?
A trivially copyable type is a type whose storage is contiguous (and thus its copy implies a trivial memory block copy, as if performed with memcpy), either cv-qualified or not. This is true for scalar types, trivially copyable classes and arrays of any such types.
Почти memcpy-like, но средствами C++:
A trivially copyable class is a class (defined with class, struct or union) that:
* uses the implicitly defined copy and move constructors, copy and move assignments, and destructor.
* has no virtual members.
* its base class and non-static data members (if any) are themselves also trivially copyable types.
Т.е. только неявные конструкторы и инициализаторы копирования и перемещения, а также неявный деструктор. Т.е. их код полностью под контролем языка. Без вирутальных, чтобы не было в объекте сложного поведения. Никакого наследования. Получается: сишный struct, базовый числовой тип или любой указатель.