[general] Preventing compiler ABI clashes

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
participants (1)
-
Vicente J. Botet Escriba