Usando unique_ptr l'oggetto diventa non copiabile; invece di push_back usa emplace_back.
Amaro C++, il gusto pieno dell'undefined behavior.
Regole del Forum