This is the mail archive of the libstdc++@gcc.gnu.org mailing list for the libstdc++ project.
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
| Other format: | [Raw text] | |
Matt indicated:
>3. Remove _Alloc_traits, and remove all support for the old
>pre-standard SGI allocator interface.
As part of this, I'm thinking that the /ext/allocator files should just
be written as allocators, or be derived from std::allocator. Thoughts?
It would be nice for the extension allocators that are shipped with v3
to be correct, and in working order.
As it stands, the extension classes like __mt_alloc, etc were used as
underlying allocator classes. I think a better way to go might be just
to do them as full-fledged allocators.
#include <list>
#include <ext/mt_allocator.h>
#include <ext/new_allocator.h>
#include <ext/malloc_allocator.h>
#include <pthread.h>
unsigned n = 10000000;
void* do_inserts(void * args_)
{
//typedef __gnu_cxx::__mt_alloc<0> allocator_type;
//typedef __gnu_cxx::__malloc_alloc<0> allocator_type;
typedef __gnu_cxx::new_allocator<unsigned int> allocator_type;
typedef std::list<unsigned int, allocator_type> list_type;
list_type l;
for (unsigned int i = 0; i < n; ++i)
l.push_back(i);
}
Here's a workup, not using derivation, just to stimulate conversation.
-benjamin
Attachment:
p.20031218-2.patch
Description: Text document
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |