Boost logo

Boost Users :

Subject: [Boost-users] custom allocators Re:pool_alloc
From: B Hart (bhartsb_at_[hidden])
Date: 2010-03-17 14:10:26


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


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net