220 7591 <1552463.5qu4FCA00r@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 09:20:25 -0800
Lines: 27
Approved: news@gmane.org
Message-ID: <1552463.5qu4FCA00r@tjmaciei-mobl2>
References: <d5cd9fa5-ac2f-465b-b92d-cf2a35607245@isocpp.org> <CAA7U3HOa+Nf8mXZGpUKJxi5hZ5=gEE-Q5aeRridTpNm1Gpu0rQ@mail.gmail.com> <CAOUeGfuhdU5X4ZWELe-Zx1q3sk3tbCwdvnsLEY0QjVnkiPBbhg@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 1383585631 11226 80.91.229.3 (4 Nov 2013 17:20:31 GMT)
X-Complaints-To: usenet@ger.gmane.org
NNTP-Posting-Date: Mon, 4 Nov 2013 17:20:31 +0000 (UTC)
To: std-proposals@isocpp.org
Original-X-From: std-proposals+bncBCB4TK757YBRBX5O36JQKGQEIOK32WA@isocpp.org Mon Nov 04 18:20:38 2013
Return-path: <std-proposals+bncBCB4TK757YBRBX5O36JQKGQEIOK32WA@isocpp.org>
Envelope-to: gclcip-std-proposals@m.gmane.org
Original-Received: from mail-lb0-f198.google.com ([209.85.217.198])
	by plane.gmane.org with esmtp (Exim 4.69)
	(envelope-from <std-proposals+bncBCB4TK757YBRBX5O36JQKGQEIOK32WA@isocpp.org>)
	id 1VdNpI-0003YB-RT
	for gclcip-std-proposals@m.gmane.org; Mon, 04 Nov 2013 18:20:32 +0100
Original-Received: by mail-lb0-f198.google.com with SMTP id w6sf9995644lbh.1
        for <gclcip-std-proposals@m.gmane.org>; Mon, 04 Nov 2013 09:20:32 -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=gsnDJMt5NSLpw7ZPaoWgFHvEydRaPCzBzyjUcBpHiPQ=;
        b=JGrOCLkmnsjgAvpH8DyK/xN3xk7qCqCc4hlHOb/zSyef0QiHy4ujchmsLR0OgBE3pA
         SeBUDRDDqNA1+amfWJ4LZzL+9h9ALmrN11vVfAROmT3DxApIRjaDpbLYLOxnLla5EyGN
         0ALZ5sBMDNOp1rXVwLPAjE2kfy5TExDxPjpulOVDwYVyTC9Bttw/J2otpJE0etzOLPuF
         CIXAQQiJ8E0Uxrl/HcBqZlPIsg3l2h7Z7BJdJX0DGc1fTsscFElXPP0QZeERigs64YLT
         nSQrP7T4EJ2cGSytCTBpxOBaAF3TFFuj3hnAtXHSIgNxGXjVIZmTaPk12Olnk/K7H98R
         9BtA==
X-Gm-Message-State: ALoCoQmdr1nDpgT3LRNJKC86igVDG6i/kPZbD7hbdX3KbjvMka3PrNnC22nl50JflXwTwG+mgreQ
X-Received: by 10.112.202.169 with SMTP id kj9mr6623682lbc.6.1383585632435;
        Mon, 04 Nov 2013 09:20:32 -0800 (PST)
X-BeenThere: std-proposals@isocpp.org
Original-Received: by 10.180.231.6 with SMTP id tc6ls515843wic.40.gmail; Mon, 04 Nov
 2013 09:20:31 -0800 (PST)
X-Received: by 10.14.42.6 with SMTP id i6mr5847832eeb.65.1383585631636;
        Mon, 04 Nov 2013 09:20:31 -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 h48si11255561eey.16.2013.11.04.09.20.27
        for <std-proposals@isocpp.org>;
        Mon, 04 Nov 2013 09:20:27 -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 75E4D12C018
	for <std-proposals@isocpp.org>; Mon,  4 Nov 2013 09:20:27 -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: <CAOUeGfuhdU5X4ZWELe-Zx1q3sk3tbCwdvnsLEY0QjVnkiPBbhg@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:7591
Archived-At: <http://permalink.gmane.org/gmane.comp.lang.c++.isocpp.proposals/7591>

On segunda-feira, 4 de novembro de 2013 18:11:01, xavi wrote:
> Allowing the declaration of private member data outside of the header would
> also make inheritance or composition with this class impossible, so any use
> of this class would need to be through a pointer. In this case, what would
> be the advantage of this with respect to using the pimpl idiom?

It would simplify the code for the implementation. A good pimpl solution 
requires all public functions to be mirrored in the private so that you don't 
get a double indirection to the data (it also improves code generation because 
the private class isn't exported).

This would be basically a way for C++ place member functions in opaque types.

-- 
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/.

.
