220 7595 <1520123.l8ZeHWciNG@tjmaciei-mobl2> article
Path: news.gmane.org!not-for-mail
From: Thiago Macieira <thiago@macieira.org>
Newsgroups: gmane.comp.lang.c++.isocpp.proposals
Subject: Re: Fixing the private method issue
Date: Mon, 04 Nov 2013 11:41:35 -0800
Lines: 33
Approved: news@gmane.org
Message-ID: <1520123.l8ZeHWciNG@tjmaciei-mobl2>
References: <d5cd9fa5-ac2f-465b-b92d-cf2a35607245@isocpp.org> <1552463.5qu4FCA00r@tjmaciei-mobl2> <CAOUeGfu4VBR4LoVKQW8vJ029WZZWt7gLqm=QeKShCZ_6bg=rpQ@mail.gmail.com>
Reply-To: std-proposals@isocpp.org
NNTP-Posting-Host: plane.gmane.org
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
X-Trace: ger.gmane.org 1383594095 24661 80.91.229.3 (4 Nov 2013 19:41:35 GMT)
X-Complaints-To: usenet@ger.gmane.org
NNTP-Posting-Date: Mon, 4 Nov 2013 19:41:35 +0000 (UTC)
To: std-proposals@isocpp.org
Original-X-From: std-proposals+bncBCB4TK757YBRB47Q36JQKGQEPXALFTA@isocpp.org Mon Nov 04 20:41:41 2013
Return-path: <std-proposals+bncBCB4TK757YBRB47Q36JQKGQEPXALFTA@isocpp.org>
Envelope-to: gclcip-std-proposals@m.gmane.org
Original-Received: from mail-la0-f69.google.com ([209.85.215.69])
	by plane.gmane.org with esmtp (Exim 4.69)
	(envelope-from <std-proposals+bncBCB4TK757YBRB47Q36JQKGQEPXALFTA@isocpp.org>)
	id 1VdQ1t-0004xN-JN
	for gclcip-std-proposals@m.gmane.org; Mon, 04 Nov 2013 20:41:41 +0100
Original-Received: by mail-la0-f69.google.com with SMTP id n7sf3753863lam.4
        for <gclcip-std-proposals@m.gmane.org>; Mon, 04 Nov 2013 11:41:41 -0800 (PST)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20130820;
        h=x-gm-message-state:from:to:subject:date:message-id:user-agent
         :in-reply-to:references:mime-version:x-original-sender
         :x-original-authentication-results:reply-to:precedence:mailing-list
         :list-id:list-post:list-help:list-archive:list-subscribe
         :list-unsubscribe:content-type;
        bh=r5wRvcsH7qZNs0Qz12ssQEIFKd1IeBmE4mhtp1GlPuw=;
        b=ce7L+LzfozEkHddkfqWAPwDf148sQ9lBnHTvJJ5I5KWHKQ8S6TxBO161ii+LwmBoJX
         qVGSfJazpEBtul1oIgJayspCrLKtElCGsMlBsBxPgZKI8bO/EHthTebKV7KXGQPBxTYJ
         PlQnXjPDthuGag49KGYEdtsDuKHyOzMquvaIPcaihmjK2h8C8khgDn8KL1X7Bc22Op+/
         /rHk7ljKCG/e7WMbnmkJ8MN9Xy7sN9Ymxuqw9gebryJrTZokcG9VJHKPWz79AoI2UmuX
         U5WuiBzqdudGhb1PrqNCHigfWcU3SXigBs/hY4wZPXIlSysIQj4rA0u4pVrzZwuybFYn
         xI+A==
X-Gm-Message-State: ALoCoQnPJCRAaRg+B9gexbIc2E3R8wdGQwfsBdrdM/uZ1cOb5+u95cUoKcjdfK3xdNHH5iwzQIpD
X-Received: by 10.14.182.200 with SMTP id o48mr2830593eem.7.1383594101178;
        Mon, 04 Nov 2013 11:41:41 -0800 (PST)
X-BeenThere: std-proposals@isocpp.org
Original-Received: by 10.181.11.230 with SMTP id el6ls503488wid.44.canary; Mon, 04 Nov
 2013 11:41:39 -0800 (PST)
X-Received: by 10.14.45.70 with SMTP id o46mr20099624eeb.19.1383594099212;
        Mon, 04 Nov 2013 11:41:39 -0800 (PST)
Original-Received: from gondolin.macieira.info (gondolin.macieira.info. [2a01:4f8:d13:f81:21c:14ff:fe01:12a3])
        by mx.google.com with ESMTP id b42si11696973eem.162.2013.11.04.11.41.37
        for <std-proposals@isocpp.org>;
        Mon, 04 Nov 2013 11:41:37 -0800 (PST)
Received-SPF: pass (google.com: domain of thiago@macieira.org designates 2a01:4f8:d13:f81:21c:14ff:fe01:12a3 as permitted sender) client-ip=2a01:4f8:d13:f81:21c:14ff:fe01:12a3;
Original-Received: from tjmaciei-mobl2.localnet (unknown [IPv6:2a01:4f8:d13:f81:21c:14ff:fe01:12a3])
	by gondolin.macieira.info (Postfix) with ESMTPSA id 7CB6E11B859
	for <std-proposals@isocpp.org>; Mon,  4 Nov 2013 11:41:37 -0800 (PST)
User-Agent: KMail/4.12 pre (Linux/3.9.10-100+i915fix.fc17.x86_64; KDE/4.11.60; x86_64; git-8054221; 2013-08-01)
In-Reply-To: <CAOUeGfu4VBR4LoVKQW8vJ029WZZWt7gLqm=QeKShCZ_6bg=rpQ@mail.gmail.com>
X-Original-Sender: thiago@macieira.org
X-Original-Authentication-Results: mx.google.com;       spf=pass (google.com:
 domain of thiago@macieira.org designates 2a01:4f8:d13:f81:21c:14ff:fe01:12a3
 as permitted sender) smtp.mail=thiago@macieira.org
Precedence: list
Mailing-list: list std-proposals@isocpp.org; contact std-proposals+owners@isocpp.org
List-ID: <std-proposals.isocpp.org>
X-Google-Group-Id: 399137483710
List-Post: <http://groups.google.com/a/isocpp.org/group/std-proposals/post>, <mailto:std-proposals@isocpp.org>
List-Help: <http://support.google.com/a/isocpp.org/bin/topic.py?topic=25838>, <mailto:std-proposals+help@isocpp.org>
List-Archive: <http://groups.google.com/a/isocpp.org/group/std-proposals/>
List-Subscribe: <http://groups.google.com/a/isocpp.org/group/std-proposals/subscribe>,
 <mailto:std-proposals+subscribe@isocpp.org>
List-Unsubscribe: <http://groups.google.com/a/isocpp.org/group/std-proposals/subscribe>,
 <mailto:googlegroups-manage+399137483710+unsubscribe@googlegroups.com>
Xref: news.gmane.org gmane.comp.lang.c++.isocpp.proposals:7595
Archived-At: <http://permalink.gmane.org/gmane.comp.lang.c++.isocpp.proposals/7595>

On segunda-feira, 4 de novembro de 2013 19:14:48, xavi wrote:
> As long as you store the pimpl pointer in a local variable (so that the
> compiler knows that the pointer doesn't change no matter what you call),
> the compiler can generate exactly the same code for accessing members of
> pimpl as it would for accessing members of this (which is a pointer, after
> all). As for the private class being exported, that's the kind of details
> that the standard usually leaves to implementations, and a good compiler
> with link-time optimization would be able to remove these symbols anyway.

It's the kind of detail that the standard can make easier for the compilers, 
so the compilers can generate better code under more use-cases.

Link-time optimisation isn't enough in some cases, isn't possible in some 
others, and isn't state-of-the-art yet.

Maybe the solution will come with modules, when we can finally have a 
standardised syntax for "this method is called by other modules" versus "this 
method is never called externally"

-- 
Thiago Macieira - thiago (AT) macieira.info - thiago (AT) kde.org
   Software Architect - Intel Open Source Technology Center
      PGP/GPG: 0x6EF45358; fingerprint:
      E067 918B B660 DBD1 105C  966C 33F5 F005 6EF4 5358

-- 

--- 
You received this message because you are subscribed to the Google Groups "ISO C++ Standard - Future Proposals" group.
To unsubscribe from this group and stop receiving emails from it, send an email to std-proposals+unsubscribe@isocpp.org.
To post to this group, send email to std-proposals@isocpp.org.
Visit this group at http://groups.google.com/a/isocpp.org/group/std-proposals/.

.
