Boost logo

Boost Users :

From: Robert Ramey (ramey_at_[hidden])
Date: 2007-05-24 01:38:56


Sohail Somani wrote:

> I can develop a patch using boost once that I think would work.
> Locally,
> I'm going to have to do this anyway. Fortunately, my test has ceased
> to
> fail so I can't test it. To make it as "pay for what you use", one can
> #ifdef it out if they have special knowledge of the platform/compiler.
>

OK - you've convinced me there could be a problem.

I don't see a magic bullet solution. I think users need a couple of
options and a good explanation in the manual.

Options

a) don't use export - use explicit archive level registration instead.
b) some sort of explicit type registration. Users could just put
at after the main entry point and/or in the DLL loading phase
c) an automatic method using thread safety primitives - maybe
there are some small ones. Then you have the *#ifdef ...

The main obstacle is that requires a detailed understandable
explanation along with examples - a fair amount of work. Note
that this really applies to all extended type info systems so
the explanation is even more complex.

And once embarks upon this kind of effort, its interesting
to consider "finishing" extended type info with some missing
functionality like "construct from export name".

It would also be interesting to investigate if there is some
sort of lock free solution - At least on some compilers/
processors.

Just goes to show that no good idea goes unpunished.

SOOO I'm am positive about the idea. However, like most
good ideas, its a lot bigger than it first appears.

Having written this, it would seem that this is territory
well traveled by those working on a good Singleton
suitable for such a purpose.
(Amazingly, I don't even know if boost has such a thiing)
Ideally, I would just like to use that (assuming it doesn't
import everything on planet earth).

Robert Ramey


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net