220 39169 <58370075-8584-4d52-be3a-295aa2c8ce40@isocpp.org> article
Path: news.gmane.org!.POSTED!not-for-mail
From: rmbeer2@gmail.com
Newsgroups: gmane.comp.lang.c++.isocpp.proposals
Subject: new feature: replace a same old data with the new
 data. 'virtual' keyword is used.
Date: Sat, 14 Jul 2018 23:25:44 -0700 (PDT)
Lines: 325
Approved: news@gmane.org
Message-ID: <58370075-8584-4d52-be3a-295aa2c8ce40@isocpp.org>
Reply-To: std-proposals@isocpp.org
NNTP-Posting-Host: blaine.gmane.org
Mime-Version: 1.0
Content-Type: multipart/mixed; 
	boundary="----=_Part_127311_917147305.1531635944611"
X-Trace: blaine.gmane.org 1531635821 28225 195.159.176.226 (15 Jul 2018 06:23:41 GMT)
X-Complaints-To: usenet@blaine.gmane.org
NNTP-Posting-Date: Sun, 15 Jul 2018 06:23:41 +0000 (UTC)
To: ISO C++ Standard - Future Proposals <std-proposals@isocpp.org>
Original-X-From: std-proposals+bncBDI6L6W3SYLBB2WRVPNAKGQENRC7HFY@isocpp.org Sun Jul 15 08:23:37 2018
Return-path: <std-proposals+bncBDI6L6W3SYLBB2WRVPNAKGQENRC7HFY@isocpp.org>
Envelope-to: gclcip-std-proposals@m.gmane.org
Original-Received: from mail-yb0-f200.google.com ([209.85.213.200])
	by blaine.gmane.org with esmtp (Exim 4.84_2)
	(envelope-from <std-proposals+bncBDI6L6W3SYLBB2WRVPNAKGQENRC7HFY@isocpp.org>)
	id 1feaRU-0007Fu-QE
	for gclcip-std-proposals@m.gmane.org; Sun, 15 Jul 2018 08:23:37 +0200
Original-Received: by mail-yb0-f200.google.com with SMTP id b12-v6sf9040204ybr.12
        for <gclcip-std-proposals@m.gmane.org>; Sat, 14 Jul 2018 23:25:48 -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:subject:mime-version:x-original-sender
         :reply-to:precedence:mailing-list:list-id:list-post:list-help
         :list-archive:list-subscribe:list-unsubscribe;
        bh=15DoqL1alQgUPQvwQ3m1SnDayPb3h13RVMVd4l0e4kw=;
        b=ClwswtPUD7oXiNjNjmz6loQz3mRU5VZprUX38XFGsoMJs0cPNc++bMfgsBzmV03/4+
         TNHiEU6agJ2AIeu28QnssPw+lZM3W9yLzBS6iL4sqwBbqg82w8sYT0E6iraLK0MoD1Bj
         ILPbjyV26ZEyAwx2+j3zxGPaYfq1M0qRUwRYOpaJZifT9hh2Gz1Qtqh3+9rP5OQwlaut
         fureYiGoASmWwL3Qt/MhGmr90RjdWRl41yoNobSwCKKWx0WR5vp4J2K+Mq991SfxSZ2r
         PoBnkh5jkN+i16q/0WGMJTt8DQxVe4FDIklew0zIKw+2gLzySEDP43ZObbIGwCcE4cif
         h5WQ==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=date:from:to:message-id:subject:mime-version:x-original-sender
         :reply-to:precedence:mailing-list:list-id:list-post:list-help
         :list-archive:list-subscribe:list-unsubscribe;
        bh=15DoqL1alQgUPQvwQ3m1SnDayPb3h13RVMVd4l0e4kw=;
        b=KK8qFCnGGk7wUXUI1lo83PipV67dnO/2myjt9XSyURjX73Z0oGlkWlVghqruTjYKY3
         EGze6YQIRov9YxWJcJnvedENRpAAmx4MVAu3XM8mWdGv0y4U/jCjYUTghWhLHzoBAOuM
         nr87PkkWKyFWeH1YKtNqoy1kPaw50UKwrE48s0WRwFCyNpuK+73I1Kk7UMGIKlhhJtzW
         2hn50udJ66d0oqcuhr2NbQD+BMwH8wQt/Z0BhxoBjeuoDFJSWp/tqpL+EHfptwN2V7PA
         CNSa74wbowXkfPmmqQQOFz9ujgfSTZky06137U5g8mpYyJOlxH0A3LP3UWKRhhLRWICY
         ZpqA==
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: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=15DoqL1alQgUPQvwQ3m1SnDayPb3h13RVMVd4l0e4kw=;
        b=FWGXW22mrKykmZ1UwguC1gbFQ+9iGxcDq475yZ4a8HxDEI4yjzX7klqw2DI7YZyoNV
         YIUorwXteE2w5QPyOnDafeEkycnQBknRot30VnvuOBlAnsJHG32bp9Le0kUoaR/H2usy
         AqonblB+S1xoFB8X/+hd7bEkJ9/A0hkB8hRGZXbNfwCbI1F8MbSWhD/LzU7kWsMMR+eG
         3y0our6vIL1JAJ8JhxIMmvcyyLGtF+bBhh6OCk13Of1C68E0sfYVYzLxJKfRHTqj/HG0
         HHjLssrmpdCIEjNSDLNK9IOG+GdLLmXdM23iicxS0md6EcZjFbaLLDcJtUpZAzNYxbb2
         gg7w==
X-Gm-Message-State: AOUpUlHN+2HPJdJt1rG6t8k1s87AjGvjYAsVLinAiBx0VWr4pToDCQWJ
	pyTYlGTxjMhE37U/lop4O2cA0Q==
X-Google-Smtp-Source: AAOMgpdEjlTShHXSLTt12eDHd9coqiG+vdS5t8LbtKgk891eD5oqpVAu6vXV8RayYZrlEm7jtJuSBg==
X-Received: by 2002:a81:1b88:: with SMTP id b130-v6mr3591783ywb.184.1531635947365;
        Sat, 14 Jul 2018 23:25:47 -0700 (PDT)
X-BeenThere: std-proposals@isocpp.org
Original-Received: by 2002:a81:44b:: with SMTP id 72-v6ls3454757ywe.11.gmail; Sat, 14
 Jul 2018 23:25:45 -0700 (PDT)
X-Received: by 2002:a81:7dd6:: with SMTP id y205-v6mr1425808ywc.1.1531635945239;
        Sat, 14 Jul 2018 23:25:45 -0700 (PDT)
X-Original-Sender: rmbeer2@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:39169
Archived-At: <http://permalink.gmane.org/gmane.comp.lang.c++.isocpp.proposals/39169>

------=_Part_127311_917147305.1531635944611
Content-Type: multipart/alternative; 
	boundary="----=_Part_127312_97413233.1531635944612"

------=_Part_127312_97413233.1531635944612
Content-Type: text/plain; charset="UTF-8"

This is based on the other thread: 
https://groups.google.com/a/isocpp.org/forum/#!topic/std-proposals/dSAu_sbyEXA

I want to start with this new thread with a more complete proposal, since I 
realize that you can not think for yourselves and much less study it.
This proposal has already defined the sentence that will be used in the 
code.

The problematic situation that is intended to be solved is the following:

   member
A ---------> B
|            |
|inheritance | inheritance
|            |
v  member    v
C ---------> D

Whose code is the following:

Code:
---------------------------------------

class A {
public:
    A(int z_) : z(z_) {    }
    int z;
};
class C: public A {
public:
    C(int y_) : y(y_), A(y_) {    }
    long y;
};

class B {
public:
    B() : a(1) { }
    void f2() {
        std::cout << "A:" << a.z << std::endl;
    }
    virtual A a;
};
class D: public B {
public:
    B() : a(3) { }
    void f2() {
        std::cout << "A:" << a.z << std::endl;
        B::f2();
    }
    virtual C a;
};

int main(){
    B b; D d;
    b.f2(); d.f2();
    return 0;
}

/* OUTPUT:
A:1
C+A:3
A:3
*/
---------------------------------------

DO NOT EXECUTE THIS CODE, IT DOES NOT WORK.
This code includes with the keyword to work on the operation of the 
variable, what it does is replace "A a;" for "C a;" within the classes 
defined at the time of the declaration of variables.
With class B declared in "b", it will contain the data of "A a;" (A). With 
class D declared in "d", it will contain the data of "C a;" (C+A).
If the keyword "virtual" is omitted in the two variables declared "A a;" 
and "C a;", declared class D will have an overload of variable "a" as 
(C+A,A).
But with the keyword "virtual", the class D declared in the variable "d", 
will have as variable "a" only (C+A), being used in D the content of the 
data of C from (C+A) and in B the content of the data of A from (C+A).

ADVANTAGE:
- It allows the functions of the base class to use the data of an inherited 
class, especially in the calls to functions of a member class.
- Lets inherit the class next to another class.
- It allows to share between classes any data of the base classes without 
overloads.
- Internally it does not interfere with the assembly code and the data 
structure.

RULES:
- "virtual" must be included in a class declaration about a variable.
- It only works with variables of the same name.
- Overlaying an inherited class with another inherited class should work as 
a "union".

================================================================================

Esto esta basado en el otro hilo: 
https://groups.google.com/a/isocpp.org/forum/#!topic/std-proposals/dSAu_sbyEXA

Quiero comenzar con este nuevo hilo con una propuesta mas completa, ya que 
me doy cuenta que ustedes no pueden pensarlos por si mismos y mucho menos 
estudiarlo.
Esta propuesta ya tiene definido incluso la setencia que se va a usar en el 
codigo.

La situacion problematica que se pretende resolver es la siguiente:

   member
A ---------> B
|            |
|inheritance | inheritance
|            |
v  member    v
C ---------> D

Cuyo codigo es el siguiente:

Code:
---------------------------------------

class A {
public:
    A(int z_) : z(z_) {    }
    int z;
};
class C: public A {
public:
    C(int y_) : y(y_), A(y_) {    }
    long y;
};

class B {
public:
    B() : a(1) { }
    void f2() {
        std::cout << "A:" << a.z << std::endl;
    }
    virtual A a;
};
class D: public B {
public:
    B() : a(3) { }
    void f2() {
        std::cout << "A:" << a.z << std::endl;
        B::f2();
    }
    virtual C a;
};

int main(){
    B b; D d;
    b.f2(); d.f2();
    return 0;
}

/* OUTPUT:
A:1
C+A:3
A:3
*/
---------------------------------------

NO EJECUTAR ESTE CODIGO, NO FUNCIONA.
Dicho codigo incluye con la palabra clave a trabajar en el funcionamiento 
de la variable, que lo que hace es reemplazar "A a;" por "C a;" dentro de 
las clases definidas en el momento de la declaracion de variables.
Con la clase B declarada en "b", contendra los datos de "A a;" (A). Con la 
clase D declarada en "d", contendra los datos de "C a;" (C+A).
Si se omite la palabra clave "virtual" en las dos variables declaradas "A 
a;" y "C a;", la clase D declarada tendra una sobrecarga de variable "a" 
como (C+A,A).
Pero con la palabra clave "virtual", la clase D declarada en la varible 
"d", tendra como variable "a" solo (C+A), siendo usado en D el contenido de 
los datos de C desde (C+A) y en B el contenido de los datos de A desde 
(C+A).

VENTAJAS:
- Permite a las funciones de la clase base el uso de los datos de una clase 
heredada, sobre todo en los llamados a funciones de una clase miembro.
- Permite heredar la clase a la par de otra clase.
- Permite compartir entre clases cualquier datos de las clases bases sin 
sobrecargas.
- Internamente no interfiere con el codigo de ensamblado y con la 
estructura de datos.

REGLAS:
- Debe incluirse "virtual" en una declaracion de clase sobre una variable.
- Solo funciona con variables del mismo nombre.
- Superponer una clase heredada por otra clase heredada deberia funcionar 
como "union".

-- 
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/58370075-8584-4d52-be3a-295aa2c8ce40%40isocpp.org.

------=_Part_127312_97413233.1531635944612
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">This is based on the other thread: https://groups.google.c=
om/a/isocpp.org/forum/#!topic/std-proposals/dSAu_sbyEXA<br><br>I want to st=
art with this new thread with a more complete proposal, since I realize tha=
t you can not think for yourselves and much less study it.<br>This proposal=
 has already defined the sentence that will be used in the code.<br><br>The=
 problematic situation that is intended to be solved is the following:<br><=
br>=C2=A0=C2=A0 member<br>A ---------&gt; B<br>|=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |<br>|inheritance | inheritance<br>=
|=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |<br>v=
=C2=A0 member=C2=A0=C2=A0=C2=A0 v<br>C ---------&gt; D<br><br>Whose code is=
 the following:<br><br>Code:<br>---------------------------------------<br>=
<br>class A {<br>public:<br>=C2=A0=C2=A0=C2=A0 A(int z_) : z(z_) {=C2=A0=C2=
=A0=C2=A0 }<br>=C2=A0=C2=A0=C2=A0 int z;<br>};<br>class C: public A {<br>pu=
blic:<br>=C2=A0=C2=A0=C2=A0 C(int y_) : y(y_), A(y_) {=C2=A0=C2=A0=C2=A0 }<=
br>=C2=A0=C2=A0=C2=A0 long y;<br>};<br><br>class B {<br>public:<br>=C2=A0=
=C2=A0=C2=A0 B() : a(1) { }<br>=C2=A0=C2=A0=C2=A0 void f2() {<br>=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 std::cout &lt;&lt; &quot;A:&quot; &lt;&lt=
; a.z &lt;&lt; std::endl;<br>=C2=A0=C2=A0=C2=A0 }<br>=C2=A0=C2=A0=C2=A0 vir=
tual A a;<br>};<br>class D: public B {<br>public:<br>=C2=A0=C2=A0=C2=A0 B()=
 : a(3) { }<br>=C2=A0=C2=A0=C2=A0 void f2() {<br>=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0 std::cout &lt;&lt; &quot;A:&quot; &lt;&lt; a.z &lt;&lt; =
std::endl;<br>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 B::f2();<br>=C2=A0=
=C2=A0=C2=A0 }<br>=C2=A0=C2=A0=C2=A0 virtual C a;<br>};<br><br>int main(){<=
br>=C2=A0=C2=A0=C2=A0 B b; D d;<br>=C2=A0=C2=A0=C2=A0 b.f2(); d.f2();<br>=
=C2=A0=C2=A0=C2=A0 return 0;<br>}<br><br>/* OUTPUT:<br>A:1<br>C+A:3<br>A:3<=
br>*/<br>---------------------------------------<br><br>DO NOT EXECUTE THIS=
 CODE, IT DOES NOT WORK.<br>This code includes with the keyword to work on =
the operation of the variable, what it does is replace &quot;A a;&quot; for=
 &quot;C a;&quot; within the classes defined at the time of the declaration=
 of variables.<br>With class B declared in &quot;b&quot;, it will contain t=
he data of &quot;A a;&quot; (A). With class D declared in &quot;d&quot;, it=
 will contain the data of &quot;C a;&quot; (C+A).<br>If the keyword &quot;v=
irtual&quot; is omitted in the two variables declared &quot;A a;&quot; and =
&quot;C a;&quot;, declared class D will have an overload of variable &quot;=
a&quot; as (C+A,A).<br>But with the keyword &quot;virtual&quot;, the class =
D declared in the variable &quot;d&quot;, will have as variable &quot;a&quo=
t; only (C+A), being used in D the content of the data of C from (C+A) and =
in B the content of the data of A from (C+A).<br><br>ADVANTAGE:<br>- It all=
ows the functions of the base class to use the data of an inherited class, =
especially in the calls to functions of a member class.<br>- Lets inherit t=
he class next to another class.<br>- It allows to share between classes any=
 data of the base classes without overloads.<br>- Internally it does not in=
terfere with the assembly code and the data structure.<br><br>RULES:<br>- &=
quot;virtual&quot; must be included in a class declaration about a variable=
..<br>- It only works with variables of the same name.<br>- Overlaying an in=
herited class with another inherited class should work as a &quot;union&quo=
t;.<br><br>=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D<br><br>Esto esta basado en el otro hilo: https:=
//groups.google.com/a/isocpp.org/forum/#!topic/std-proposals/dSAu_sbyEXA<br=
><br>Quiero comenzar con este nuevo hilo con una propuesta mas completa, ya=
 que me doy cuenta que ustedes no pueden pensarlos por si mismos y mucho me=
nos estudiarlo.<br>Esta propuesta ya tiene definido incluso la setencia que=
 se va a usar en el codigo.<br><br>La situacion problematica que se pretend=
e resolver es la siguiente:<br><br>=C2=A0=C2=A0 member<br>A ---------&gt; B=
<br>|=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |<b=
r>|inheritance | inheritance<br>|=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0 |<br>v=C2=A0 member=C2=A0=C2=A0=C2=A0 v<br>C -----=
----&gt; D<br><br>Cuyo codigo es el siguiente:<br><br>Code:<br>------------=
---------------------------<br><br>class A {<br>public:<br>=C2=A0=C2=A0=C2=
=A0 A(int z_) : z(z_) {=C2=A0=C2=A0=C2=A0 }<br>=C2=A0=C2=A0=C2=A0 int z;<br=
>};<br>class C: public A {<br>public:<br>=C2=A0=C2=A0=C2=A0 C(int y_) : y(y=
_), A(y_) {=C2=A0=C2=A0=C2=A0 }<br>=C2=A0=C2=A0=C2=A0 long y;<br>};<br><br>=
class B {<br>public:<br>=C2=A0=C2=A0=C2=A0 B() : a(1) { }<br>=C2=A0=C2=A0=
=C2=A0 void f2() {<br>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 std::cout =
&lt;&lt; &quot;A:&quot; &lt;&lt; a.z &lt;&lt; std::endl;<br>=C2=A0=C2=A0=C2=
=A0 }<br>=C2=A0=C2=A0=C2=A0 virtual A a;<br>};<br>class D: public B {<br>pu=
blic:<br>=C2=A0=C2=A0=C2=A0 B() : a(3) { }<br>=C2=A0=C2=A0=C2=A0 void f2() =
{<br>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 std::cout &lt;&lt; &quot;A:=
&quot; &lt;&lt; a.z &lt;&lt; std::endl;<br>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0 B::f2();<br>=C2=A0=C2=A0=C2=A0 }<br>=C2=A0=C2=A0=C2=A0 virtual=
 C a;<br>};<br><br>int main(){<br>=C2=A0=C2=A0=C2=A0 B b; D d;<br>=C2=A0=C2=
=A0=C2=A0 b.f2(); d.f2();<br>=C2=A0=C2=A0=C2=A0 return 0;<br>}<br><br>/* OU=
TPUT:<br>A:1<br>C+A:3<br>A:3<br>*/<br>-------------------------------------=
--<br><br>NO EJECUTAR ESTE CODIGO, NO FUNCIONA.<br>Dicho codigo incluye con=
 la palabra clave a trabajar en el funcionamiento de la variable, que lo qu=
e hace es reemplazar &quot;A a;&quot; por &quot;C a;&quot; dentro de las cl=
ases definidas en el momento de la declaracion de variables.<br>Con la clas=
e B declarada en &quot;b&quot;, contendra los datos de &quot;A a;&quot; (A)=
.. Con la clase D declarada en &quot;d&quot;, contendra los datos de &quot;C=
 a;&quot; (C+A).<br>Si se omite la palabra clave &quot;virtual&quot; en las=
 dos variables declaradas &quot;A a;&quot; y &quot;C a;&quot;, la clase D d=
eclarada tendra una sobrecarga de variable &quot;a&quot; como (C+A,A).<br>P=
ero con la palabra clave &quot;virtual&quot;, la clase D declarada en la va=
rible &quot;d&quot;, tendra como variable &quot;a&quot; solo (C+A), siendo =
usado en D el contenido de los datos de C desde (C+A) y en B el contenido d=
e los datos de A desde (C+A).<br><br>VENTAJAS:<br>- Permite a las funciones=
 de la clase base el uso de los datos de una clase heredada, sobre todo en =
los llamados a funciones de una clase miembro.<br>- Permite heredar la clas=
e a la par de otra clase.<br>- Permite compartir entre clases cualquier dat=
os de las clases bases sin sobrecargas.<br>- Internamente no interfiere con=
 el codigo de ensamblado y con la estructura de datos.<br><br>REGLAS:<br>- =
Debe incluirse &quot;virtual&quot; en una declaracion de clase sobre una va=
riable.<br>- Solo funciona con variables del mismo nombre.<br>- Superponer =
una clase heredada por otra clase heredada deberia funcionar como &quot;uni=
on&quot;.<br><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/58370075-8584-4d52-be3a-295aa2c8ce40%=
40isocpp.org?utm_medium=3Demail&utm_source=3Dfooter">https://groups.google.=
com/a/isocpp.org/d/msgid/std-proposals/58370075-8584-4d52-be3a-295aa2c8ce40=
%40isocpp.org</a>.<br />

------=_Part_127312_97413233.1531635944612--

------=_Part_127311_917147305.1531635944611--

.
