220 26989 <CANh-dXnpUNf2O5NTj213K1Jfmhge1=eit6+SistzYWZj+5CkNg@mail.gmail.com> article
Path: news.gmane.org!not-for-mail
From: "'Jeffrey Yasskin' via ISO C++ Standard - Future Proposals" <std-proposals@isocpp.org>
Newsgroups: gmane.comp.lang.c++.isocpp.proposals
Subject: Re: Proposal - non allocating std::function
Date: Thu, 14 Jul 2016 11:59:54 -0700
Lines: 133
Approved: news@gmane.org
Message-ID: <CANh-dXnpUNf2O5NTj213K1Jfmhge1=eit6+SistzYWZj+5CkNg@mail.gmail.com>
References: <e00db911-40f5-4c11-a4b8-32bba77aa0a5@isocpp.org>
Reply-To: std-proposals@isocpp.org
NNTP-Posting-Host: plane.gmane.org
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary=001a11402c7ab044da05379d1c67
X-Trace: ger.gmane.org 1468522828 27568 80.91.229.3 (14 Jul 2016 19:00:28 GMT)
X-Complaints-To: usenet@ger.gmane.org
NNTP-Posting-Date: Thu, 14 Jul 2016 19:00:28 +0000 (UTC)
To: std-proposals@isocpp.org
Original-X-From: std-proposals+bncBDDM34EO6QDRBP6CT66AKGQEU2Q4SSQ@isocpp.org Thu Jul 14 21:00:22 2016
Return-path: <std-proposals+bncBDDM34EO6QDRBP6CT66AKGQEU2Q4SSQ@isocpp.org>
Envelope-to: gclcip-std-proposals@m.gmane.org
Original-Received: from mail-yw0-f197.google.com ([209.85.161.197])
	by plane.gmane.org with esmtp (Exim 4.69)
	(envelope-from <std-proposals+bncBDDM34EO6QDRBP6CT66AKGQEU2Q4SSQ@isocpp.org>)
	id 1bNlrv-0008Me-Ib
	for gclcip-std-proposals@m.gmane.org; Thu, 14 Jul 2016 21:00:19 +0200
Original-Received: by mail-yw0-f197.google.com with SMTP id l125sf159342708ywb.2
        for <gclcip-std-proposals@m.gmane.org>; Thu, 14 Jul 2016 12:00:19 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=isocpp-org.20150623.gappssmtp.com; s=20150623;
        h=mime-version:in-reply-to:references:from:date:message-id:subject:to
         :x-original-sender:x-original-authentication-results:reply-to
         :precedence:mailing-list:list-id:x-spam-checked-in-group:list-post
         :list-help:list-archive:list-subscribe:list-unsubscribe;
        bh=KovfpM+qRXjDvYP5xSIF054y/aFZiKT7sHBBAqdVSFE=;
        b=AnxT0EJO9jzKmre+5Ra1Y5KX6IFg9IzYGz6Vrsx3spKqlcvHPkNDqx2H9uvFBIHwkV
         ELDDG8ekgdoHWDUfo0dOUSf+LFqhm4ZuzElOn2iBlip8n1VXdspYPuhTPxFUdRhBrnnI
         e+pH+4gxJMirLUAHB3yPzLdd4oBm5dv+oPXhqIWUtcfnPcVo3ISEJgei6n4evWULf1mC
         hhPuwTDr2q4jjIn8A8Nx/IH/DItYCZZ63YalpU7/9qhaJXj97LxcOr/hNz3KzVxO7MrR
         3psyKKamYUFrgC/pc7yxSmTxdKdHqswzr0JB8OMibzAbbMI1wU5E15IUc1tXLpqa80d8
         7Xgw==
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:from:date
         :message-id:subject:to:x-original-sender
         :x-original-authentication-results:reply-to:precedence:mailing-list
         :list-id:x-spam-checked-in-group:list-post:list-help:list-archive
         :list-subscribe:list-unsubscribe;
        bh=KovfpM+qRXjDvYP5xSIF054y/aFZiKT7sHBBAqdVSFE=;
        b=aSkg33ZE/OhyCl+AyvPLyxMvxFMYR4MYPkaTy5YnCqJbq7CZKx4oYeYtgMTbezPj60
         XT8468cJ6HOJh14AH+znEN4TAO74c9pxgoAE9KlWZ7XyrTDeC2pB0UoZ+t4YvZzn+D4J
         SURcxSiYF1vm0fd3lJGbJeEz/PzMj25D4PQOlFZqkAQRChCSol8D67zlrNxJqzitLU+Z
         L1GGby760/Do3KrnPqtcwkY8+KzcJ20ckAxueVxXs7yPCVz4a8q6rjoZDDjwRLGqgXaM
         MxGUC+T2bflywzouSkMZCgNYvZX4EWg9eTTJH+LW2jJEeAjqQXpPn51XOS0Z0K7yFUxR
         Ne1Q==
X-Gm-Message-State: ALyK8tICHIbKtBZhVAhPIN4WI29lKhUpYtIspN2KoPwP//RThpJGW4Zfol/iy9cWPNcgYg==
X-Received: by 10.129.158.78 with SMTP id v75mr11958257ywg.56.1468522818708;
        Thu, 14 Jul 2016 12:00:18 -0700 (PDT)
X-BeenThere: std-proposals@isocpp.org
Original-Received: by 10.107.178.69 with SMTP id b66ls840745iof.1.gmail; Thu, 14 Jul
 2016 12:00:15 -0700 (PDT)
X-Received: by 10.107.20.82 with SMTP id 79mr2237690iou.108.1468522815069;
        Thu, 14 Jul 2016 12:00:15 -0700 (PDT)
Original-Received: from mail-io0-x22b.google.com (mail-io0-x22b.google.com. [2607:f8b0:4001:c06::22b])
        by mx.google.com with ESMTPS id r64si4905337iod.174.2016.07.14.12.00.15
        for <std-proposals@isocpp.org>
        (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);
        Thu, 14 Jul 2016 12:00:15 -0700 (PDT)
Received-SPF: pass (google.com: domain of jyasskin@google.com designates 2607:f8b0:4001:c06::22b as permitted sender) client-ip=2607:f8b0:4001:c06::22b;
Original-Received: by mail-io0-x22b.google.com with SMTP id b62so84208173iod.3
        for <std-proposals@isocpp.org>; Thu, 14 Jul 2016 12:00:15 -0700 (PDT)
X-Received: by 10.107.35.143 with SMTP id j137mr15791333ioj.94.1468522814211;
 Thu, 14 Jul 2016 12:00:14 -0700 (PDT)
Original-Received: by 10.65.15.99 with HTTP; Thu, 14 Jul 2016 11:59:54 -0700 (PDT)
In-Reply-To: <e00db911-40f5-4c11-a4b8-32bba77aa0a5@isocpp.org>
X-Original-Sender: jyasskin@google.com
X-Original-Authentication-Results: mx.google.com;       dkim=pass
 header.i=@google.com;       spf=pass (google.com: domain of
 jyasskin@google.com designates 2607:f8b0:4001:c06::22b as permitted sender)
 smtp.mailfrom=jyasskin@google.com;       dmarc=pass (p=REJECT dis=NONE) header.from=google.com
X-Original-From: Jeffrey Yasskin <jyasskin@google.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:26989
Archived-At: <http://permalink.gmane.org/gmane.comp.lang.c++.isocpp.proposals/26989>

--001a11402c7ab044da05379d1c67
Content-Type: text/plain; charset=UTF-8

Could you have your paper discuss the difference vs LLVM's function_ref<> (
http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/ADT/STLExtras.h?revision=273520&view=markup#l62)
and explain your view (whatever it is) over which set of these possible
function abstractions we should put in the standard?

Thanks,
Jeffrey

On Wed, Jul 13, 2016 at 3:47 PM, Carl Cook <carl.cook@gmail.com> wrote:

> Hi all,
>
> This is a cross posting from the SG14 reflector, regarding a draft
> proposal some of us are working on.
>
> Very briefly, some of us are interested in having a standardized function
> which does not incur an upfront memory allocation to store the callable
> target, instead opting for a compile time specified buffer (stack
> allocated). This has been quite useful in several low latency domains such
> as gaming and electronic trading. In other words, a drop-in replacement for
> std::function, where all data is on the stack.
>
> The original post is here:
> https://groups.google.com/a/isocpp.org/d/topic/sg14/1Sw_qEdIYes/discussion
>
> The resultant draft proposal is here:
> https://github.com/WG21-SG14/SG14/blob/master/Docs/Proposals/NonAllocatingStandardFunction.pdf
>
>
> Please feel free to comment here or in the SG14 reflector. This is still
> very much in the draft stage, and all feedback is appreciated. The
> reference implementation is still a work in progress (
> https://github.com/WG21-SG14/SG14/blob/master/SG14/inplace_function.h).
>
> Many thanks,
> Carl
>
> --
> 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.
> To view this discussion on the web visit
> https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/e00db911-40f5-4c11-a4b8-32bba77aa0a5%40isocpp.org
> <https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/e00db911-40f5-4c11-a4b8-32bba77aa0a5%40isocpp.org?utm_medium=email&utm_source=footer>
> .
>

-- 
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.
To view this discussion on the web visit https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/CANh-dXnpUNf2O5NTj213K1Jfmhge1%3Deit6%2BSistzYWZj%2B5CkNg%40mail.gmail.com.

--001a11402c7ab044da05379d1c67
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">Could you have your paper discuss the difference vs LLVM&#=
39;s function_ref&lt;&gt; (<a href=3D"http://llvm.org/viewvc/llvm-project/l=
lvm/trunk/include/llvm/ADT/STLExtras.h?revision=3D273520&amp;view=3Dmarkup#=
l62">http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/ADT/STLExt=
ras.h?revision=3D273520&amp;view=3Dmarkup#l62</a>) and explain your view (w=
hatever it is) over which set of these possible function abstractions we sh=
ould put in the standard?<div><br></div><div>Thanks,</div><div>Jeffrey</div=
></div><div class=3D"gmail_extra"><br><div class=3D"gmail_quote">On Wed, Ju=
l 13, 2016 at 3:47 PM, Carl Cook <span dir=3D"ltr">&lt;<a href=3D"mailto:ca=
rl.cook@gmail.com" target=3D"_blank">carl.cook@gmail.com</a>&gt;</span> wro=
te:<br><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-=
left:1px #ccc solid;padding-left:1ex"><div dir=3D"ltr">Hi all,<div><br></di=
v><div>This is a cross posting from the SG14 reflector, regarding a draft p=
roposal some of us are working on.</div><div><br></div><div>Very briefly, s=
ome of us are interested in having a standardized function which does not i=
ncur an upfront memory allocation to store the callable target, instead opt=
ing for a compile time specified buffer (stack allocated). This has been qu=
ite useful in several low latency domains such as gaming and electronic tra=
ding. In other words, a drop-in replacement for std::function, where all da=
ta is on the stack.<br></div><div><br></div><div>The original post is here:=
=C2=A0<a href=3D"https://groups.google.com/a/isocpp.org/d/topic/sg14/1Sw_qE=
dIYes/discussion" target=3D"_blank">https://groups.google.com/a/isocpp.org/=
d/topic/sg14/1Sw_qEdIYes/discussion</a></div><div><br></div><div>The result=
ant draft proposal is here:=C2=A0<a href=3D"https://github.com/WG21-SG14/SG=
14/blob/master/Docs/Proposals/NonAllocatingStandardFunction.pdf" target=3D"=
_blank">https://github.com/WG21-SG14/SG14/blob/master/Docs/Proposals/NonAll=
ocatingStandardFunction.pdf</a>=C2=A0</div><div><br></div><div>Please feel =
free to comment here or in the SG14 reflector. This is still very much in t=
he draft stage, and all feedback is appreciated. The reference implementati=
on is still a work in progress (<a href=3D"https://github.com/WG21-SG14/SG1=
4/blob/master/SG14/inplace_function.h" target=3D"_blank">https://github.com=
/WG21-SG14/SG14/blob/master/SG14/inplace_function.h</a>).</div><div><br></d=
iv><div>Many thanks,</div><div>Carl</div><span class=3D"HOEnZb"><font color=
=3D"#888888"><div><br></div></font></span></div><span class=3D"HOEnZb"><fon=
t color=3D"#888888">

<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" target=3D"_=
blank">std-proposals+unsubscribe@isocpp.org</a>.<br>
To post to this group, send email to <a href=3D"mailto:std-proposals@isocpp=
..org" target=3D"_blank">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/e00db911-40f5-4c11-a4b8-32bba77aa0a5%=
40isocpp.org?utm_medium=3Demail&amp;utm_source=3Dfooter" target=3D"_blank">=
https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/e00db911-40f5-=
4c11-a4b8-32bba77aa0a5%40isocpp.org</a>.<br>
</font></span></blockquote></div><br></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/CANh-dXnpUNf2O5NTj213K1Jfmhge1%3Deit6=
%2BSistzYWZj%2B5CkNg%40mail.gmail.com?utm_medium=3Demail&utm_source=3Dfoote=
r">https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/CANh-dXnpUN=
f2O5NTj213K1Jfmhge1%3Deit6%2BSistzYWZj%2B5CkNg%40mail.gmail.com</a>.<br />

--001a11402c7ab044da05379d1c67--

.
