220 41366 <dc35ab69-d2a6-4e03-a776-75d6f94a08d4@isocpp.org> article
Path: news.gmane.org!.POSTED!not-for-mail
From: philippe.ballereau@free.fr
Newsgroups: gmane.comp.lang.c++.isocpp.proposals
Subject: Re: methods templates
Date: Sun, 20 Jan 2019 09:17:04 -0800 (PST)
Lines: 182
Approved: news@gmane.org
Message-ID: <dc35ab69-d2a6-4e03-a776-75d6f94a08d4@isocpp.org>
References: <711b31b3-de8f-462a-ac03-780bd2f5e4f4@isocpp.org>
Reply-To: std-proposals@isocpp.org
NNTP-Posting-Host: ciao.gmane.org
Mime-Version: 1.0
Content-Type: multipart/mixed; 
	boundary="----=_Part_1572_1987225210.1548004624762"
X-Trace: ciao.gmane.org 1548004622 231845 195.159.176.228 (20 Jan 2019 17:17:02 GMT)
X-Complaints-To: usenet@ciao.gmane.org
NNTP-Posting-Date: Sun, 20 Jan 2019 17:17:02 +0000 (UTC)
Cc: philippe.ballereau@free.fr
To: ISO C++ Standard - Future Proposals <std-proposals@isocpp.org>
Original-X-From: std-proposals+bncBCKNXAXCVANBBEO2SLRAKGQET55PXUI@isocpp.org Sun Jan 20 18:17:00 2019
Return-path: <std-proposals+bncBCKNXAXCVANBBEO2SLRAKGQET55PXUI@isocpp.org>
Envelope-to: gclcip-std-proposals@m.gmane.org
Original-Received: from mail-yb1-f197.google.com ([209.85.219.197])
	by ciao.gmane.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
	(Exim 4.84_2)
	(envelope-from <std-proposals+bncBCKNXAXCVANBBEO2SLRAKGQET55PXUI@isocpp.org>)
	id 1glGiQ-000yCx-9l
	for gclcip-std-proposals@m.gmane.org; Sun, 20 Jan 2019 18:16:58 +0100
Original-Received: by mail-yb1-f197.google.com with SMTP id g18sf3524312yba.17
        for <gclcip-std-proposals@m.gmane.org>; Sun, 20 Jan 2019 09:17:07 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=isocpp-org.20150623.gappssmtp.com; s=20150623;
        h=date:from:to:cc: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;
        bh=9LXfwnrk2H539V8g+DtH+ecDNIT6I9A9LqyeXVGWSP0=;
        b=dCaFH3foEQTTTzrqx+YzjmJSHn5moGN4L/P8zejys9q7FfWLhyu/pMGAZ9t64GQpZh
         AQeYL0Wn7YuVybxceIhU08dabUjvIw/MS1Wa2y0QK1HBh5kU1niznaV+WcOkx5u9t5OI
         PIZaTStx1qOSxuizgQWD8x39mp3k0g40/DUKjqJXOYYLzM5UbYHxLge6FbUm80T5T8MF
         A8ixMA2pnPxALyM6Hu3FHAXJmWTX/VMUQ6mkx6aFMC7q1c6qluS7tG9CS9tbyeMhf1M8
         3JVHPiwMK0sCDsj6IzYj+ATaxScctha0TNJMTa4Tb2dp79SaDuiDH/Zzdvus229h7O5w
         dUpQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:date:from:to:cc:message-id:in-reply-to
         :references:subject:mime-version:x-original-sender:reply-to
         :precedence:mailing-list:list-id:x-spam-checked-in-group:list-post
         :list-help:list-archive:list-subscribe:list-unsubscribe;
        bh=9LXfwnrk2H539V8g+DtH+ecDNIT6I9A9LqyeXVGWSP0=;
        b=SoRL5TmIFXCvxXFckmz3E49+inS0seRPD7JepwKsUFAbEFjtAZ56h5J+HzKcgd6/Ce
         KBNJ2dd2UCN8tVd4eOjr00/P8Nzh5VbfOHNwMIosU0EB4fAX/AXv07bv5MjvQfLyXlc9
         syZnW+JPg+TDeE/Lu8tuo/f6G1MImOfeWX/pgnKvezZSIWBEGz6HmwWCMyWJbVeGePMu
         qW1O83fjj8MZJ/yU2OyLGWoUSryzsObtEG0m6farLQSYnznIaMre4Foeddbts/3ECP6C
         BfTpTJuUaH0O7fSAW1z7kfJTBobMGGs5ts1LaY4jz0zF5ofbxJPMc2Xd8Lv1IXdbbwFl
         49FA==
X-Gm-Message-State: AJcUukdQNzZsym5Lv/Iqr2NLD7RKZrMYleoB01Qe7FkxbedDAlZvbhOZ
	MZgbrVf0J8nNhcjserEU8cFBUA==
X-Google-Smtp-Source: ALg8bN59RCkGSWm7LrvU+4mUkmcMHMcWX8U8i/qAQXDMer5XMlbwudI/IZWKBdT1FcSbTm7TFPAmIA==
X-Received: by 2002:a81:4642:: with SMTP id t63mr13480774ywa.21.1548004626820;
        Sun, 20 Jan 2019 09:17:06 -0800 (PST)
X-BeenThere: std-proposals@isocpp.org
Original-Received: by 2002:a25:c042:: with SMTP id c63ls1431885ybf.4.gmail; Sun, 20 Jan
 2019 09:17:05 -0800 (PST)
X-Received: by 2002:a25:dc92:: with SMTP id y140mr202559ybe.5.1548004625445;
        Sun, 20 Jan 2019 09:17:05 -0800 (PST)
In-Reply-To: <711b31b3-de8f-462a-ac03-780bd2f5e4f4@isocpp.org>
X-Original-Sender: philippe.ballereau@free.fr
Precedence: list
Mailing-list: list std-proposals@isocpp.org; contact std-proposals+owners@isocpp.org
List-ID: <std-proposals.isocpp.org>
X-Spam-Checked-In-Group: std-proposals@isocpp.org
X-Google-Group-Id: 399137483710
List-Post: <https://groups.google.com/a/isocpp.org/group/std-proposals/post>, <mailto:std-proposals@isocpp.org>
List-Help: <https://support.google.com/a/isocpp.org/bin/topic.py?topic=25838>, <mailto:std-proposals+help@isocpp.org>
List-Archive: <https://groups.google.com/a/isocpp.org/group/std-proposals/>
List-Subscribe: <https://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>,
 <https://groups.google.com/a/isocpp.org/group/std-proposals/subscribe>
Xref: news.gmane.org gmane.comp.lang.c++.isocpp.proposals:41366
Archived-At: <http://permalink.gmane.org/gmane.comp.lang.c++.isocpp.proposals/41366>

------=_Part_1572_1987225210.1548004624762
Content-Type: multipart/alternative; 
	boundary="----=_Part_1573_641320824.1548004624762"

------=_Part_1573_641320824.1548004624762
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable



Le samedi 19 janvier 2019 14:47:19 UTC+1, philippe....@free.fr a =C3=A9crit=
 :
>
> In a C ++ class when you have a lot of methods templates with the same=20
> types, you have lot of redundant information.
> for example :
>
> class Foo=20
> {
> public :
>
>      template <typename T>
>      void meth1(T t);
>
>      template <typename T>
>      void meth2(T t);
>
>     template <typename T, typename U>
>     void meth3(T t,, U u);
> }:
>
> Could not imagine something like this :
>
> class Foo=20
> {
> public :
>
>       methods <typename T>=20
>       {
>          void meth1(T t);
>
>          void meth2(T t);
>
>          template  <typename U>
>         void meth3(T t,, U u);
>     }:
> }:
>
> What do you think about this ?
> Is there a proposal that goes in this direction ?
> Problems with parser (compiler front end , Doxygen =E2=80=A6) ?
>
> Regards,
>
> Philippe Ballereau
>

Yes this will be a solution,
 but the syntax template  is more rich than the keyword auto.
It is also why it seems to me that the template syntax will return for=20
lambdas.

--=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.
To view this discussion on the web visit https://groups.google.com/a/isocpp=
..org/d/msgid/std-proposals/dc35ab69-d2a6-4e03-a776-75d6f94a08d4%40isocpp.or=
g.

------=_Part_1573_641320824.1548004624762
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><br><br>Le samedi 19 janvier 2019 14:47:19 UTC+1, philippe=
.....@free.fr a =C3=A9crit=C2=A0:<blockquote class=3D"gmail_quote" style=3D"=
margin: 0;margin-left: 0.8ex;border-left: 1px #ccc solid;padding-left: 1ex;=
"><div dir=3D"ltr"><div>In a C ++ class when you have a lot of methods temp=
lates with the same types, you have lot of redundant information.</div><div=
>for example :</div><div><br></div><div>class Foo=C2=A0</div><div>{</div><d=
iv>public :</div><div><br></div><div>=C2=A0 =C2=A0=C2=A0 template &lt;typen=
ame T&gt;</div><div>=C2=A0 =C2=A0=C2=A0 void meth1(T t);</div><div><br></di=
v><div><div>=C2=A0 =C2=A0=C2=A0 template &lt;typename T&gt;</div><div>=C2=
=A0 =C2=A0=C2=A0 void meth2(T t);</div><b></b><i></i><u></u><sub></sub><sup=
></sup><strike></strike><br></div><div><div>=C2=A0 =C2=A0 template &lt;type=
name T, typename U&gt;</div><div>=C2=A0 =C2=A0 void meth3(T t,, U u);<br></=
div></div><div>}:</div><div><br></div><div>Could not imagine something like=
 this :</div><div><br></div><div><div>class Foo=C2=A0</div><div>{</div><div=
>public :</div><div><br></div><div>=C2=A0 =C2=A0 =C2=A0 methods &lt;typenam=
e T&gt;=C2=A0</div><div>=C2=A0 =C2=A0 =C2=A0 {</div><div>=C2=A0 =C2=A0 =C2=
=A0 =C2=A0=C2=A0 void meth1(T t);</div><div><br></div><div><div style=3D"ba=
ckground-color:transparent;border-bottom-color:rgb(34,34,34);border-bottom-=
style:none;border-bottom-width:0px;border-left-color:rgb(34,34,34);border-l=
eft-style:none;border-left-width:0px;border-right-color:rgb(34,34,34);borde=
r-right-style:none;border-right-width:0px;border-top-color:rgb(34,34,34);bo=
rder-top-style:none;border-top-width:0px;color:rgb(34,34,34);font-size:13px=
;font-style:normal;font-variant:normal;font-weight:400;letter-spacing:norma=
l;margin-bottom:0px;margin-left:0px;margin-right:0px;margin-top:0px;padding=
-bottom:0px;padding-left:0px;padding-right:0px;padding-top:0px;text-align:l=
eft;text-decoration:none;text-indent:0px;text-transform:none;white-space:no=
rmal;word-spacing:0px">=C2=A0 =C2=A0 =C2=A0 =C2=A0=C2=A0 void meth2(T t);</=
div><b></b><i></i><u></u><sub style=3D"border-bottom-color:rgb(34,34,34);bo=
rder-bottom-style:none;border-bottom-width:0px;border-left-color:rgb(34,34,=
34);border-left-style:none;border-left-width:0px;border-right-color:rgb(34,=
34,34);border-right-style:none;border-right-width:0px;border-top-color:rgb(=
34,34,34);border-top-style:none;border-top-width:0px;margin-bottom:0px;marg=
in-left:0px;margin-right:0px;margin-top:0px;padding-bottom:0px;padding-left=
:0px;padding-right:0px;padding-top:0px"></sub><sup style=3D"border-bottom-c=
olor:rgb(34,34,34);border-bottom-style:none;border-bottom-width:0px;border-=
left-color:rgb(34,34,34);border-left-style:none;border-left-width:0px;borde=
r-right-color:rgb(34,34,34);border-right-style:none;border-right-width:0px;=
border-top-color:rgb(34,34,34);border-top-style:none;border-top-width:0px;m=
argin-bottom:0px;margin-left:0px;margin-right:0px;margin-top:0px;padding-bo=
ttom:0px;padding-left:0px;padding-right:0px;padding-top:0px"></sup><strike =
style=3D"border-bottom-color:rgb(34,34,34);border-bottom-style:none;border-=
bottom-width:0px;border-left-color:rgb(34,34,34);border-left-style:none;bor=
der-left-width:0px;border-right-color:rgb(34,34,34);border-right-style:none=
;border-right-width:0px;border-top-color:rgb(34,34,34);border-top-style:non=
e;border-top-width:0px;margin-bottom:0px;margin-left:0px;margin-right:0px;m=
argin-top:0px;padding-bottom:0px;padding-left:0px;padding-right:0px;padding=
-top:0px"></strike><br></div><div><div style=3D"background-color:transparen=
t;border-bottom-color:rgb(34,34,34);border-bottom-style:none;border-bottom-=
width:0px;border-left-color:rgb(34,34,34);border-left-style:none;border-lef=
t-width:0px;border-right-color:rgb(34,34,34);border-right-style:none;border=
-right-width:0px;border-top-color:rgb(34,34,34);border-top-style:none;borde=
r-top-width:0px;color:rgb(34,34,34);font-size:13px;font-style:normal;font-v=
ariant:normal;font-weight:400;letter-spacing:normal;margin-bottom:0px;margi=
n-left:0px;margin-right:0px;margin-top:0px;padding-bottom:0px;padding-left:=
0px;padding-right:0px;padding-top:0px;text-align:left;text-decoration:none;=
text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px">=
=C2=A0 =C2=A0 =C2=A0 =C2=A0=C2=A0 template=C2=A0 &lt;typename U&gt;</div><d=
iv style=3D"background-color:transparent;border-bottom-color:rgb(34,34,34);=
border-bottom-style:none;border-bottom-width:0px;border-left-color:rgb(34,3=
4,34);border-left-style:none;border-left-width:0px;border-right-color:rgb(3=
4,34,34);border-right-style:none;border-right-width:0px;border-top-color:rg=
b(34,34,34);border-top-style:none;border-top-width:0px;color:rgb(34,34,34);=
font-size:13px;font-style:normal;font-variant:normal;font-weight:400;letter=
-spacing:normal;margin-bottom:0px;margin-left:0px;margin-right:0px;margin-t=
op:0px;padding-bottom:0px;padding-left:0px;padding-right:0px;padding-top:0p=
x;text-align:left;text-decoration:none;text-indent:0px;text-transform:none;=
white-space:normal;word-spacing:0px">=C2=A0 =C2=A0 =C2=A0 =C2=A0 void meth3=
(T t,, U u);</div><div style=3D"background-color:transparent;border-bottom-=
color:rgb(34,34,34);border-bottom-style:none;border-bottom-width:0px;border=
-left-color:rgb(34,34,34);border-left-style:none;border-left-width:0px;bord=
er-right-color:rgb(34,34,34);border-right-style:none;border-right-width:0px=
;border-top-color:rgb(34,34,34);border-top-style:none;border-top-width:0px;=
color:rgb(34,34,34);font-size:13px;font-style:normal;font-variant:normal;fo=
nt-weight:400;letter-spacing:normal;margin-bottom:0px;margin-left:0px;margi=
n-right:0px;margin-top:0px;padding-bottom:0px;padding-left:0px;padding-righ=
t:0px;padding-top:0px;text-align:left;text-decoration:none;text-indent:0px;=
text-transform:none;white-space:normal;word-spacing:0px">=C2=A0 =C2=A0 }:</=
div></div><div>}:</div><div><br></div><div>What do you think about this ?</=
div>Is there a proposal that goes in this direction ?</div><div>Problems wi=
th parser (compiler front end , Doxygen =E2=80=A6) ?</div><div><br></div><d=
iv>Regards,</div><div><br></div><div>Philippe Ballereau</div></div></blockq=
uote><div><br></div><div>Yes this will be a solution,</div><div>=C2=A0but t=
he syntax template=C2=A0 is more rich than the keyword auto.</div><div>It i=
s also why it seems to me that the template syntax will return for lambdas.=
</div></div>

<p></p>

-- <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 />
To view this discussion on the web visit <a href=3D"https://groups.google.c=
om/a/isocpp.org/d/msgid/std-proposals/dc35ab69-d2a6-4e03-a776-75d6f94a08d4%=
40isocpp.org?utm_medium=3Demail&utm_source=3Dfooter">https://groups.google.=
com/a/isocpp.org/d/msgid/std-proposals/dc35ab69-d2a6-4e03-a776-75d6f94a08d4=
%40isocpp.org</a>.<br />

------=_Part_1573_641320824.1548004624762--

------=_Part_1572_1987225210.1548004624762--

.
