Boost logo

Boost :

From: Ion Gaztañaga (ion_g_m_at_[hidden])
Date: 2004-11-22 12:33:54


Hello to all,

  As promised two weeks ago, I have a first rough version of shared memory
library in Yahoo Files. I've renamed and reenginered the classes from my STL
in shared memory article and boostified almost all parts. The file is in:

http://groups.yahoo.com/group/boost/files/boost.shmem.zip

  Shared memory mutex interface is taken from Boost Threads and scoped locks
are needed to lock the mutexes. Since thread scoped locks can't be used from
single threaded processes due to header checks, I've cloned them in Boost
Shmem, but I would want to reuse thread locks if this library goes on. The
offset smart pointer takes much of its interface from boost smart pointers.
Boost config is used to build the different dll versions with auto-link and
some boost utilities are used (noncopyable for example). This version uses
templatized shared memory front-end so that a new shared memory management
allocation can be used without changing existing code. In general, I've
tried to all that I think it was necessary to adapt to boost, although
surely there are many flaws here.

  The boost shmem jamfile builds for VC-7_1 in WinXP and gcc 3.4.1 in
Mandrake 10.1. I've put several test and example files, although my poor jam
knowledge makes that tests can only be build for windows using bjam (i don't
know how to pass -l link specific options when building in linux to link
with librt.a, sorry). Under proj directory there are some VC .NET IDE files
to build the library, examples and tests and also a Makefile to build all
under linux).

  I've also documented almost all files using doxygen style and the
reference can be build using bjam --v2. If this library goes on, I plan to
build a complete boostbook, since I've been reading all the documentation
from boost utils. For now, there is a single page help as a
tutorial/internal explanation.

  I would to know if those people that saw the library idea as interesting
need any more features for this first version. Francis Andre needs some more
sofisticated options and I would like to work with him for a more elaborated
version if this library is accepted for boost. Francis suggested
compatibility with boost.serialization and I would need some help with that.

  For this first and surely far from acceptable version I would like receive
any comment you like regarding dessign, interface, etc... Help with bjam for
building all correctly will be appreciated. I've put some attention in
exception handling but surely there will be some problems due to my lack of
experience in this area.

  If anyone wants to colaborate in any aspect of this library, please let me
know, I'm totally open for this. Regards,

Ion Gaztañaga


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