220 25092 <1bf9d1c6-5896-426c-bd5f-422b0492800f@isocpp.org> article
Path: news.gmane.org!not-for-mail
From: "'Walt Karas' via ISO C++ Standard - Future Proposals" <std-proposals@isocpp.org>
Newsgroups: gmane.comp.lang.c++.isocpp.proposals
Subject: Re: "Components" template with implicitly defined
 partial specializations for all classes
Date: Wed, 9 Mar 2016 11:13:00 -0800 (PST)
Lines: 108
Approved: news@gmane.org
Message-ID: <1bf9d1c6-5896-426c-bd5f-422b0492800f@isocpp.org>
References: <fd64d8c9-703d-45d8-a9b2-4b8a222c02f0@isocpp.org>
 <56D9E17F.2070202@wanadoo.fr>
 <2b0bcca0-0939-49f7-939b-4d688f8dfe34@isocpp.org>
 <324dbff9-84da-46f2-b2f3-3d9fe0cc2082@isocpp.org>
 <cc5a1d38-d1f0-4e41-9ee1-29bad95bb15e@isocpp.org> <56DA88DF.90000@wanadoo.fr>
 <c303f05a-15d4-445f-81f8-e12f67842bcc@isocpp.org>
 <7e46c46d-2e18-4cec-92c1-4f4d7fbc786b@isocpp.org>
 <d6495758-627e-434d-a867-ed473d869f47@isocpp.org>
 <39bbeb02-62b8-497b-8d65-5780a6baca97@isocpp.org>
 <05ac78e7-3d30-4a99-ad0f-a3d29497e2ff@isocpp.org>
 <2c7cb187-ad83-4ceb-af8b-1e61d4fb4d0d@isocpp.org>
 <56DD28C8.7020708@wanadoo.fr>
 <840b1f9a-be05-4454-b20d-99e2ccb3c1f1@isocpp.org>
 <390f2de7-6ab3-47cc-b76c-a7454dec5fc5@isocpp.org>
 <741522c6-22f7-441d-81ab-e1ca44e085dc@isocpp.org>
 <b9f32b39-94e0-412f-9a87-6fe118b10b02@isocpp.org>
 <74980e61-cfdf-43b1-8bb4-e56263d083bb@isocpp.org>
 <4612cf90-7ca4-4d4e-9137-b535200a0950@isocpp.org>
 <b67154e5-36e4-4a8d-b07c-05139d6582ab@isocpp.org>
Reply-To: std-proposals@isocpp.org
NNTP-Posting-Host: plane.gmane.org
Mime-Version: 1.0
Content-Type: multipart/mixed; 
	boundary="----=_Part_643_1680475868.1457550780244"
X-Trace: ger.gmane.org 1457550816 28454 80.91.229.3 (9 Mar 2016 19:13:36 GMT)
X-Complaints-To: usenet@ger.gmane.org
NNTP-Posting-Date: Wed, 9 Mar 2016 19:13:36 +0000 (UTC)
To: ISO C++ Standard - Future Proposals <std-proposals@isocpp.org>
Original-X-From: std-proposals+bncBDFLZXWOVYIBBPPLQG3QKGQE6KZK4ZY@isocpp.org Wed Mar 09 20:13:22 2016
Return-path: <std-proposals+bncBDFLZXWOVYIBBPPLQG3QKGQE6KZK4ZY@isocpp.org>
Envelope-to: gclcip-std-proposals@m.gmane.org
Original-Received: from mail-yk0-f198.google.com ([209.85.160.198])
	by plane.gmane.org with esmtp (Exim 4.69)
	(envelope-from <std-proposals+bncBDFLZXWOVYIBBPPLQG3QKGQE6KZK4ZY@isocpp.org>)
	id 1adjXb-0001Jz-8t
	for gclcip-std-proposals@m.gmane.org; Wed, 09 Mar 2016 20:13:03 +0100
Original-Received: by mail-yk0-f198.google.com with SMTP id w83sf68129392ykf.0
        for <gclcip-std-proposals@m.gmane.org>; Wed, 09 Mar 2016 11:13:02 -0800 (PST)
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:sender
         :list-subscribe:list-unsubscribe;
        bh=2NqrUxIM4sekAfNoLmda9zQ1GsIxwPKoEyg+XVWfxAk=;
        b=Of/AlvRjmDMIbM998FFgAUac+mcSmETshXqljHsJtC80rZhmXZUoB+0Q1IiaOHrN04
         X1/cIFL8mnqiCkP4GPi1QzOM+5gzJqWZrgeQ1oqZ0O2q3CRc8tXcRIT8BpmQeuQ1Kxec
         WH0jdeAnidnyRsnPFteB7nbkwdPTH4hTbaomMH9FU+Y4c6T2K2zSEJ5Q97uTxEqP96NT
         D1XN19dV+1itUt6BsUv7ui4e/hiiWf1P7rh1XCijqVJii/Df9c8K7pT5jebOR/DIoFRb
         N1szek9BIBfUBjDfpLUphj4xqlhBxQ1crkrxj41FwEzAca3ftovJZJydLr3V3MUK8be0
         Ts1A==
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:sender:list-subscribe:list-unsubscribe;
        bh=2NqrUxIM4sekAfNoLmda9zQ1GsIxwPKoEyg+XVWfxAk=;
        b=l0kpbgUG7F02Iq+ecTB4CTcz2WRhylsvCwA/sZ9Gha65tMpMqShcyzpuA0p4PFbg9b
         BLxrmupcIaoIOlXA8o9MCbi5sBstSrTqThCNYx8SC1wk1V39v/XVRl3itj/tH/tFyzKD
         XpI7+XXG8lNLI7mbNP1zMhjSrJ2qy/lDIgjYx/xhWOvkqRn4MhN29OmfgCsNRfZ0ToLD
         ASK1LXEC9jcbmEN5NRrFsL7YiIRupBzp2wM4XKs3IU25DhQrAstVX6hrTmzylkmFrGWk
         gTcaRZ8nNvbWEjkfK/0lNWKxq+wQs+9jnLhtSVXBJg5FNqOwA7IGC05Zy8QLLlCOhkp4
         pq+w==
X-Gm-Message-State: AD7BkJK/Imypfe3gvcrQoxiSA+pVbqdUHq1WJ/rOKG2P3bXszdLcc9Zw2WpHlPePS0PgfA==
X-Received: by 10.140.234.10 with SMTP id f10mr4627942qhc.5.1457550782191;
        Wed, 09 Mar 2016 11:13:02 -0800 (PST)
X-BeenThere: std-proposals@isocpp.org
Original-Received: by 10.50.33.74 with SMTP id p10ls663975igi.23.gmail; Wed, 09 Mar
 2016 11:13:00 -0800 (PST)
X-Received: by 10.50.88.3 with SMTP id bc3mr552853igb.6.1457550780850;
        Wed, 09 Mar 2016 11:13:00 -0800 (PST)
In-Reply-To: <b67154e5-36e4-4a8d-b07c-05139d6582ab@isocpp.org>
X-Original-Sender: wkaras@yahoo.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/>
Original-Sender: std-proposals@isocpp.org
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>
X-Original-From: Walt Karas <wkaras@yahoo.com>
Xref: news.gmane.org gmane.comp.lang.c++.isocpp.proposals:25092
Archived-At: <http://permalink.gmane.org/gmane.comp.lang.c++.isocpp.proposals/25092>

------=_Part_643_1680475868.1457550780244
Content-Type: multipart/alternative; 
	boundary="----=_Part_644_2068264160.1457550780244"

------=_Part_644_2068264160.1457550780244
Content-Type: text/plain; charset=UTF-8



On Wednesday, March 9, 2016 at 1:29:09 PM UTC-5, Cleiton Santoia wrote:
>
> No I was thinking member pointers could be extended to support base 
>> classes:
>>
>> Base Derived::*p = &Derived::Base;
>>
>
> Since types does not have any storage to be pointed at... I suppose you 
> mean to build some structure and (at compile time probably) return the 
> pointer to that structure thru &[typename], so & is your reflective 
> operator.
> So your ideia is basically the p0194r0 
> <http://www.google.com/url?q=http%3A%2F%2Fopen-std.org%2FJTC1%2FSC22%2FWG21%2Fdocs%2Fpapers%2F2016%2Fp0194r0.pdf&sa=D&sntz=1&usg=AFQjCNHbf9XfF-viAIq1hGkw55gs5SrzUQ>, 
> but with instead of using 'reflexpr' as operator, you are using '&' as 
> operator...
>
> My question: how to get the name of a "free" function (&printf) ? class 
> members of a namespace (&std::experimental) ? or a classes from a module ?
>

A hopefully illustrative concrete example:

struct A { int i; };

struct B { int i; };

struct C : public A, public B { };

struct D { int i, j; };

B C::*p1 = &C:::B;

int D::*p2 = &D::j;

p1 and p2 would be initialized with the same numeric value from a machine 
language point of view.  Typically 4 on a 32-bit architecture.

-- 
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/1bf9d1c6-5896-426c-bd5f-422b0492800f%40isocpp.org.

------=_Part_644_2068264160.1457550780244
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><br><br>On Wednesday, March 9, 2016 at 1:29:09 PM UTC-5, C=
leiton Santoia wrote:<blockquote class=3D"gmail_quote" style=3D"margin: 0;m=
argin-left: 0.8ex;border-left: 1px #ccc solid;padding-left: 1ex;"><div dir=
=3D"ltr"><blockquote 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>No I=
 was thinking member pointers could be extended to support base classes:</d=
iv><div><br></div><div>Base Derived::*p =3D &amp;Derived::Base;</div></div>=
</blockquote><div><br></div><div><div>Since types does not have any storage=
 to be pointed at... I suppose you mean to build some structure and (at com=
pile time probably) return the pointer to that structure thru &amp;[typenam=
e], so &amp; is your reflective operator.</div></div><div>So your ideia is =
basically the=C2=A0<a href=3D"http://www.google.com/url?q=3Dhttp%3A%2F%2Fop=
en-std.org%2FJTC1%2FSC22%2FWG21%2Fdocs%2Fpapers%2F2016%2Fp0194r0.pdf&amp;sa=
=3DD&amp;sntz=3D1&amp;usg=3DAFQjCNHbf9XfF-viAIq1hGkw55gs5SrzUQ" target=3D"_=
blank" rel=3D"nofollow" onmousedown=3D"this.href=3D&#39;http://www.google.c=
om/url?q\75http%3A%2F%2Fopen-std.org%2FJTC1%2FSC22%2FWG21%2Fdocs%2Fpapers%2=
F2016%2Fp0194r0.pdf\46sa\75D\46sntz\0751\46usg\75AFQjCNHbf9XfF-viAIq1hGkw55=
gs5SrzUQ&#39;;return true;" onclick=3D"this.href=3D&#39;http://www.google.c=
om/url?q\75http%3A%2F%2Fopen-std.org%2FJTC1%2FSC22%2FWG21%2Fdocs%2Fpapers%2=
F2016%2Fp0194r0.pdf\46sa\75D\46sntz\0751\46usg\75AFQjCNHbf9XfF-viAIq1hGkw55=
gs5SrzUQ&#39;;return true;">p0194r0</a>, but with instead of using &#39;ref=
lexpr&#39; as operator, you are using &#39;&amp;&#39; as operator...<br></d=
iv><div><br></div><div>My question: how to get the name of a &quot;free&quo=
t; function (&amp;printf) ? class members of a namespace (&amp;std::experim=
ental) ? or a classes from a module ?</div></div></blockquote><div><br>A ho=
pefully illustrative concrete example:<br><br>struct A { int i; };<br><br>s=
truct B { int i; };<br><br>struct C : public A, public B { };<br><br>struct=
 D { int i, j; };<br><br>B C::*p1 =3D &amp;C:::B;<br><br>int D::*p2 =3D &am=
p;D::j;<br><br>p1 and p2 would be initialized with the same numeric value f=
rom a machine language point of view.=C2=A0 Typically 4 on a 32-bit archite=
cture.<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/1bf9d1c6-5896-426c-bd5f-422b0492800f%=
40isocpp.org?utm_medium=3Demail&utm_source=3Dfooter">https://groups.google.=
com/a/isocpp.org/d/msgid/std-proposals/1bf9d1c6-5896-426c-bd5f-422b0492800f=
%40isocpp.org</a>.<br />

------=_Part_644_2068264160.1457550780244--
------=_Part_643_1680475868.1457550780244--

.
