
Sorry, I forgot to give some links. To gain the source code, you can: 1. Download from Boost Vault<http://www.boost-consulting.com/vault/index.php?action=downloadfile&filename=boost-memory-0.1.00.zip&directory=Memory&>or http://code.google.com/p/stdext/downloads/list. 2. Svn checkout http://winx.googlecode.com/svn/tags/boost-memory-0.1.00/. 3. Svn checkout http://svn.boost.org/svn/boost/sandbox/memory/. On Wed, May 7, 2008 at 9:29 AM, shiwei xu <xushiweizh@gmail.com> wrote:
What is new?
1. Lock-free free list. 2. Provide both region allocators (boost::auto_alloc, boost::scoped_alloc) and general-purpose allocators (boost::gc_alloc<http://cpp.winxgui.com/boost-gc-alloc> ).
Highlights:
1. Allocating memory is very fast. 2. No memory leaks. No need to delete objects manually. Or forgetting to delete objects is allowed.
---
What is boost-memory?
It provides allocators named "GC Allocator". Note "GC Allocator" isn't GC.
GC Allocator is different from STL Allocator. The following is minimum specification for GC Allocator:
typedef void (*DestructorType)(void* data);
concept GCAllocator { // Allocate memory without given a cleanup function void* allocate(size_t cb);
// Allocate memory with a cleanup function void* allocate(size_t cb, DestructorType fn);
// Cleanup and deallocate all allocated memory by this GC Allocator void clear();
// Swap two GCAllocator instances void swap(GCAllocator& o); };
For more information about GC Allocator, refer to http://www.codeproject.com/KB/cpp/gc-allocator.aspx