Boost logo

Boost :

Subject: Re: [boost] [afio] Formal review of Boost.AFIO
From: Agustín K-ballo Bergé (kaballo86_at_[hidden])
Date: 2015-09-01 09:18:27


On 8/31/2015 9:36 PM, Gavin Lambert wrote:
> 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.

ABI compatibility != ABI stability

When different versions of the library ship different symbols,
potentially via the use of inline namespaces, PIMPLes would not be needed.

Regards,

-- 
Agustín K-ballo Bergé.-
http://talesofcpp.fusionfenix.com

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