In pratica ho la seguente situazione:
+------------------+
| |
| Input object |
| |
+--+------------------+--+
unique_ptr<Subobject 1> |unique_ptr<base class of Subobject 2>
| |
| |
| |
| |
+--------v--------+ +---------v-------+
| | | |
| Subobject 1 | | Subobject 2 |
| | | |
+-----------------+ +-----------------+
Ho una classe che accetta questo oggetto di input, esegue alcuni calcoli e genera un nuovo oggetto di output, che punta in qualche punto indietro all'oggetto di input originale. Ho bisogno di oggetti di input separati per ogni calcolo.
Ora vorrei essere in grado di mettere in coda più calcoli con oggetti di input molto simili, cioè con Subobject 1 o 2 modificati per un oggetto diverso in modo che un essere umano sia in grado di confrontare i risultati e trovare la soluzione migliore. Poiché gli oggetti sono creati in base ai dati di input XML, ogni volta che ho trovato un elenco di Suboggetti invece di uno solo volevo copiare l'oggetto di livello superiore e scambiare solo i valori che dovevano essere scambiati, ma poi mi sono reso conto che unique_ptr
impedisce la copia.
Potrei aver progettato me stesso in un angolo qui, ma c'è un modo per facilitare questo metodo o sono bloccato a ricostruire l'intero oggetto manualmente per ogni permutazione?