220 34521 <52fe4cec-9a48-4518-ba8a-ebfec7ab0136@isocpp.org> article
Path: news.gmane.org!.POSTED!not-for-mail
From: euloanty@live.com
Newsgroups: gmane.comp.lang.c++.isocpp.proposals
Subject: Re: BOYCOTT interface keyword proposal!
Date: Fri, 29 Sep 2017 13:38:35 -0700 (PDT)
Lines: 151
Approved: news@gmane.org
Message-ID: <52fe4cec-9a48-4518-ba8a-ebfec7ab0136@isocpp.org>
References: <af1b40e1-8c4e-43af-a2d8-ae4f87382ca8@isocpp.org>
 <69c7d152-2104-f215-2b87-ce7b22b94fe1@gmail.com> <80a6f4f1-cfe2-4130-adb4-2b4d0db2ab07@isocpp.org>
 <c1435cfc-453f-55f4-707e-37b025c18e07@gmail.com> <aa2e1845-bf5b-465c-8d90-3c2c068dee8b@isocpp.org>
 <d7f09ac4-c401-3778-867d-a15c595ee4a9@gmail.com> <4e510005-af95-4a39-a261-b993ffb7a20b@isocpp.org>
 <CAGsORuCxACbik8Wh9AD2zAkD5=QWq53dcS6Np5xxm0mMZv8P5Q@mail.gmail.com> <5facc504-0c16-431c-ac04-313039185938@isocpp.org>
 <CAM76qmvKL59OOQpeetqbZ75Yeq3kgooy8DxYkXngh9faiJy0Mg@mail.gmail.com>
Reply-To: std-proposals@isocpp.org
NNTP-Posting-Host: blaine.gmane.org
Mime-Version: 1.0
Content-Type: multipart/mixed; 
	boundary="----=_Part_2526_1457219539.1506717515853"
X-Trace: blaine.gmane.org 1506717519 24114 195.159.176.226 (29 Sep 2017 20:38:39 GMT)
X-Complaints-To: usenet@blaine.gmane.org
NNTP-Posting-Date: Fri, 29 Sep 2017 20:38:39 +0000 (UTC)
To: ISO C++ Standard - Future Proposals <std-proposals@isocpp.org>
Original-X-From: std-proposals+bncBDPYX6PYRQNBBTG6XLHAKGQEGCGTSEI@isocpp.org Fri Sep 29 22:38:34 2017
Return-path: <std-proposals+bncBDPYX6PYRQNBBTG6XLHAKGQEGCGTSEI@isocpp.org>
Envelope-to: gclcip-std-proposals@m.gmane.org
Original-Received: from mail-ua0-f198.google.com ([209.85.217.198])
	by blaine.gmane.org with esmtp (Exim 4.84_2)
	(envelope-from <std-proposals+bncBDPYX6PYRQNBBTG6XLHAKGQEGCGTSEI@isocpp.org>)
	id 1dy23M-0005cD-3G
	for gclcip-std-proposals@m.gmane.org; Fri, 29 Sep 2017 22:38:32 +0200
Original-Received: by mail-ua0-f198.google.com with SMTP id q29sf320793uaf.12
        for <gclcip-std-proposals@m.gmane.org>; Fri, 29 Sep 2017 13:38:40 -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
         :list-post:list-help:list-archive:list-subscribe:list-unsubscribe;
        bh=qc/Xhu2RdBjHAH+1RcDgHOfYp6s6X3dMX7KLWSf0EYk=;
        b=Yv1IIzkhajhN2Ak7QoNopHY0VPgBS67Rckz7WGXavPcjCpyzHykvJga5PPXDRnl4lD
         NZMh6IaxcNbO1UAALz9xn73cnG/7cANHyzGQNrMbGXoNEhJjPg9y9ENOt3rG/NdMiwXl
         IFa+qjDKnCcVattLSbz2JoVqXL6kej/HZmXpVzzeHQtxSOpe097Jhe/8FQmCOYS82Qsf
         jbcyMFDYeO6mde4xt0OI83VfFElH3tT2HzLS9DFg6ll4SxnkCO8hIpGHI1ARr+uUx7RE
         odL2HIARcwADVpjvj0AKMmKjoaK4yTGyB+2IRzP1d2vkpIcwJeCobuSTUTEXRKQls/kM
         XemA==
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=qc/Xhu2RdBjHAH+1RcDgHOfYp6s6X3dMX7KLWSf0EYk=;
        b=SS6w6t+EOSXAg+OtTt5ZpHok6ZxXRvUoO4sonx17RYmTgPERGqTe8+jyJGxPLFIyn5
         rKKzNP5zZQlvG6bPXVO1rsCu1mdgGkwG0atXr11V3yTBP2DEKi8NA3d0iZq0GMQQ9rf9
         w3N6pXfx1NmdB7hThLdD3OvS/ht0oQyOuRx8mn0DRBPWiQVg74GfNMIrRpAh9/llnqwJ
         FRf4E12li/y9y8CQeped49OUZ2jq4DarzD9e5WSmW5/RKYAQyUb6LNj6rkhepBbSVu1m
         Eim/9aoUTDKgYuYSSv8GkF1S8HOmR8rcfzTkhOxaHbGvUMDP4nx8CUiUbBukQe4oBgwF
         JkJw==
X-Gm-Message-State: AHPjjUjWEokYSKP/wrRAVi4axX7gB9FRvV2K5zJuGyl4R6QU/PU7BM2b
	m8A4n1WbxcP2PS66CAIu3HEmWg==
X-Google-Smtp-Source: AOwi7QCRwXtByyCY5liM0etzb4eH2u65AHVw6xHGiplqEmBq2juWwFu7JmmuCkLudE9dIkVkTw/otw==
X-Received: by 10.176.68.34 with SMTP id m31mr995797uam.52.1506717517615;
        Fri, 29 Sep 2017 13:38:37 -0700 (PDT)
X-BeenThere: std-proposals@isocpp.org
Original-Received: by 10.31.219.65 with SMTP id s62ls2063838vkg.13.gmail; Fri, 29 Sep
 2017 13:38:36 -0700 (PDT)
X-Received: by 10.31.169.76 with SMTP id s73mr267618vke.14.1506717516346;
        Fri, 29 Sep 2017 13:38:36 -0700 (PDT)
In-Reply-To: <CAM76qmvKL59OOQpeetqbZ75Yeq3kgooy8DxYkXngh9faiJy0Mg@mail.gmail.com>
X-Original-Sender: euloanty@live.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:34521
Archived-At: <http://permalink.gmane.org/gmane.comp.lang.c++.isocpp.proposals/34521>

------=_Part_2526_1457219539.1506717515853
Content-Type: multipart/alternative; 
	boundary="----=_Part_2527_1714154341.1506717515853"

------=_Part_2527_1714154341.1506717515853
Content-Type: text/plain; charset="UTF-8"

Will we have standard type_erasure metaclass?

On Friday, September 29, 2017 at 4:27:51 PM UTC-4, Manuel Bergler wrote:
>
> 2017-09-29 22:19 GMT+02:00 <eulo...@live.com <javascript:>>:
>
>> You don't need that in C++. Type erasure can do everything you want.
>>
>
> Depending on your implementation, the type-erasure itself also might be 
> implemented in terms of an abstract interface  (see e.g. "Sean Parent's 
> Inheritance is the base class of evil", or Johnathan's reply) . Once we 
> have meta-classes, since it relies on reflection and compile-time code 
> injection, you can easily write a generic type-erasure wrapper
>
> template <Interface I>
> class type_erased;
>
> that can be used with any user-defined `interface`. So an `interface` 
> meta-class still provides value in documenting the interface you have, even 
> if you don't use it in the Java sense.
>
>
>> On Friday, September 29, 2017 at 11:57:38 AM UTC-4, Zhihao Yuan wrote:
>>>
>>> On Sep 29, 2017 5:31 AM, <eulo...@live.com> wrote:
>>>
>>> Conflict with concepts lite! I HATE OOP!
>>>
>>>
>>>
>>> I damn love OOP and Java, Ha Ha Ha!
>>>
>>> --
>>> Zhihao
>>>
>> -- 
>> 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-proposal...@isocpp.org <javascript:>.
>> To post to this group, send email to std-pr...@isocpp.org <javascript:>.
>> To view this discussion on the web visit 
>> https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/5facc504-0c16-431c-ac04-313039185938%40isocpp.org 
>> <https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/5facc504-0c16-431c-ac04-313039185938%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/52fe4cec-9a48-4518-ba8a-ebfec7ab0136%40isocpp.org.

------=_Part_2527_1714154341.1506717515853
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">Will we have standard type_erasure metaclass?<br><br>On Fr=
iday, September 29, 2017 at 4:27:51 PM UTC-4, Manuel Bergler wrote:<blockqu=
ote class=3D"gmail_quote" style=3D"margin: 0;margin-left: 0.8ex;border-left=
: 1px #ccc solid;padding-left: 1ex;"><div dir=3D"ltr"><div><div class=3D"gm=
ail_quote">2017-09-29 22:19 GMT+02:00  <span dir=3D"ltr">&lt;<a onmousedown=
=3D"this.href=3D&#39;javascript:&#39;;return true;" onclick=3D"this.href=3D=
&#39;javascript:&#39;;return true;" href=3D"javascript:" target=3D"_blank" =
rel=3D"nofollow" gdf-obfuscated-mailto=3D"GHTnesT-AgAJ">eulo...@live.com</a=
>&gt;</span>:<br><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8=
ex;border-left:1px #ccc solid;padding-left:1ex"><div dir=3D"ltr">You don&#3=
9;t need that in C++. Type erasure can do everything you want.<br></div></b=
lockquote><div><br></div><div>Depending on your implementation, the type-er=
asure itself also might be implemented in terms of an abstract interface=C2=
=A0 (see e.g. &quot;Sean Parent&#39;s Inheritance is the base class of evil=
&quot;, or Johnathan&#39;s reply) . Once we have meta-classes, since it rel=
ies on reflection and compile-time code injection, you can easily write a g=
eneric type-erasure wrapper</div></div><div class=3D"gmail_quote"><br></div=
><div class=3D"gmail_quote">template &lt;Interface I&gt;</div><div class=3D=
"gmail_quote">class type_erased;</div><div class=3D"gmail_quote"><br></div>=
<div class=3D"gmail_quote">that can be used with any user-defined `interfac=
e`. So an `interface` meta-class still provides value in documenting the in=
terface you have, even if you don&#39;t use it in the Java sense.<br><div><=
br></div><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;borde=
r-left:1px #ccc solid;padding-left:1ex"><div dir=3D"ltr"><br>On Friday, Sep=
tember 29, 2017 at 11:57:38 AM UTC-4, Zhihao Yuan wrote:<span><blockquote c=
lass=3D"gmail_quote" style=3D"margin:0;margin-left:0.8ex;border-left:1px #c=
cc solid;padding-left:1ex"><div dir=3D"auto"><div><div><div class=3D"gmail_=
quote">On Sep 29, 2017 5:31 AM,  &lt;<a rel=3D"nofollow">eulo...@live.com</=
a>&gt; wrote:<br type=3D"attribution"><blockquote style=3D"margin:0 0 0 .8e=
x;border-left:1px #ccc solid;padding-left:1ex"><div dir=3D"ltr">Conflict wi=
th concepts lite! I HATE OOP!<br></div></blockquote></div></div></div><div =
dir=3D"auto"><br></div><div dir=3D"auto"><br></div><div dir=3D"auto">I damn=
 love OOP and Java, Ha Ha Ha!</div><div dir=3D"auto"><br></div><div dir=3D"=
auto">--</div><div dir=3D"auto">Zhihao</div></div>
</blockquote></span></div><span>

<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 onmousedown=3D"this.href=3D&#39;javascript:&#39;;return true;" o=
nclick=3D"this.href=3D&#39;javascript:&#39;;return true;" href=3D"javascrip=
t:" target=3D"_blank" rel=3D"nofollow" gdf-obfuscated-mailto=3D"GHTnesT-AgA=
J">std-proposal...@<wbr>isocpp.org</a>.<br>
To post to this group, send email to <a onmousedown=3D"this.href=3D&#39;jav=
ascript:&#39;;return true;" onclick=3D"this.href=3D&#39;javascript:&#39;;re=
turn true;" href=3D"javascript:" target=3D"_blank" rel=3D"nofollow" gdf-obf=
uscated-mailto=3D"GHTnesT-AgAJ">std-pr...@isocpp.org</a>.<br></span>
To view this discussion on the web visit <a onmousedown=3D"this.href=3D&#39=
;https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/5facc504-0c16=
-431c-ac04-313039185938%40isocpp.org?utm_medium\x3demail\x26utm_source\x3df=
ooter&#39;;return true;" onclick=3D"this.href=3D&#39;https://groups.google.=
com/a/isocpp.org/d/msgid/std-proposals/5facc504-0c16-431c-ac04-313039185938=
%40isocpp.org?utm_medium\x3demail\x26utm_source\x3dfooter&#39;;return true;=
" href=3D"https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/5fac=
c504-0c16-431c-ac04-313039185938%40isocpp.org?utm_medium=3Demail&amp;utm_so=
urce=3Dfooter" target=3D"_blank" rel=3D"nofollow">https://groups.google.com=
/a/<wbr>isocpp.org/d/msgid/std-<wbr>proposals/5facc504-0c16-431c-<wbr>ac04-=
313039185938%40isocpp.org</a><wbr>.<br>
</blockquote></div><br></div></div>
</blockquote></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/52fe4cec-9a48-4518-ba8a-ebfec7ab0136%=
40isocpp.org?utm_medium=3Demail&utm_source=3Dfooter">https://groups.google.=
com/a/isocpp.org/d/msgid/std-proposals/52fe4cec-9a48-4518-ba8a-ebfec7ab0136=
%40isocpp.org</a>.<br />

------=_Part_2527_1714154341.1506717515853--

------=_Part_2526_1457219539.1506717515853--

.
