Boost logo

Boost :

Subject: Re: [boost] [afio] Formal review of Boost.AFIO
From: Gavin Lambert (gavinl_at_[hidden])
Date: 2015-08-31 20:36:49


On 1/09/2015 11:58, Thomas Heller wrote:
> Am 01.09.2015 1:33 vorm. schrieb "Gavin Lambert" <gavinl_at_[hidden]>:
>> On 1/09/2015 02:57, Thomas Heller wrote:
>>>>
>>>> You don't appear to understand well how ABI stable C++ is designed.
>>>> It requires imposing costs on everybody. Look at the PIMPL idiom.
>>>
>>> The PIMPL idiom has absolutely *nothing* to do with ABI stability.
>>
>> This is incorrect.
>>
>> PIMPL is one essential tool in maintaining public ABI stability, as it
>> allows the size of the private members of a type to become irrelevant to
>> the ABI size of the public type, and therefore permitted to vary without
>> breaking ABI compatibility.
>
> Just to be on the safe side here, we are talking about ABI compatibility
> between different versions of your library, right? Not between versions of
> your library linked against different runtimes? If yes, I stand corrected.

I believe that is what he was referring to, yes.

Granted there are lots of other things that can break ABI compatibility
as well; PIMPL helps mitigate some but not all of these.


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