
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On Tuesday 09 June 2009, Ross Levine wrote:
To summarize, std::vector<T, monotonic_allocator<T> > won't work if each vector gets a specific buffer, because another vector could possibly use that buffer instead! Thus a custom version of each container is REQUIRED unless there's a boost.test macro BOOST_STL_ALLOCATOR_EQUIVALENCE or something like that.
It seems like you could make a stack-backed vector work in c++03 by building it on top of something like std::vector<object_wrapper<T>, monotonic_allocator<T> > where object_wrapper<T> contains the T value plus a pointer to an object that holds the needed per-container allocator state. That gets you around the stateless allocator problem at the expense of having to store an extra pointer for each object in your container. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (GNU/Linux) iEYEARECAAYFAkourLEACgkQ5vihyNWuA4UCCQCgtSRCUzbA3ufAJKEBdyHSRYN2 t6wAoNvX1FgdVCA5Myk03m0HTX9LbIMl =gk43 -----END PGP SIGNATURE-----