220 41368 <bc5c5868-92b1-445d-af98-4d6d5f216de0@isocpp.org> article
Path: news.gmane.org!.POSTED!not-for-mail
From: Nicol Bolas <jmckesson@gmail.com>
Newsgroups: gmane.comp.lang.c++.isocpp.proposals
Subject: Re: methods templates
Date: Sun, 20 Jan 2019 12:45:29 -0800 (PST)
Lines: 93
Approved: news@gmane.org
Message-ID: <bc5c5868-92b1-445d-af98-4d6d5f216de0@isocpp.org>
References: <711b31b3-de8f-462a-ac03-780bd2f5e4f4@isocpp.org>
 <CAC+0CCOHKVM9FYQVYtC8mqf3P1+mnhykR63YkwrXptLTSx=cDg@mail.gmail.com>
Reply-To: std-proposals@isocpp.org
NNTP-Posting-Host: ciao.gmane.org
Mime-Version: 1.0
Content-Type: multipart/mixed; 
	boundary="----=_Part_1715_1056980658.1548017129213"
X-Trace: ciao.gmane.org 1548017125 202536 195.159.176.228 (20 Jan 2019 20:45:25 GMT)
X-Complaints-To: usenet@ciao.gmane.org
NNTP-Posting-Date: Sun, 20 Jan 2019 20:45:25 +0000 (UTC)
To: ISO C++ Standard - Future Proposals <std-proposals@isocpp.org>
Original-X-From: std-proposals+bncBCEKFTV6ZUMBB2V3SPRAKGQEMGAIXPY@isocpp.org Sun Jan 20 21:45:23 2019
Return-path: <std-proposals+bncBCEKFTV6ZUMBB2V3SPRAKGQEMGAIXPY@isocpp.org>
Envelope-to: gclcip-std-proposals@m.gmane.org
Original-Received: from mail-yw1-f69.google.com ([209.85.161.69])
	by ciao.gmane.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
	(Exim 4.84_2)
	(envelope-from <std-proposals+bncBCEKFTV6ZUMBB2V3SPRAKGQEMGAIXPY@isocpp.org>)
	id 1glJy6-000qbk-Go
	for gclcip-std-proposals@m.gmane.org; Sun, 20 Jan 2019 21:45:22 +0100
Original-Received: by mail-yw1-f69.google.com with SMTP id q185sf10130029ywf.8
        for <gclcip-std-proposals@m.gmane.org>; Sun, 20 Jan 2019 12:45:32 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=isocpp-org.20150623.gappssmtp.com; s=20150623;
        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;
        bh=Se4ys7537Qld8ztigMJrZFXXKpVesucw6yA21VOOU5s=;
        b=qSJKIG5sagfw1QeQ7+o9ZkhovbQem2OGf4NRNpgMN8oYghD0FVdItkunCPdmGDNC3k
         DdZNhINik2NcI9u2UijvWfnCBBYQOz1njv4YwSGJxfnuzJb+0zqNa85vN0oswX8a6zK5
         snd4D1duKhToiMsWYJWnwa9xACI48TrN4m2D5yrAI3VLZDvxVXoCLStNM/UnLQ+Mc49O
         boJr51a6tvS/wUypZ7nACAJfuqHs/ty6Lo8rMu1qQsTYpAnirjCUOYO/kc1GGO1ZQiXW
         qiz5z4AXg3AsfEjeOkXVKtCSMzFalUM53bL8125RBMw+IGMgQL9r9E+KpALX5l2czgUb
         At+g==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        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;
        bh=Se4ys7537Qld8ztigMJrZFXXKpVesucw6yA21VOOU5s=;
        b=H8hKeOwLorkE5yOc1fPQ1w31L4kMKfpBofaCWR49EYwog2ZSdfCcT0WIkMtFvFgi6W
         xIPPN23sTiWrU0PngLY5ApAO3909cRnmZpXcB88LHUyshiYF6WZd+bAJD151KfaGg5b0
         aZCUOr2LBjsviwj5ePkXKCtxYJUZqsE4rqC7jHxVDrp1EZeUYzmmflbJdigj9W8EuNLA
         AzoYpPcPmaUGxiNb4Axv2zHA7T3U317xDAQECsqK4IWNFIMprJ3xcqohFscAKsmH62q2
         rSLZt5V4th27OxJcnsHpApyq86HYVCk9xeoXuz7zsk3AF4WAz/zIAUx6UBVFbhYAC2VE
         b9xA==
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: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=Se4ys7537Qld8ztigMJrZFXXKpVesucw6yA21VOOU5s=;
        b=SYvXT/lIVPNsGSvz3n3MzrJs3G2IM3FOJkMYumw7ogekbC8vxt2+jovVGJw0tveSDR
         1ASuw3yP5BHUJdhID84bWITLglW+DBsFVngkdYvEih6m/C/oL5D9C6FFztPnU3E0wlv7
         81NILz9i/8Bdg8BMnSI/+nAOf9W7uDx+O6549EhaiQtPV7IZpnivVJfTl1KGpwE5uz0L
         v6ZC3jKbHK0ThqaF0XFFKeUjRUMyCMLLwySJtbr5s3nhFnCJ6e1mga7GJj1nTB+DIntE
         EhFBUO2QWix+L82a6V3paCxcj/dn9RWIvMrDzgUkyWbaVzTeRtr4CamnPKJs7DfRUDxl
         oSAQ==
X-Gm-Message-State: AJcUukdWKlRs65iK5kByebDL2AmEBiJ7cLTWdozQX1NjH9U24WVN/2za
	L5EYXOLiHgbq+FwAuVhWAjDfVQ==
X-Google-Smtp-Source: ALg8bN6/I8nG9i159njzUXOpRy7XnUg7ewrdiGVl7sDRFY92Z6fjLS3vNfroDR+CF2VfKvZlldcduQ==
X-Received: by 2002:a25:bdc8:: with SMTP id g8mr8020047ybk.8.1548017131140;
        Sun, 20 Jan 2019 12:45:31 -0800 (PST)
X-BeenThere: std-proposals@isocpp.org
Original-Received: by 2002:a25:38ca:: with SMTP id f193ls1512560yba.13.gmail; Sun, 20
 Jan 2019 12:45:30 -0800 (PST)
X-Received: by 2002:a25:d611:: with SMTP id n17mr107022ybg.0.1548017129890;
        Sun, 20 Jan 2019 12:45:29 -0800 (PST)
In-Reply-To: <CAC+0CCOHKVM9FYQVYtC8mqf3P1+mnhykR63YkwrXptLTSx=cDg@mail.gmail.com>
X-Original-Sender: jmckesson@gmail.com
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:41368
Archived-At: <http://permalink.gmane.org/gmane.comp.lang.c++.isocpp.proposals/41368>

------=_Part_1715_1056980658.1548017129213
Content-Type: multipart/alternative; 
	boundary="----=_Part_1716_887596855.1548017129213"

------=_Part_1716_887596855.1548017129213
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Saturday, January 19, 2019 at 8:56:56 AM UTC-5, Jake Arkinstall wrote:
>
> A common approach to this is to use a struct to wrap the functions in. I'=
d=20
> much prefer to be able to wrap a template around a namespace, but that=20
> isn't a popular idea.
>
> In honesty, I'd like something that sits in the middle of the ideas of=20
> structs and namespaces - something used specifically for compile time log=
ic=20
> and type traits. The use of structs used strictly for sfinae logic, for=
=20
> example, is nothing but a bodge IMO, and I'd like to be able to use a=20
> "using" declaration to access methods in the current scope.
>
> Just my 2=C2=A2.
>

Another thing to consider: there is already a problem when users define=20
template functions outside of the class definition, where the template=20
parameters to the class have to be constantly re-specified. So there had=20
been some talk about having some way to scope a set of=20
declarations/definitions in some syntax that basically says that all of=20
them live within the scope of something.

What's being discussed here is similar, only they don't live within the=20
scope of a name so much as the scope of a template header. So a more=20
generalized approach might be more appropriate.

--=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/bc5c5868-92b1-445d-af98-4d6d5f216de0%40isocpp.or=
g.

------=_Part_1716_887596855.1548017129213
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">On Saturday, January 19, 2019 at 8:56:56 AM UTC-5, Jake Ar=
kinstall wrote:<blockquote class=3D"gmail_quote" style=3D"margin: 0;margin-=
left: 0.8ex;border-left: 1px #ccc solid;padding-left: 1ex;"><div dir=3D"aut=
o">A common approach to this is to use a struct to wrap the functions in. I=
&#39;d much prefer to be able to wrap a template around a namespace, but th=
at isn&#39;t a popular idea.<div dir=3D"auto"><br></div><div dir=3D"auto">I=
n honesty, I&#39;d like something that sits in the middle of the ideas of s=
tructs and namespaces - something used specifically for compile time logic =
and type traits. The use of structs used strictly for sfinae logic, for exa=
mple, is nothing but a bodge IMO, and I&#39;d like to be able to use a &quo=
t;using&quot; declaration to access methods in the current scope.</div><div=
 dir=3D"auto"><br></div><div dir=3D"auto">Just my 2=C2=A2.</div></div></blo=
ckquote><div><br></div><div>Another thing to consider: there is already a p=
roblem when users define template functions outside of the class definition=
, where the template parameters to the class have to be constantly re-speci=
fied. So there had been some talk about having some way to scope a set of d=
eclarations/definitions in some syntax that basically says that all of them=
 live within the scope of something.</div><div><br></div><div>What&#39;s be=
ing discussed here is similar, only they don&#39;t live within the scope of=
 a name so much as the scope of a template header. So a more generalized ap=
proach might be more appropriate.<br></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/bc5c5868-92b1-445d-af98-4d6d5f216de0%=
40isocpp.org?utm_medium=3Demail&utm_source=3Dfooter">https://groups.google.=
com/a/isocpp.org/d/msgid/std-proposals/bc5c5868-92b1-445d-af98-4d6d5f216de0=
%40isocpp.org</a>.<br />

------=_Part_1716_887596855.1548017129213--

------=_Part_1715_1056980658.1548017129213--

.
