220 41375 <d6d86f52-cf86-4ff1-8074-32a7a8ab668e@isocpp.org> article
Path: news.gmane.org!.POSTED.ciao.gmane.org!not-for-mail
From: philippe.ballereau@free.fr
Newsgroups: gmane.comp.lang.c++.isocpp.proposals
Subject: Re: methods templates
Date: Mon, 21 Jan 2019 10:17:28 -0800 (PST)
Approved: news@gmane.org
Message-ID: <d6d86f52-cf86-4ff1-8074-32a7a8ab668e@isocpp.org>
References: <711b31b3-de8f-462a-ac03-780bd2f5e4f4@isocpp.org>
Reply-To: std-proposals@isocpp.org
Mime-Version: 1.0
Content-Type: multipart/mixed; 
	boundary="----=_Part_2012_100854245.1548094648300"
Injection-Info: ciao.gmane.org; posting-host="ciao.gmane.org:195.159.176.228";
	logging-data="257606"; mail-complaints-to="usenet@ciao.gmane.org"
Cc: philippe.ballereau@free.fr
To: ISO C++ Standard - Future Proposals <std-proposals@isocpp.org>
Original-X-From: std-proposals+bncBCKNXAXCVANBBOMZTDRAKGQEK67DOBQ@isocpp.org Mon Jan 21 19:17:32 2019
Return-path: <std-proposals+bncBCKNXAXCVANBBOMZTDRAKGQEK67DOBQ@isocpp.org>
Envelope-to: gclcip-std-proposals@m.gmane.org
Original-Received: from mail-yw1-f71.google.com ([209.85.161.71])
	by ciao.gmane.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
	(Exim 4.89)
	(envelope-from <std-proposals+bncBCKNXAXCVANBBOMZTDRAKGQEK67DOBQ@isocpp.org>)
	id 1gle8Z-0014xT-Qu
	for gclcip-std-proposals@m.gmane.org; Mon, 21 Jan 2019 19:17:32 +0100
Original-Received: by mail-yw1-f71.google.com with SMTP id q82sf11436410ywg.22
        for <gclcip-std-proposals@m.gmane.org>; Mon, 21 Jan 2019 10:17:31 -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=Kgyy8KdYGh+8YrXMSZCRtK6XLOTTN9w5GfsYp1ec94g=;
        b=Qnvd5HtUATbqiQg8rJuNYcqqQPJfdqgD0KY+wVESzOrwvL2k/RUYtlRYF00JpbsVqg
         7ahX29xWbBu8eARytc9xq48pu3KueJv/r8Mf7cRuKpfjBsu9g1BP3MkcEyfaJh/SM8kw
         np9LkkzCe9AJSy0aEisYd/Spf8ojGzLbjA6edPUyir63HDOsBslT09j/B1zs6tmFGNbL
         xxXg1Bi1ChwMrOH6OZY3qJPlps5B8OKet1LTx6Mq7M1sYhAri//FWkcwKoDCml3XbE9A
         t1HIfj7+M8phD8JC8O/Rpdl2EdItyKN6d3W08ugIRurKmzpru1IGcR0/FV0Yh9pAAvWC
         BdGw==
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=Kgyy8KdYGh+8YrXMSZCRtK6XLOTTN9w5GfsYp1ec94g=;
        b=Mxcux7QsShXoweaz9U+Tg12emR9RYswaX2CYn+ejdXlLL9JeXOZnlLdznRCm/4afZf
         G6e/I+vET4soSOmaeQzpGdzFSAtYmzrbJWZkL9AmgxwwEC+oJF79buTYYvZhrF0J2cpV
         uv2etVSAiwvZ1InSMnFIwk/ZaKaXs9j/fg4BxyRMBmVyNd8Dp/PxR3nE02p8ZCd3TwCp
         KSbPhmTpCa78WMx6/nTADNl20nL9pRXVm1qMu+4HuNKvXMq239rAX79tUckD6M8nr7Yx
         Wvnp8SHRzbCmtJwS0tsdMzSDXs46tLll8jeqzzuimdKBwqcIgchFa0HCiFyGzRm5jI4I
         a7jQ==
X-Gm-Message-State: AJcUukeJ5FQuHaBI/kFZSVpU1JThjiHl8u8F5DTqaHE86CVmnfKcarDI
	pjnIwdfccSKN+/5dJj7ow28YdA==
X-Google-Smtp-Source: ALg8bN4yoI8AKjjrCtxPtKGQM9POugMMVXT9jZfgr0HMeFIDSFNOZmuhZRXjppXmsSJgKRirJIorNg==
X-Received: by 2002:a25:4142:: with SMTP id o63mr9406391yba.92.1548094650286;
        Mon, 21 Jan 2019 10:17:30 -0800 (PST)
X-BeenThere: std-proposals@isocpp.org
Original-Received: by 2002:a0d:de41:: with SMTP id h62ls8587087ywe.9.gmail; Mon, 21 Jan
 2019 10:17:29 -0800 (PST)
X-Received: by 2002:a81:115:: with SMTP id 21mr348597ywb.7.1548094649055;
        Mon, 21 Jan 2019 10:17:29 -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:41375
Archived-At: <http://permalink.gmane.org/gmane.comp.lang.c++.isocpp.proposals/41375>

------=_Part_2012_100854245.1548094648300
Content-Type: multipart/alternative; 
	boundary="----=_Part_2013_135483318.1548094648301"

------=_Part_2013_135483318.1548094648301
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
>
=20
Indeed, there is the same problem with template functions outside classes.=
=20
A more general solution would be more appropriate.
=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.
To view this discussion on the web visit https://groups.google.com/a/isocpp=
..org/d/msgid/std-proposals/d6d86f52-cf86-4ff1-8074-32a7a8ab668e%40isocpp.or=
g.

------=_Part_2013_135483318.1548094648301
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>=C2=A0</div><div>Indeed, there is the same problem with template =
functions outside classes. A more general solution would be more appropriat=
e.<br></div><div>=C2=A0</div><div><br></div><div><br></div><div>=C2=A0</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/d6d86f52-cf86-4ff1-8074-32a7a8ab668e%=
40isocpp.org?utm_medium=3Demail&utm_source=3Dfooter">https://groups.google.=
com/a/isocpp.org/d/msgid/std-proposals/d6d86f52-cf86-4ff1-8074-32a7a8ab668e=
%40isocpp.org</a>.<br />

------=_Part_2013_135483318.1548094648301--

------=_Part_2012_100854245.1548094648300--

.
