220 10477 <CAOHCbivaipZL_BpgVZJQLyseRtde_N+HznAVfSEb5nWh41L2yQ@mail.gmail.com> article
Path: news.gmane.org!not-for-mail
From: Tony V E <tvaneerd@gmail.com>
Newsgroups: gmane.comp.lang.c++.isocpp.proposals
Subject: Re: Researching any-like general type erasure (not a
 proposal as of now).
Date: Thu, 1 May 2014 16:54:55 -0400
Lines: 111
Approved: news@gmane.org
Message-ID: <CAOHCbivaipZL_BpgVZJQLyseRtde_N+HznAVfSEb5nWh41L2yQ@mail.gmail.com>
References: <3c02d482-360c-40fc-973c-7a348566d2ff@isocpp.org>
Reply-To: std-proposals@isocpp.org
NNTP-Posting-Host: plane.gmane.org
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary=001a11c22568969f5304f85ce0ee
X-Trace: ger.gmane.org 1398977702 30356 80.91.229.3 (1 May 2014 20:55:02 GMT)
X-Complaints-To: usenet@ger.gmane.org
NNTP-Posting-Date: Thu, 1 May 2014 20:55:02 +0000 (UTC)
To: std-proposals@isocpp.org
Original-X-From: std-proposals+bncBCUZ5QWKNQIKB2MKTMCRUBBR6QZDQ@isocpp.org Thu May 01 22:54:58 2014
Return-path: <std-proposals+bncBCUZ5QWKNQIKB2MKTMCRUBBR6QZDQ@isocpp.org>
Envelope-to: gclcip-std-proposals@m.gmane.org
Original-Received: from mail-wi0-f198.google.com ([209.85.212.198])
	by plane.gmane.org with esmtp (Exim 4.69)
	(envelope-from <std-proposals+bncBCUZ5QWKNQIKB2MKTMCRUBBR6QZDQ@isocpp.org>)
	id 1Wfy0P-000459-DQ
	for gclcip-std-proposals@m.gmane.org; Thu, 01 May 2014 22:54:57 +0200
Original-Received: by mail-wi0-f198.google.com with SMTP id cc10sf564407wib.5
        for <gclcip-std-proposals@m.gmane.org>; Thu, 01 May 2014 13:54:57 -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:in-reply-to:references:date
         :message-id:subject:from:to:x-original-sender
         :x-original-authentication-results:reply-to:precedence:mailing-list
         :list-id:list-post:list-help:list-archive:list-subscribe
         :list-unsubscribe:content-type;
        bh=Gjkp9WTv+rQ5tKxeXGQj8+LXbMbTdfWeQakD0zVNdGs=;
        b=fbNz44jnHzykz4GZg0+BBRWh3mIVMrWHVFNOxt4EcIGDsz7p2x82CO3klD51B0WSND
         HQdYv9ZRGGwlvwWyoalWoWyyZzxw5Yn/IS/hss6qmI4ErmVYArHO/Nhz8qFvbHbuZyDn
         xd0GgqyOBD5gXrcOqlX7wyzco2EWX/IzmhShlJvp84/TWnJFrv7hBeiTpYdlTZ8/tsKu
         c8uLtMvHgqmlDm3v+XVoPqV3LV6irWfaEQA1xvYcYG89epFrFog647dPsISf+XC7Cmxg
         iFJ1ezr6d/9NI0oCTEXlCBLV6JNQOiVkbJi5uL4vAcDC7NjxeyzLpA2/Se5HKdf8/rb8
         n4aw==
X-Gm-Message-State: ALoCoQldOtA6x/gkuk4tP+W0ewOwb1nzx2SOR94DN6JemjqdgxYsCDQ6jKkXGYb7M/Wb/dReEej7
X-Received: by 10.180.76.143 with SMTP id k15mr445102wiw.6.1398977697033;
        Thu, 01 May 2014 13:54:57 -0700 (PDT)
X-BeenThere: std-proposals@isocpp.org
Original-Received: by 10.152.6.6 with SMTP id w6ls202750law.2.gmail; Thu, 01 May 2014
 13:54:55 -0700 (PDT)
X-Received: by 10.152.1.8 with SMTP id 8mr9046467lai.1.1398977695822;
        Thu, 01 May 2014 13:54:55 -0700 (PDT)
Original-Received: from mail-lb0-x230.google.com (mail-lb0-x230.google.com [2a00:1450:4010:c04::230])
        by mx.google.com with ESMTPS id q5si12109186lah.122.2014.05.01.13.54.55
        for <std-proposals@isocpp.org>
        (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128);
        Thu, 01 May 2014 13:54:55 -0700 (PDT)
Received-SPF: pass (google.com: domain of tvaneerd@gmail.com designates 2a00:1450:4010:c04::230 as permitted sender) client-ip=2a00:1450:4010:c04::230;
Original-Received: by mail-lb0-f176.google.com with SMTP id w7so2484928lbi.35
        for <std-proposals@isocpp.org>; Thu, 01 May 2014 13:54:55 -0700 (PDT)
X-Received: by 10.152.43.135 with SMTP id w7mr3584586lal.32.1398977695487;
 Thu, 01 May 2014 13:54:55 -0700 (PDT)
Original-Received: by 10.112.136.165 with HTTP; Thu, 1 May 2014 13:54:55 -0700 (PDT)
In-Reply-To: <3c02d482-360c-40fc-973c-7a348566d2ff@isocpp.org>
X-Original-Sender: tvaneerd@gmail.com
X-Original-Authentication-Results: mx.google.com;       spf=pass (google.com:
 domain of tvaneerd@gmail.com designates 2a00:1450:4010:c04::230 as permitted
 sender) smtp.mail=tvaneerd@gmail.com;       dkim=pass header.i=@gmail.com;
       dmarc=pass (p=NONE dis=NONE) header.from=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: <http://groups.google.com/a/isocpp.org/group/std-proposals/post>, <mailto:std-proposals@isocpp.org>
List-Help: <http://support.google.com/a/isocpp.org/bin/topic.py?topic=25838>, <mailto:std-proposals+help@isocpp.org>
List-Archive: <http://groups.google.com/a/isocpp.org/group/std-proposals/>
List-Subscribe: <http://groups.google.com/a/isocpp.org/group/std-proposals/subscribe>,
 <mailto:std-proposals+subscribe@isocpp.org>
List-Unsubscribe: <http://groups.google.com/a/isocpp.org/group/std-proposals/subscribe>,
 <mailto:googlegroups-manage+399137483710+unsubscribe@googlegroups.com>
Xref: news.gmane.org gmane.comp.lang.c++.isocpp.proposals:10477
Archived-At: <http://permalink.gmane.org/gmane.comp.lang.c++.isocpp.proposals/10477>

--001a11c22568969f5304f85ce0ee
Content-Type: text/plain; charset=UTF-8

On Thu, May 1, 2014 at 2:04 PM, <germandiago@gmail.com> wrote:

> Hello everyone,
>
> There is a thing I am really interested in that I think would be of
> general interest for the c++ community.
> I would like to generate some discussion on the topic. The intention of
> this post is to collect ideas
> and prior art to any-type like erasure.
>
> So far we have library versions of any-type like erasure, but none of them
> is perfect. For reference
> on the available solutions I will leave here the excellent blog entries
> from Andrzej:
>
>     http://akrzemi1.wordpress.com/2013/11/18/type-erasure-part-i/
>     http://akrzemi1.wordpress.com/2013/12/06/type-erasure-part-ii/
>     http://akrzemi1.wordpress.com/2013/12/11/type-erasure-part-iii/
>     http://akrzemi1.wordpress.com/2014/01/13/type-erasure-part-iv/
>
> What I wonder is how we could approach a perfect solution to have this
> into the language avoiding the
> boiler-plate.
>
> For now I can think of several solutions:
>
> 1. Build type erasure directly into the language. This would require
> maybe, and would be related also
> to overloading operator. (which currently cannot be done). Overloading
> this operator could enable
> classes like copy_on_write<T> and optional<T> to have the same interface
> as the original class,
> but this goes beyond the intention of this research.
>


https://github.com/boostcon/cppnow_presentations_2013/blob/master/thu/overloading_dot.pdf?raw=true

-- 

--- 
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.
Visit this group at http://groups.google.com/a/isocpp.org/group/std-proposals/.

--001a11c22568969f5304f85ce0ee
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><br><div class=3D"gmail_extra"><br><br><div class=3D"gmail=
_quote">On Thu, May 1, 2014 at 2:04 PM,  <span dir=3D"ltr">&lt;<a href=3D"m=
ailto:germandiago@gmail.com" target=3D"_blank">germandiago@gmail.com</a>&gt=
;</span> wrote:<br>
<blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-=
left:1px solid rgb(204,204,204);padding-left:1ex"><div dir=3D"ltr">Hello ev=
eryone,<div><br></div><div>There is a thing I am really interested in that =
I think would be of general interest for the c++ community.</div>
<div>I would like to generate some discussion on the topic. The intention o=
f this post is to collect ideas</div><div>and prior art to any-type like er=
asure.</div><div><br></div><div>So far we have library versions of any-type=
 like erasure, but none of them is perfect. For reference</div>
<div>on the available solutions I will leave here the excellent blog entrie=
s from Andrzej:</div><div><br></div><div>=C2=A0 =C2=A0=C2=A0<a href=3D"http=
://akrzemi1.wordpress.com/2013/11/18/type-erasure-part-i/" target=3D"_blank=
">http://akrzemi1.wordpress.com/2013/11/18/type-erasure-part-i/</a><br>
</div><div>=C2=A0 =C2=A0=C2=A0<a href=3D"http://akrzemi1.wordpress.com/2013=
/12/06/type-erasure-part-ii/" target=3D"_blank">http://akrzemi1.wordpress.c=
om/2013/12/06/type-erasure-part-ii/</a><br></div><div>=C2=A0 =C2=A0=C2=A0<a=
 href=3D"http://akrzemi1.wordpress.com/2013/12/11/type-erasure-part-iii/" t=
arget=3D"_blank">http://akrzemi1.wordpress.com/2013/12/11/type-erasure-part=
-iii/</a></div>
<div>=C2=A0 =C2=A0=C2=A0<a href=3D"http://akrzemi1.wordpress.com/2014/01/13=
/type-erasure-part-iv/" target=3D"_blank">http://akrzemi1.wordpress.com/201=
4/01/13/type-erasure-part-iv/</a></div><div>=C2=A0 =C2=A0 =C2=A0</div><div>=
What I wonder is how we could approach a perfect solution to have this into=
 the language avoiding the=C2=A0</div>
<div>boiler-plate.</div><div><br></div><div>For now I can think of several =
solutions:</div><div><br></div><div>1. Build type erasure directly into the=
 language. This would require maybe, and would be related also</div><div>
to overloading operator. (which currently cannot be done). Overloading this=
 operator could enable</div><div>classes like copy_on_write&lt;T&gt; and op=
tional&lt;T&gt; to have the same interface as the original class,</div>
<div>but this goes beyond the intention of this research.</div></div></bloc=
kquote><div><br><br><a href=3D"https://github.com/boostcon/cppnow_presentat=
ions_2013/blob/master/thu/overloading_dot.pdf?raw=3Dtrue">https://github.co=
m/boostcon/cppnow_presentations_2013/blob/master/thu/overloading_dot.pdf?ra=
w=3Dtrue</a><br>
<span class=3D""></span><br></div></div><br></div></div>

<p></p>

-- <br />
<br />
--- <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 />
Visit this group at <a href=3D"http://groups.google.com/a/isocpp.org/group/=
std-proposals/">http://groups.google.com/a/isocpp.org/group/std-proposals/<=
/a>.<br />

--001a11c22568969f5304f85ce0ee--

.
