
I am not understanding the use of pool with std::set. i.e. the release_memory() function referenced in last example shown on: http://www.boost.org/doc/libs/1_42_0/libs/pool/doc/interfaces.html seems to do nothing. I call GetProcessMemoryInfo() and don't see any change after the set has gone out of scope. maybe someone could relate what happens to the allocated memory when set goes out of scope and release_memory() isn't called versus what happens when set goes out of scope and release_memory() is called. I want to do something like: 1.std::set<unsigned int, std::less<unsigned int>, boost::pool_allocator<unsigned int>> v; 2. for(int i=0; i<(K); i++) { v.insert(i); } 3. use v 4. release_memory() on v //dump all set elements in one action. Note, without custom allocator this is very slow for large sets. 5. repeat 1-4 with a new set