Boost logo

Boost :

Subject: [boost] [general] Preventing compiler ABI clashes
From: Vicente J. Botet Escriba (vicente.botet_at_[hidden])
Date: 2012-05-12 09:00:28


Hi,

After some exchanges with Anthony, I have recently reread
http://www.boost.org/development/separate_compilation.html#abi and I
suspect that I'm not the single one that misunderstood the context of
this protocol.

As noted in

          "Counter Argument #2:

Prefix/suffix headers have a tendency to "spread" to other boost
libraries - for example if boost::shared_ptr<> forms part of your
class's ABI, then including prefix/suffix headers in your code will be
of no use unless shared_ptr.hpp also uses them. Authors of header-only
boost libraries may not be so keen on this solution - with some
justification - since they don't face the same problem.
"

even header-only libraries should use this protocol if other not-header
only libraries must conform to it.

Shouldn't every Boost library use this protocol? Or at least, allows the
user to enable it?

What about adding an attribute (ABI Clash Protected) to the library
documentation stating if a library supports this protocol?

Is there a way to check if a library supports this protocol completely?

Best,
Vicente


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