layout banale vs. standard vs. POD

In parole povere, qual è la differenza tra tipi banali, tipi di layout standard e POD?

In particolare, voglio determinare se la new T è diversa dalla new T() per qualsiasi parametro di modello T Quali tratti del tipo is_trivial , is_standard_layout e is_pod dovrei scegliere?

(Come domanda a parte, è ansible implementare uno di questi caratteri tipografici senza la magia del compilatore?)