Qualcuno sa di un'implementazione STL che consente di passare gli allocatori dinamici a un'istanza di un contenitore prima dell'utilizzo.Un'implementazione STL che utilizza un allocatore dinamico/a stato?
Lo scenario è che abbiamo un allocatore di memoria generale che gestisce un numero di pool di memoria e per ogni istanza di dire stl :: vector vogliamo allocare ogni istanza da un diverso pool di memoria.
Il problema con le implementazioni STL standard è che è possibile definire il pool di memoria solo su un tipo, vale a dire che tutti i vettori di tipo int dovrebbero allocarsi dallo stesso pool.
Ho già scambiato il nostro stl di default :: allocatore per uno che ha uno stato cioè la piscina che vogliamo destinare questo caso da, ma questo non funziona bene per dire stl :: lista in cui assegna le cose in il ctor predefinito.
Per ragioni correlate alla nostra libreria, non abbiamo un pool valido nel ctor per tutti gli oggetti e quindi vogliamo chiamare una funzione 'set memory pool' prima che gli utenti possano usare il contenitore stl.
Qualcuno si è imbattuto in un'implementazione che supporta questo genere di cose?
è che Microsoft STL che alloca il nodo principale della lista nel suo costruttore? L'implementazione STL ideale (leggi GNU) non userebbe alcuna allocazione di memoria durante la costruzione di contenitori vuoti. –
Sia Microsoft che la mia porta GNU (circa gcc 3.4.1) allocano entrambi il nodo principale nel ctor. STLPort d'altra parte non lo è e quindi questo supporta i miei requisiti vedere la mia risposta per l'intera fonte di esempio. – user176168