220 13499 <3cc36209-3837-4b00-a976-123e01d25a72@isocpp.org> article
Path: news.gmane.org!not-for-mail
From: Tomasz <tomaszkam@gmail.com>
Newsgroups: gmane.comp.lang.c++.isocpp.proposals
Subject: Re: Re: Generalizing the equivalence of auto and
 template type deduction
Date: Thu, 2 Oct 2014 02:29:23 -0700 (PDT)
Lines: 103
Approved: news@gmane.org
Message-ID: <3cc36209-3837-4b00-a976-123e01d25a72@isocpp.org>
References: <b34d67b1-53fb-449e-be78-579bd0e48f31@isocpp.org>
 <0bf78c13-6ee2-4a9a-9de5-5ce2dc0e5a66@isocpp.org>
 <CAFk2RUaXJHigi-bC2934TFvTkrfchBFhXc347_Y1GPMzuPDuRw@mail.gmail.com>
Reply-To: std-proposals@isocpp.org
NNTP-Posting-Host: plane.gmane.org
Mime-Version: 1.0
Content-Type: multipart/alternative; 
	boundary="----=_Part_4566_65926435.1412242163136"
X-Trace: ger.gmane.org 1412242175 27883 80.91.229.3 (2 Oct 2014 09:29:35 GMT)
X-Complaints-To: usenet@ger.gmane.org
NNTP-Posting-Date: Thu, 2 Oct 2014 09:29:35 +0000 (UTC)
To: std-proposals@isocpp.org
Original-X-From: std-proposals+bncBDNPVXXG6IGBB45VWSQQKGQECELOSJA@isocpp.org Thu Oct 02 11:29:26 2014
Return-path: <std-proposals+bncBDNPVXXG6IGBB45VWSQQKGQECELOSJA@isocpp.org>
Envelope-to: gclcip-std-proposals@m.gmane.org
Original-Received: from mail-yk0-f197.google.com ([209.85.160.197])
	by plane.gmane.org with esmtp (Exim 4.69)
	(envelope-from <std-proposals+bncBDNPVXXG6IGBB45VWSQQKGQECELOSJA@isocpp.org>)
	id 1XZchR-0005QA-Gp
	for gclcip-std-proposals@m.gmane.org; Thu, 02 Oct 2014 11:29:25 +0200
Original-Received: by mail-yk0-f197.google.com with SMTP id 20sf1017777yks.8
        for <gclcip-std-proposals@m.gmane.org>; Thu, 02 Oct 2014 02:29:24 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20120113;
        h=date:from:to:message-id:in-reply-to:references:subject:mime-version
         :x-original-sender:reply-to:precedence:mailing-list:list-id
         :list-post:list-help:list-archive:list-subscribe:list-unsubscribe
         :content-type;
        bh=BIrdsft1I43L6fEq6TWPDXTNFHBelhFfuOTmbutyu/I=;
        b=iCkvz255jvFIWit2ZmRuPYd7Hx9gla8mQg1+xKBJm1/RqyOASlJuAgE4ozAPSgN8kH
         zUquxxdYQQmPhkQrpP+o8jmCtps3Z7pVqsm6lUusno/iZHuSBhP9pcqeaIxNt0wEt2sp
         x/jUWpnkkchn1ze/488t0DAzLloxvaJLyhIOWdfFfdWaZST2R8HBHt7GnJav19tfHD6b
         f6I0L+DqyxlDa2vqgVEVAszvOa8bkhcI23GvSPehW78mpm8EDDCYDJlVaV2J7is7aC3F
         ze9Rkfo1r8tfxrcBeFm4JzAKz9mnSyI7cX4kRWJTwwuT4BEoS1N6UTqu5eK1Cvr4R9HX
         fuiQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20130820;
        h=x-gm-message-state:date:from:to:message-id:in-reply-to:references
         :subject:mime-version:x-original-sender:reply-to:precedence
         :mailing-list:list-id:list-post:list-help:list-archive
         :list-subscribe:list-unsubscribe:content-type;
        bh=BIrdsft1I43L6fEq6TWPDXTNFHBelhFfuOTmbutyu/I=;
        b=Ges8SrXlavKzOk0XHvrryrHmyxmejsMWsHkH5oMqYr3HcwKQ3Y1K/kIFAN8Smnj7RF
         SIh9JOo5q5BDshK9+g4MildFQDPU/rJ/KbJhPGrwFDTj0bpvr6VHydKt0teegIJulWFb
         RVvCZWISrYKIik/HMJqGZl8KBbQo++S5n7Ol3ddJnNl7ViYZw8/+ZAwD2XmySXVK30Hk
         sDZqrBvDFVq/lV1PCImpJ6jRuzMT+ntjeawc2Mu5/BCAZVKeB40hpdDcWC74eRd4vpDw
         ZelSNI66teYxaTFtZYrIs6GL4++yDqY1UjbDnFaU7pI80Bw5V2ZkqkX45NNCXtnFjL6q
         tTBw==
X-Gm-Message-State: ALoCoQkpkA6KzRAqMR7CisfhOZrG8z9FYA7X9e/qNYhpfUknK5Z9QJfX0FEBCoq6M7jMmaLP1RBZ
X-Received: by 10.52.232.37 with SMTP id tl5mr22208923vdc.4.1412242164182;
        Thu, 02 Oct 2014 02:29:24 -0700 (PDT)
X-BeenThere: std-proposals@isocpp.org
Original-Received: by 10.140.109.195 with SMTP id l61ls694726qgf.75.gmail; Thu, 02 Oct
 2014 02:29:23 -0700 (PDT)
X-Received: by 10.140.27.166 with SMTP id 35mr497521qgx.5.1412242163567;
        Thu, 02 Oct 2014 02:29:23 -0700 (PDT)
In-Reply-To: <CAFk2RUaXJHigi-bC2934TFvTkrfchBFhXc347_Y1GPMzuPDuRw@mail.gmail.com>
X-Original-Sender: tomaszkam@gmail.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>
Xref: news.gmane.org gmane.comp.lang.c++.isocpp.proposals:13499
Archived-At: <http://permalink.gmane.org/gmane.comp.lang.c++.isocpp.proposals/13499>

------=_Part_4566_65926435.1412242163136
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

Sorry, I misunderstood your point.

I think with use of concepts as placeholders we can still require different=
=20
type. Let assume that we have concept Different Type<A,B>, could probably=
=20
write:
std::pair<auto{T}, Different Type<T>> f =3D..;
but I would say that the programmer should specify types explicitly in that=
=20
case.

Also for the examples were pair<auto, auto> used in the function: We=20
already have a longer notation that would allow us to a specify constrained=
=20
case, so there is not need to cover that in shorthand notation.

W dniu czwartek, 2 pa=C5=BAdziernika 2014 11:13:10 UTC+2 u=C5=BCytkownik Vi=
lle=20
Voutilainen napisa=C5=82:
>
> On 2 October 2014 11:43, Tomasz <toma...@gmail.com <javascript:>> wrote:=
=20
> > My proposal is that every use of placholder (today we have only auto,=
=20
> but=20
> > concept name would be a possible extension) would introduce separate=20
> > typename, so:=20
> > std::pair<auto, auto> p =3D f();=20
> >=20
> > Would use equivalent deduction as:=20
> > template<typename T1, typename T2>=20
> > void foo(std::pair<T1, T2>);=20
>
> That's already how it works.=20
>

--=20

---=20
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 e=
mail 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-proposa=
ls/.

------=_Part_4566_65926435.1412242163136
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">Sorry, I misunderstood your point.<br><br>I think with use=
 of concepts as placeholders we can still require different type. Let assum=
e that we have concept Different Type&lt;A,B&gt;, could probably write:<br>=
std::pair&lt;auto{T}, Different Type&lt;T&gt;&gt; f =3D..;<br>but I would s=
ay that the programmer should specify types explicitly in that case.<br><br=
>Also for the examples were pair&lt;auto, auto&gt; used in the function: We=
 already have a longer notation that would allow us to a specify constraine=
d case, so there is not need to cover that in shorthand notation.<br><br>W =
dniu czwartek, 2 pa=C5=BAdziernika 2014 11:13:10 UTC+2 u=C5=BCytkownik Vill=
e Voutilainen napisa=C5=82:<blockquote class=3D"gmail_quote" style=3D"margi=
n: 0;margin-left: 0.8ex;border-left: 1px #ccc solid;padding-left: 1ex;">On =
2 October 2014 11:43, Tomasz &lt;<a href=3D"javascript:" target=3D"_blank" =
gdf-obfuscated-mailto=3D"1Rosp3H-rUYJ" onmousedown=3D"this.href=3D'javascri=
pt:';return true;" onclick=3D"this.href=3D'javascript:';return true;">toma.=
...@gmail.com</a>&gt; wrote:
<br>&gt; My proposal is that every use of placholder (today we have only au=
to, but
<br>&gt; concept name would be a possible extension) would introduce separa=
te
<br>&gt; typename, so:
<br>&gt; std::pair&lt;auto, auto&gt; p =3D f();
<br>&gt;
<br>&gt; Would use equivalent deduction as:
<br>&gt; template&lt;typename T1, typename T2&gt;
<br>&gt; void foo(std::pair&lt;T1, T2&gt;);
<br>
<br>That's already how it works.
<br></blockquote></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 />

------=_Part_4566_65926435.1412242163136--

.
