
AMDG B Hart wrote:
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
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
std::set rebinds the allocator to its internal node type. Thus, the allocator actually used by the set is using a different underlying pool than v. In Christ, Steven Watanabe