220 17580 <CANh8DEmwAGsbFiQDoF4K6YGUuMmzVG50woS+fKSU+RfrNoizjw@mail.gmail.com> article
Path: news.gmane.org!not-for-mail
From: "'Matt Calabrese' via ISO C++ Standard - Future Proposals" <std-proposals@isocpp.org>
Newsgroups: gmane.comp.lang.c++.isocpp.proposals
Subject: Re: explicit[ly] require initialization of attributes
Date: Wed, 29 Apr 2015 13:16:49 -0700
Lines: 80
Approved: news@gmane.org
Message-ID: <CANh8DEmwAGsbFiQDoF4K6YGUuMmzVG50woS+fKSU+RfrNoizjw@mail.gmail.com>
References: <CAFdMc-04EUwZZ39PMDZbGj73q4D_3OnFT7UpnJFC9sc+B9BgCA@mail.gmail.com>
	<CANh8DEmQEUM3BHLtWN1X94V+Ydvpm40bm=MHgE-kZ5tWEWh=CQ@mail.gmail.com>
	<CAFk2RUaVpUJ+b3GybNA7dXXYZGrehLZF3Bz5uK+bVHwAjhhPsA@mail.gmail.com>
Reply-To: std-proposals@isocpp.org
NNTP-Posting-Host: plane.gmane.org
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary=001a113cb374c12c1f0514e2a86f
X-Trace: ger.gmane.org 1430338614 18957 80.91.229.3 (29 Apr 2015 20:16:54 GMT)
X-Complaints-To: usenet@ger.gmane.org
NNTP-Posting-Date: Wed, 29 Apr 2015 20:16:54 +0000 (UTC)
To: std-proposals@isocpp.org
Original-X-From: std-proposals+bncBCGNLO5F34OBBMXYQSVAKGQELFMZ3UA@isocpp.org Wed Apr 29 22:16:54 2015
Return-path: <std-proposals+bncBCGNLO5F34OBBMXYQSVAKGQELFMZ3UA@isocpp.org>
Envelope-to: gclcip-std-proposals@m.gmane.org
Original-Received: from mail-ig0-f197.google.com ([209.85.213.197])
	by plane.gmane.org with esmtp (Exim 4.69)
	(envelope-from <std-proposals+bncBCGNLO5F34OBBMXYQSVAKGQELFMZ3UA@isocpp.org>)
	id 1YnYPc-0000F1-Tb
	for gclcip-std-proposals@m.gmane.org; Wed, 29 Apr 2015 22:16:53 +0200
Original-Received: by igblo3 with SMTP id lo3sf89408726igb.3
        for <gclcip-std-proposals@m.gmane.org>; Wed, 29 Apr 2015 13:16:50 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20130820;
        h=x-gm-message-state:mime-version:in-reply-to:references:date
         :message-id:subject:from:to:content-type:x-original-sender
         :x-original-authentication-results:reply-to:precedence:mailing-list
         :list-id:list-post:list-help:list-archive:list-subscribe
         :list-unsubscribe;
        bh=xGkx0DT7Cj8hUJr4Va8PGk3HyVsGS1Y0ZH5M8yn/y10=;
        b=GUoKpGFFWrNlukaah2mVog6JlYu8vwUqlTlIEf6MYzdmgGje3a6ruVBxpx1QlzCokB
         5QGRKIxN8Knd5kaU64wcPiKGFPCBVcuRgxcCl6BFU2dBkmPe6nNp4HDUajl7j7zXkkon
         1fybdKqv/1MZeazVXxpRAc43hpO54xmCytpwWD7x5rX9UL22Gp9zL39i267z15HmEjqi
         6bxzbKS6+SEOXz1auQyRkmy1ZhNjyvHRB6VVqXGjxopnulb3UZb4UyGfJpQwZsRQtHMB
         F5YybQwm3VyaDt+4uZcupTBoemWh3U4f/78f0xk282YHaSMoMQzus97fm0ua+Hq5hNMj
         PlvQ==
X-Gm-Message-State: ALoCoQmmj4OeqpqVcAxHGDEo4wHd+wk3pFhi3HORyQw3R2SHnMYrZ1BaerTzmDG41+tDpHDdJ690
X-Received: by 10.182.245.133 with SMTP id xo5mr1271109obc.19.1430338610707;
        Wed, 29 Apr 2015 13:16:50 -0700 (PDT)
X-BeenThere: std-proposals@isocpp.org
Original-Received: by 10.182.39.166 with SMTP id q6ls425521obk.97.gmail; Wed, 29 Apr
 2015 13:16:50 -0700 (PDT)
X-Received: by 10.182.243.228 with SMTP id xb4mr695486obc.86.1430338610081;
        Wed, 29 Apr 2015 13:16:50 -0700 (PDT)
Original-Received: from mail-ob0-x22c.google.com (mail-ob0-x22c.google.com. [2607:f8b0:4003:c01::22c])
        by mx.google.com with ESMTPS id ge3si77269obb.10.2015.04.29.13.16.50
        for <std-proposals@isocpp.org>
        (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);
        Wed, 29 Apr 2015 13:16:50 -0700 (PDT)
Received-SPF: pass (google.com: domain of calabrese@google.com designates 2607:f8b0:4003:c01::22c as permitted sender) client-ip=2607:f8b0:4003:c01::22c;
Original-Received: by oblw8 with SMTP id w8so29137696obl.0
        for <std-proposals@isocpp.org>; Wed, 29 Apr 2015 13:16:50 -0700 (PDT)
X-Received: by 10.202.49.77 with SMTP id x74mr673883oix.86.1430338609942; Wed,
 29 Apr 2015 13:16:49 -0700 (PDT)
Original-Received: by 10.60.166.78 with HTTP; Wed, 29 Apr 2015 13:16:49 -0700 (PDT)
In-Reply-To: <CAFk2RUaVpUJ+b3GybNA7dXXYZGrehLZF3Bz5uK+bVHwAjhhPsA@mail.gmail.com>
X-Original-Sender: calabrese@google.com
X-Original-Authentication-Results: mx.google.com;       spf=pass (google.com:
 domain of calabrese@google.com designates 2607:f8b0:4003:c01::22c as
 permitted sender) smtp.mail=calabrese@google.com;       dkim=pass
 header.i=@google.com;       dmarc=pass (p=REJECT dis=NONE) header.from=google.com
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: <mailto:googlegroups-manage+399137483710+unsubscribe@googlegroups.com>,
 <http://groups.google.com/a/isocpp.org/group/std-proposals/subscribe>
X-Original-From: Matt Calabrese <calabrese@google.com>
Xref: news.gmane.org gmane.comp.lang.c++.isocpp.proposals:17580
Archived-At: <http://permalink.gmane.org/gmane.comp.lang.c++.isocpp.proposals/17580>

--001a113cb374c12c1f0514e2a86f
Content-Type: text/plain; charset=UTF-8

On Wed, Apr 29, 2015 at 1:14 PM, Ville Voutilainen <
ville.voutilainen@gmail.com> wrote:

> On 29 April 2015 at 23:09, 'Matt Calabrese' via ISO C++ Standard -
> Future Proposals <std-proposals@isocpp.org> wrote:
> > I'm not a fan of the template approach because it changes the type of the
> > datamember and requires indirect access through the new datamember type
> > (i.e. via a get() accessor), all simply because we want the member to be
>
> Thus far I see no reason not to make the wrappers implicitly
> convertible to their
> underlying types. You would need an explicit conversion expression if
> you need to deal
> with type deduction, though.


Please let's not do this. It also doesn't really solve the problem since
that won't allow you to directly access the type's datamembers or
functions. For that you'd at least need something like an overloaded
operator->, or you'd have to go through .get() or the public datamember.

-- 

--- 
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/.

--001a113cb374c12c1f0514e2a86f
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div class=3D"gmail_extra"><div class=3D"gmail_quote">On W=
ed, Apr 29, 2015 at 1:14 PM, Ville Voutilainen <span dir=3D"ltr">&lt;<a hre=
f=3D"mailto:ville.voutilainen@gmail.com" target=3D"_blank">ville.voutilaine=
n@gmail.com</a>&gt;</span> wrote:<br><blockquote class=3D"gmail_quote" styl=
e=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On 29 A=
pril 2015 at 23:09, &#39;Matt Calabrese&#39; via ISO C++ Standard -<br>
<span class=3D"">Future Proposals &lt;<a href=3D"mailto:std-proposals@isocp=
p.org">std-proposals@isocpp.org</a>&gt; wrote:<br>
&gt; I&#39;m not a fan of the template approach because it changes the type=
 of the<br>
&gt; datamember and requires indirect access through the new datamember typ=
e<br>
&gt; (i.e. via a get() accessor), all simply because we want the member to =
be<br>
<br>
</span>Thus far I see no reason not to make the wrappers implicitly<br>
convertible to their<br>
underlying types. You would need an explicit conversion expression if<br>
you need to deal<br>
with type deduction, though.</blockquote><div><br></div><div>Please let&#39=
;s not do this. It also doesn&#39;t really solve the problem since that won=
&#39;t allow you to directly access the type&#39;s datamembers or functions=
.. For that you&#39;d at least need something like an overloaded operator-&g=
t;, or you&#39;d have to go through .get() or the public datamember.=C2=A0<=
/div></div></div></div>

<p></p>

-- <br />
<br />
--- <br />
You received this message because you are subscribed to the Google Groups &=
quot;ISO C++ Standard - Future Proposals&quot; group.<br />
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to <a href=3D"mailto:std-proposals+unsubscribe@isocpp.org">std-proposa=
ls+unsubscribe@isocpp.org</a>.<br />
To post to this group, send email to <a href=3D"mailto:std-proposals@isocpp=
..org">std-proposals@isocpp.org</a>.<br />
Visit this group at <a href=3D"http://groups.google.com/a/isocpp.org/group/=
std-proposals/">http://groups.google.com/a/isocpp.org/group/std-proposals/<=
/a>.<br />

--001a113cb374c12c1f0514e2a86f--

.
