Hi everyone!
I'd like to introduce a small project of mine named "pector", which is yet another std::vector container implementation. It is available on github at this URL :
https://github.com/aguinet/pector.
The main idea is to add some features that aren't available in the standard implmentations, due to standard and/or implementation limitations. Among them, we can notice :
* ability to use an enhanced allocator inteface, which can for instance allows for the use of the C "realloc" API (for POD types). This can lead to a ~x3 gain when pushing POD values on-the-fly into a container
* ability to specify the "size type" used to store the container object count and allocated size. This can reduce the overall size of the container object, especially on 64 bit systems (where there are usually 24-bytes wide).
* customizable growing strategy : it is well known than, when a vector container automatically grows, it multiplies its capacity by a given factor. This strategy can be modified by the user for some corner cases !
Usage instructions and motivations are detailed in the README inside the github project. Basically, a simple substition of std::vector by pt::pector will already do the job.
Feel free to try it and send remarks/patches/whatever :)
--
Adrien.