Boost logo

Boost :

From: Johan Råde (rade_at_[hidden])
Date: 2008-03-05 15:58:51

I discussed Joaquin's solution with John, in a private mail.
John told me that Joaquin's solution is sound,
but depends on Boost.Interprocess.
It is a very clever solution.
And it is the first solution I have ever seen to this problem.

But to me it seems undesirable to have a light-weight library,
such as the floating point utilities, depend on a heavy-weight
library, such as Boost.Interprocess.

So I think that I'll refrain from adding manipulators to the facet
classes in the floating point utilities library.

It is a bit alarming that other Boost libraries have defined manipulators
using methods that will fail when passing iostream objects
between different DLL's on Windows.


> Hi John,
>> De: boost-bounces_at_[hidden] [boost-bounces_at_[hidden]] En nombre de John Maddock
>> [john_at_[hidden]]
>> Enviado el: domingo, 02 de marzo de 2008 14:12
>> Para: Boost mailing list; rade_at_[hidden]
>> Asunto: [boost] call_once, headers and shared libraries
>> This came up in the floating point utilities review without a good answer,
>> but it's a general problem that's in need of one, so let me try again....
>> Suppose we have some global data that needs to be initialised, the obvious
>> answer is to use boost::call_once to ensure that it gets initialised exactly
>> once. But... what happens if this is used in a header to initialise some
>> static variable inside a template instance, and that template is used in
>> more than one shared library/dll? At least on Windows I'm assuming that
>> each dll gets it's own instance of the template, and we end up with two
>> different versions of the static data with unpleasant results. Other than
>> "don't do that", does anyone have a design or usage pattern that sidesteps
>> this issue?
> Boost.Flyweight's intemodule_holder is designed to solve precisely this issue.
> More info on this component at:
> Component code:
> seems to be down at the moment. You can download a Boost.Flyweight
> package from
> Best,
> Joaquín M López Muñoz
> Telefónica, Investigación y Desarrollo
> _______________________________________________
> Unsubscribe & other changes:

Boost list run by bdawes at, gregod at, cpdaniel at, john at