Per un livello di modello indipendente dalla piattaforma, non ho dati gerarchici (stringhe, in realtà) che assomigliano a questo:Esiste un contenitore stl per i dati del modello gerarchico?
- Voce A
- SubItem Un
- SubItem B
- SubItem C
- SubSubItem A
- SubSubItem B
- SubItem D
- Voce B
- Voce C
Ora, all'interno di ogni "livello" (voce, SubItem, sottosottovoce, etc.) gli oggetti devono essere in ordine alfabetico.
Sembra una soluzione semplice creare una classe semplice con uno std :: Vector o std :: MultiMap ordinato per tracciare i suoi figli e un puntatore al suo padre. (e un oggetto radice). Avrei bisogno di scorrere in generale i bambini di ciascun articolo in una direzione futura.
Dopo la costruzione/l'ordinamento, non è necessario aggiungere o eliminare elementi. Generalmente un piccolo numero di articoli (centinaia).
Questo è per l'organizzazione del modello dei dati di supporto di un controllo in stile contorno.
Il rolling di una classe semplice sarebbe facile, ma questo è un modello molto comune - non esiste già un contenitore STL già pronto con questo comportamento?
grazie - questa è una classe elegante. È concesso in licenza GPLv2/GPLv3. Sto sviluppando software commerciale. Se NON modifico il codice in QUALSIASI MODO, sono obbligato a distribuire qualsiasi codice sorgente? – SMGreenfield
Hmmm Non sono affatto un esperto, ma sembra che tu sia [richiesto di fare proprio questo] (https://www.gnu.org/licenses/gpl-faq.html#GPLInProprietarySystem). Potresti essere in grado di utilizzare la [proprietà tree class di Boost] (http://www.boost.org/doc/libs/1_53_0/doc/html/property_tree.html). – Corey
@SMGreenfield - Sono giunto alla stessa conclusione che questa classe non è adatta per applicazioni commerciali. – MarkB