220 27037 <CAGg_6+MW9gAkGwgO03RZDj2=Fn0tb6zxKXui0+dbxVtG3WjyGQ@mail.gmail.com> article
Path: news.gmane.org!not-for-mail
From: Nevin Liber <nevin@eviloverlord.com>
Newsgroups: gmane.comp.lang.c++.isocpp.proposals
Subject: Re: Proposal - non allocating std::function
Date: Fri, 15 Jul 2016 02:13:17 -0500
Lines: 70
Approved: news@gmane.org
Message-ID: <CAGg_6+MW9gAkGwgO03RZDj2=Fn0tb6zxKXui0+dbxVtG3WjyGQ@mail.gmail.com>
References: <e00db911-40f5-4c11-a4b8-32bba77aa0a5@isocpp.org>
 <CANh-dXnpUNf2O5NTj213K1Jfmhge1=eit6+SistzYWZj+5CkNg@mail.gmail.com>
 <ff1087cf-5777-47e9-8caa-d28136aae130@isocpp.org> <e725d932-5fbd-4ac9-b707-66ab6e02a413@isocpp.org>
 <CAGg_6+NEu8s5GVHQidjs8NPRkDwqGg2S3xDMseP41Y_jq77DVQ@mail.gmail.com> <d14a6548-9ddf-40c2-adc4-a046aff2d1e2@isocpp.org>
Reply-To: std-proposals@isocpp.org
NNTP-Posting-Host: plane.gmane.org
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary=001a113df136a997370537a75cc0
X-Trace: ger.gmane.org 1468566862 3015 80.91.229.3 (15 Jul 2016 07:14:22 GMT)
X-Complaints-To: usenet@ger.gmane.org
NNTP-Posting-Date: Fri, 15 Jul 2016 07:14:22 +0000 (UTC)
To: "std-proposals@isocpp.org" <std-proposals@isocpp.org>
Original-X-From: std-proposals+bncBCE35H5S6IDBBNM2UK6AKGQE4Z6RULQ@isocpp.org Fri Jul 15 09:14:15 2016
Return-path: <std-proposals+bncBCE35H5S6IDBBNM2UK6AKGQE4Z6RULQ@isocpp.org>
Envelope-to: gclcip-std-proposals@m.gmane.org
Original-Received: from mail-io0-f200.google.com ([209.85.223.200])
	by plane.gmane.org with esmtp (Exim 4.69)
	(envelope-from <std-proposals+bncBCE35H5S6IDBBNM2UK6AKGQE4Z6RULQ@isocpp.org>)
	id 1bNxJv-0004Uv-Ml
	for gclcip-std-proposals@m.gmane.org; Fri, 15 Jul 2016 09:13:59 +0200
Original-Received: by mail-io0-f200.google.com with SMTP id q83sf197305169iod.2
        for <gclcip-std-proposals@m.gmane.org>; Fri, 15 Jul 2016 00:13:59 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20130820;
        h=x-gm-message-state:mime-version:sender: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=DSNaeFZ8NuT2c4IoVKCDv4mJQzOCi1oP/d9rgxqIP4g=;
        b=UueJDbJ8IHrHYtHau0zesD2VgOXszbZP1hbtWNtXbjAVN7bp8PScNPqITIOCQmU5CF
         zS+6U78AphNbJHNW9d9RKl5bYCcWJ77XDuV7K8Ajg/ZZlV6ucgItwYLiH7MZwJzzxEI+
         nG5kcwQctI4JGRANjqIxeyP+N7HYEFaFin8kaog4s/VPFE+zRF5z699VGea17QbU4VNt
         CgQzybc7YVS1akGiPNcraFaVdb5lIwaqS45u0KL8iWOUM/cSHcgMVx0NLsU3TSDRDoT/
         +HbjecInGGUQ3LYCZvk/xBUEEWvIL4E7uJVGPesdcIo6IadascGCTX+3oB+VSd6dOWx6
         geYQ==
X-Gm-Message-State: ALyK8tKmDQfTJBcNWHa5OdHIazyEvy4/NXrab/7QY6wDCTD/M6lbX7HutjFmmPQJ8X2Zlg==
X-Received: by 10.157.44.102 with SMTP id f93mr14120579otb.6.1468566838470;
        Fri, 15 Jul 2016 00:13:58 -0700 (PDT)
X-BeenThere: std-proposals@isocpp.org
Original-Received: by 10.157.9.221 with SMTP id 29ls2980416otz.6.gmail; Fri, 15 Jul
 2016 00:13:57 -0700 (PDT)
X-Received: by 10.202.108.10 with SMTP id h10mr7559075oic.29.1468566837579;
        Fri, 15 Jul 2016 00:13:57 -0700 (PDT)
Original-Received: from mail-oi0-x230.google.com (mail-oi0-x230.google.com. [2607:f8b0:4003:c06::230])
        by mx.google.com with ESMTPS id c10si5778672otc.14.2016.07.15.00.13.57
        for <std-proposals@isocpp.org>
        (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);
        Fri, 15 Jul 2016 00:13:57 -0700 (PDT)
Received-SPF: pass (google.com: domain of nliber@gmail.com designates 2607:f8b0:4003:c06::230 as permitted sender) client-ip=2607:f8b0:4003:c06::230;
Original-Received: by mail-oi0-x230.google.com with SMTP id l72so5492232oig.2
        for <std-proposals@isocpp.org>; Fri, 15 Jul 2016 00:13:57 -0700 (PDT)
X-Received: by 10.202.245.20 with SMTP id t20mr7399328oih.131.1468566837234;
 Fri, 15 Jul 2016 00:13:57 -0700 (PDT)
Original-Sender: nliber@gmail.com
Original-Received: by 10.157.34.134 with HTTP; Fri, 15 Jul 2016 00:13:17 -0700 (PDT)
In-Reply-To: <d14a6548-9ddf-40c2-adc4-a046aff2d1e2@isocpp.org>
X-Original-Sender: nevin@eviloverlord.com
X-Original-Authentication-Results: mx.google.com;       dkim=pass
 header.i=@gmail.com;       spf=pass (google.com: domain of nliber@gmail.com
 designates 2607:f8b0:4003:c06::230 as permitted sender) smtp.mailfrom=nliber@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:27037
Archived-At: <http://permalink.gmane.org/gmane.comp.lang.c++.isocpp.proposals/27037>

--001a113df136a997370537a75cc0
Content-Type: text/plain; charset=UTF-8

On 14 July 2016 at 23:30, Nicol Bolas <jmckesson@gmail.com> wrote:

> The use case of "someone used `std::function` in an interface, but I use
> `std::inplace_function` internally, and I need to talk to their code."
> Right now, `std::function` is how lots of C++ code takes callbacks, and for
> good reason. But if I've wrapped some function in an `inplace_function`, I
> still need to be able to talk to them.
>

Maybe std::function is the wrong vocabulary type for interfaces, just like
std::string is the wrong vocabulary type for interfaces, hence we will have
std::string_view.  Having something like llvm::function_ref that Richard
Smith described earlier might be a better fit (and LEWG might ask Carl to
add such a beast to his proposal).
-- 
 Nevin ":-)" Liber  <mailto:nevin@eviloverlord.com>  +1-847-691-1404

-- 
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/CAGg_6%2BMW9gAkGwgO03RZDj2%3DFn0tb6zxKXui0%2BdbxVtG3WjyGQ%40mail.gmail.com.

--001a113df136a997370537a75cc0
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div class=3D"gmail_extra">On 14 July 2016 at 23:30, Nicol=
 Bolas <span dir=3D"ltr">&lt;<a href=3D"mailto:jmckesson@gmail.com" target=
=3D"_blank">jmckesson@gmail.com</a>&gt;</span> wrote:<br><div class=3D"gmai=
l_quote"><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;borde=
r-left:1px #ccc solid;padding-left:1ex"><div>The use case of &quot;someone =
used `std::function` in an interface, but I use `std::inplace_function` int=
ernally, and I need to talk to their code.&quot; Right now, `std::function`=
 is how lots of C++ code takes callbacks, and for good reason. But if I&#39=
;ve wrapped some function in an `inplace_function`, I still need to be able=
 to talk to them.<br></div></blockquote></div><br>Maybe std::function is th=
e wrong vocabulary type for interfaces, just like std::string is the wrong =
vocabulary type for interfaces, hence we will have std::string_view.=C2=A0 =
Having something like llvm::function_ref that Richard Smith described earli=
er might be a better fit (and LEWG might ask Carl to add such a beast to hi=
s proposal).<br>-- <br><div data-smartmail=3D"gmail_signature"><div dir=3D"=
ltr"><div><div dir=3D"ltr"><div>=C2=A0Nevin &quot;:-)&quot; Liber=C2=A0 &lt=
;mailto:<a href=3D"mailto:nevin@eviloverlord.com" target=3D"_blank">nevin@e=
viloverlord.com</a>&gt; =C2=A0<a href=3D"tel:%2B1-847-691-1404" value=3D"+1=
8476911404" target=3D"_blank">+1-847-691-1404</a></div></div></div></div></=
div>
</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/CAGg_6%2BMW9gAkGwgO03RZDj2%3DFn0tb6zx=
KXui0%2BdbxVtG3WjyGQ%40mail.gmail.com?utm_medium=3Demail&utm_source=3Dfoote=
r">https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/CAGg_6%2BMW=
9gAkGwgO03RZDj2%3DFn0tb6zxKXui0%2BdbxVtG3WjyGQ%40mail.gmail.com</a>.<br />

--001a113df136a997370537a75cc0--

.
