Penso che una libreria C++ sia "elegante" se il numero di file di intestazione che devono essere inclusi è il meno possibile.Esiste un'elegante implementazione C++ di allocatore a dimensione fissa?
So che esistono allocatori di dimensioni fisse esistenti come Loki::SmallObjectAllocator
e boost::pool
. Sebbene entrambi siano eccellenti, penso che non siano eleganti e non facili da integrare perfettamente nei progetti.
La maggior parte delle volte, ho solo bisogno di una piccola parte della libreria boost, ma devo installare l'intera libreria sul mio computer. Ad esempio, se desidero utilizzare boost :: pool, spero di includere solo il file di intestazione ONEboost_pool.h
e il lavoro è stato completato. Perché penso che un allocatore di dimensioni fisse non dovrebbe essere così dipendente da troppi altri componenti. A mio parere, il codice ideale dovrebbe essere simile al seguente:
#include <boost_pool.h>
int main()
{
boost::pool<int> p;
int* v = p.allocate();
}
Esiste una tale libreria?
Hai guardato [bcp] (http://www.boost.org/doc/libs/1_52_0/tools/bcp/doc/html/index.html)? Non esattamente la stessa cosa, ma può essere facilmente utilizzato come punto di partenza per spostare tutto in un'unica intestazione. –
"Spero di includere solo un file di intestazione' boost_pool.h' "- quindi, fai il lavoro una volta e metti tutte le cose correlate lì dentro? Sul serio. – Xeo
Grazie. Ho visto bcp solo ora, ma trovarlo non è ancora facile da usare. Penso che la spinta abbia troppe dipendenze non necessarie. – xmllmx