220 28299 <1dce887f-b468-4978-9466-a9630cfc2671@isocpp.org> article
Path: news.gmane.org!.POSTED!not-for-mail
From: mihailnajdenov@gmail.com
Newsgroups: gmane.comp.lang.c++.isocpp.proposals
Subject: Re: Proposal - non allocating std::function
Date: Tue, 20 Sep 2016 11:33:21 -0700 (PDT)
Lines: 67
Approved: news@gmane.org
Message-ID: <1dce887f-b468-4978-9466-a9630cfc2671@isocpp.org>
References: <e00db911-40f5-4c11-a4b8-32bba77aa0a5@isocpp.org>
Reply-To: std-proposals@isocpp.org
NNTP-Posting-Host: blaine.gmane.org
Mime-Version: 1.0
Content-Type: multipart/mixed; 
	boundary="----=_Part_21_1431069579.1474396401357"
X-Trace: blaine.gmane.org 1474396421 18000 195.159.176.226 (20 Sep 2016 18:33:41 GMT)
X-Complaints-To: usenet@blaine.gmane.org
NNTP-Posting-Date: Tue, 20 Sep 2016 18:33:41 +0000 (UTC)
To: ISO C++ Standard - Future Proposals <std-proposals@isocpp.org>
Original-X-From: std-proposals+bncBCUJ3A7GRAPRB4UBQ27QKGQEBLAOJZI@isocpp.org Tue Sep 20 20:33:37 2016
Return-path: <std-proposals+bncBCUJ3A7GRAPRB4UBQ27QKGQEBLAOJZI@isocpp.org>
Envelope-to: gclcip-std-proposals@m.gmane.org
Original-Received: from mail-pf0-f197.google.com ([209.85.192.197])
	by blaine.gmane.org with esmtp (Exim 4.84_2)
	(envelope-from <std-proposals+bncBCUJ3A7GRAPRB4UBQ27QKGQEBLAOJZI@isocpp.org>)
	id 1bmPrD-0003Jd-1q
	for gclcip-std-proposals@m.gmane.org; Tue, 20 Sep 2016 20:33:27 +0200
Original-Received: by mail-pf0-f197.google.com with SMTP id v67sf51860407pfv.1
        for <gclcip-std-proposals@m.gmane.org>; Tue, 20 Sep 2016 11:33:29 -0700 (PDT)
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
         :x-spam-checked-in-group:list-post:list-help:list-archive
         :list-subscribe:list-unsubscribe;
        bh=Zrc6naZA8WbVxzXlp1eNoUkaNK4dySWBxYgMna5uzmM=;
        b=wOxmymIWbALbcH3ngRYLxWisAWGTEyWTzzFHhixTxNOf8xr9tz1T78Gorzio65xWoI
         /PrNJr07Ozgx3j99QXCIIbAnE8oYgj1U68Wpo28XWGCn1bki2sGc2PpGlpyTqx+FAWnf
         nLdSJUZd/b6kOXsG92nH554TiSkwyPkjPmC+Oaoz0C78izLDMfmXav7I0jgPVHXEQmp4
         R35VP+/WtJFRo0E6Pf3cxu3quRhsY30/IMG6hnO4eMTWx3atnlcPnHqBSDzEpOwxItGW
         5xDqcWpFn7rZXphh40p1S3e+0JC3QJs2BKtTuCLZ5D1/wttQfL9Xp9nYbVriI44R9Zpy
         pFiA==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20120113;
        h=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=Zrc6naZA8WbVxzXlp1eNoUkaNK4dySWBxYgMna5uzmM=;
        b=Ka7busyybvDt7HnbwB40a9isTZAzGH1e3sOiMC52Y+lq9avtIIbQGV1k9df55eukXY
         z2JdDV02SKnq1ZBZMKy3DWhY5He2zFeojxpCT9qg9R/nz1djHllyuDwSD4rINYRFYHlP
         ziQbVtyuxXJw6NlZtMSsMOauuYbZFie+x4d3XQ9eCPgltn86LMrkEPRAsuS9Jy/KTxa8
         NFHe3mYbHFwzLZOlQlgFMvpu+VnWTgCJQT4PY9N0tvKCryeYKeDjNvPxXGYizpbIkypH
         1Kz+9IydPZp2vMqA3vH0XKJBWqc4qhHJ+TEEuab/GaW+rjch/9bPQI83KYvyh1cGD2I/
         qFhg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20130820;
        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=Zrc6naZA8WbVxzXlp1eNoUkaNK4dySWBxYgMna5uzmM=;
        b=a/ZpuDwPpOaQfwWjufzBRVTj33f2XBo49Czyf8Fim8utK/da8e5CZ4mOGyFyCqoU8v
         fHcvq26UJQvPdq6BLDLJDR9rYpmtJE/DpofM6pUpNZF1+ft8X2ieJEu7QNIvioMD3gdV
         7U/EAcgrgNi1XJKjmRPClIIxMD8Wlhr1jAHn25e/EOTh2lI4/C4y8OTaP1QD8DzzQONG
         KYsYtJsvUcQmemNXYMJKUN+Yuv7AVblbPn5vKKW0zesF9seBgxIo0US3kZ2K0Jm5tQLO
         Cz9gfHVjBelEHZRHqkNbPoxJseamSoCb/ZJaiRzPI+vZaJzhziAaLcg4r0N8wLHv118c
         /vFw==
X-Gm-Message-State: AE9vXwNipsmhE3KyIQtv7HmJvfc96Rwg0Uv+1tYoy7Gxzf6nVYKx9+APazJ8rVttcw7Yyg==
X-Received: by 10.66.85.104 with SMTP id g8mr17063114paz.33.1474396408351;
        Tue, 20 Sep 2016 11:33:28 -0700 (PDT)
X-BeenThere: std-proposals@isocpp.org
Original-Received: by 10.107.165.141 with SMTP id o135ls4658413ioe.29.gmail; Tue, 20
 Sep 2016 11:33:22 -0700 (PDT)
X-Received: by 10.36.107.194 with SMTP id v185mr303411itc.10.1474396402442;
        Tue, 20 Sep 2016 11:33:22 -0700 (PDT)
In-Reply-To: <e00db911-40f5-4c11-a4b8-32bba77aa0a5@isocpp.org>
X-Original-Sender: MihailNajdenov@gmail.com
Precedence: list
Mailing-list: list std-proposals@isocpp.org; contact std-proposals+owners@isocpp.org
List-ID: <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:28299
Archived-At: <http://permalink.gmane.org/gmane.comp.lang.c++.isocpp.proposals/28299>

------=_Part_21_1431069579.1474396401357
Content-Type: multipart/alternative; 
	boundary="----=_Part_22_345748464.1474396401358"

------=_Part_22_345748464.1474396401358
Content-Type: text/plain; charset=UTF-8

I am all for non-allocating function objects - vast majorities of my 
lambdas are small enough to be "stack-only", but bigger then the 
std::function SOO threshold!

*But isn't it time to think for first-class 'callable' type?* 

It is somewhat weird, we have first class, wildly-used, lambdas, but no 
native way to store and pass them around - we have to use 10+ years old 
container. It's like a new car with second-hand tires. 

And we also have no clean and efficient way to define an interface which 
accepts a callable - we either have to use templates (not clean, though 
Concepts will improve that) or use std::function and not be as efficient 
(and still not all that clean).
 


-- 
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/1dce887f-b468-4978-9466-a9630cfc2671%40isocpp.org.

------=_Part_22_345748464.1474396401358
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">I am all for non-allocating function objects - vast majori=
ties of my lambdas are small enough to be &quot;stack-only&quot;, but bigge=
r then the std::function SOO threshold!<div><br></div><div><b>But isn&#39;t=
 it time to think for first-class &#39;callable&#39; type?</b>=C2=A0</div><=
div><br></div><div>It is somewhat weird, we have first class, wildly-used, =
lambdas, but no native way to store and pass them around - we have to use 1=
0+ years old container. It&#39;s like a new car with second-hand tires.=C2=
=A0</div><div><br></div><div>And we also have no clean and efficient way to=
 define an interface which accepts a callable - we either have to use templ=
ates (not clean, though Concepts will improve that) or use std::function an=
d not be as efficient (and still not all that clean).</div><div>=C2=A0</div=
><div><br></div><div><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/1dce887f-b468-4978-9466-a9630cfc2671%=
40isocpp.org?utm_medium=3Demail&utm_source=3Dfooter">https://groups.google.=
com/a/isocpp.org/d/msgid/std-proposals/1dce887f-b468-4978-9466-a9630cfc2671=
%40isocpp.org</a>.<br />

------=_Part_22_345748464.1474396401358--

------=_Part_21_1431069579.1474396401357--

.
