Boost logo

Boost :

From: Ion Gaztañaga (igaztanaga_at_[hidden])
Date: 2006-04-29 13:14:36


Thorsten Ottosen(e)k dio:
> Ion Gaztañaga wrote:
>> The Associative Containers project can refer also to Shmem, since Shmem
>> has implemented the full ordered vector family (flat_map, flat_set,
>> flat_multimap and flat_multiset) for shared memory (these containers
>> work also with std::allocator).
>
> Please update the pagen then.

Done.

>> Another option is to take those containers out of Shmem (they have minor
>> dependencies with Shmem framework) and present them as general purpose
>> containers that also are useful for shared memory/memory mapped files.
>> Like boost::unordered_xxx family, I would like to have just one
>> container in Boost without duplicating it in other libraries.
>
> But doesn't Shmem (why is this not called Boost.Shared Memory?)
> duplicate all containers?

It's called Boost.Interprocess now, but the I have still a lot of work
to do to publish the first version. It duplicates all the containers but
normal STL-like containers can be made compatible with shared memory
only using the allocator::pointer typedef internally and using
allocator::contruct/destroy to create elements. The last version of
boost::unordered_xxx is compatible with shared memory.

>> The bad
>> news is that Shmem flat_xxx containers are not documented, but it's not
>> difficult to do it since they have the same interface as std::map/set
>> family. The hard part is the portability to non-conforming compilers
>> like VC6, but I think there are utilities in Boost to workaround these
>> problems.
>
> It's not good use of student time to do porting work. People need to
> move away from ancient compilers.

I agree.

Regards,

Ion


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk