Boost logo

Boost Users :

Subject: [Boost-users] Boost BCP namespace renaming : dispelling the FUD ?
From: BernardH (gmane.comp.lib.boost.user_at_[hidden])
Date: 2011-07-19 08:43:05


Hi,

When implementing a library, one might want to neither require nor prevent the
library users to also use any version of Boost.

I believed that BCP used with namespace renaming would allow the use of
(namespace-renamed) Boost in the implementation of such a library without *any*
concern about conflict at link time and / or rub-time errors if the library user
chooses to also use another Boost version.

However, I have been reading that Boost brings some symbols that cannot be
renamed because they are out of any namespace, with "C" linkage[*].

This brings the following questions :

1) can a list all such names be found ?
2) To be *completely safe*, must I :
2.1) only avoid using those symbols in my library
2.2) avoid the boost libaries that provide such symbols
2.3) avoid boost libraries that depend on such symbols (how am I to find out
which ?)
2.4) avoid boost libraries that depend on the boost libraries providing such
symbols (easier to do than 2.3 with bcp, I believe).
2.5) Despair ! (i.e. forgo boost usage under such constraints).

Boost is a great set of libraries, I think that it is a pity that a legitimate
concern (not imposing a specific Boost version on users) would prevent it's use
for implementing libraries : please, help me dispel the Fear, Uncertainty and
Doubt over this use case !

Best Regards,

Bernard

[*]
http://stackoverflow.com/questions/2907882/using-concurrently-2-versions-of-boost


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