220 24996 <39bbeb02-62b8-497b-8d65-5780a6baca97@isocpp.org> article
Path: news.gmane.org!not-for-mail
From: Cleiton Santoia <cleitonsantoia@gmail.com>
Newsgroups: gmane.comp.lang.c++.isocpp.proposals
Subject: Re: "Components" template with implicitly defined
 partial specializations for all classes
Date: Sun, 6 Mar 2016 11:40:30 -0800 (PST)
Lines: 88
Approved: news@gmane.org
Message-ID: <39bbeb02-62b8-497b-8d65-5780a6baca97@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>
Reply-To: std-proposals@isocpp.org
NNTP-Posting-Host: plane.gmane.org
Mime-Version: 1.0
Content-Type: multipart/mixed; 
	boundary="----=_Part_427_284616195.1457293230280"
X-Trace: ger.gmane.org 1457293244 15582 80.91.229.3 (6 Mar 2016 19:40:44 GMT)
X-Complaints-To: usenet@ger.gmane.org
NNTP-Posting-Date: Sun, 6 Mar 2016 19:40:44 +0000 (UTC)
To: ISO C++ Standard - Future Proposals <std-proposals@isocpp.org>
Original-X-From: std-proposals+bncBCBMVWMTUUNBBL4P6K3AKGQE433OP6Y@isocpp.org Sun Mar 06 20:40:34 2016
Return-path: <std-proposals+bncBCBMVWMTUUNBBL4P6K3AKGQE433OP6Y@isocpp.org>
Envelope-to: gclcip-std-proposals@m.gmane.org
Original-Received: from mail-yw0-f198.google.com ([209.85.161.198])
	by plane.gmane.org with esmtp (Exim 4.69)
	(envelope-from <std-proposals+bncBCBMVWMTUUNBBL4P6K3AKGQE433OP6Y@isocpp.org>)
	id 1aceXZ-0003zM-HY
	for gclcip-std-proposals@m.gmane.org; Sun, 06 Mar 2016 20:40:33 +0100
Original-Received: by mail-yw0-f198.google.com with SMTP id f13sf53711386ywb.1
        for <gclcip-std-proposals@m.gmane.org>; Sun, 06 Mar 2016 11:40:33 -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
         :list-subscribe:list-unsubscribe;
        bh=mS0xeZ9pLr9Vjmalc7/lP+lLi1LFhPbBXpLq45bcptw=;
        b=nWNw2W5REV/RLzcGh56ZIRmo4xlBEmakv1q6JCXZmUJipjxWnkf78YlLZBtctoiLC8
         KD3oI30OkCWD8O4P7I0ZCLwwvmcimZOuYI9ImBlNO0ScWfIwQREXUqjr+zmryzGg9k0h
         Q5EofXoU1nQQt8tBX60vXUk5Nz6Z0fM+twylS/r3GjaTlY+GAZhNn/9YHUSMngy+58Mw
         JGod28V5PLZnB94Gkf9AixuB9Cj+iZTDG2HU05gD1Pb09dfKNZZAfdBotus2tVnVUpBq
         ny8i0tOMAtgjHYULjUbjEZrdY3SXMJbis+gI1TqaCYt4EpsV7FNnGbTcvCFXbY89GQHg
         KVsw==
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=mS0xeZ9pLr9Vjmalc7/lP+lLi1LFhPbBXpLq45bcptw=;
        b=L6VUHpn5fV9OaM42te/Y1dMr2WVJJJea0FWQChHJ0ZSAiGA5+CfLVw5NwVz1SI5njm
         Myzx3HItHirD14AuAVse+Kda8ggat1+eBynw/Qcav7puKvLos2lt4IkLTV171xMqQRe3
         gjyMkCcAn6gZ/ajUpoIHYLCFCvVstALFTpOgoZUfxvve792qW2NZYiRpZBovu+pyffIO
         jOQ+lUOTmgxwNgEkUqC1Z2iEFtbK1RGPi5Xx3qMl6b9NOXRrHZatRz4w2dhz/uyebE4M
         GCA//jt84CsOVWnQK6R9mjNHt3aoUyq7L8LvW3AB8oLJNWohacQHRPIIqp2FQIPXBJI3
         NzfA==
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=mS0xeZ9pLr9Vjmalc7/lP+lLi1LFhPbBXpLq45bcptw=;
        b=g5sV7+MABA1wmVlaMPQJmtEg3PffaVrC51O81ak2a76Om7x4FZOUkzYo7V/1m8CwFz
         4PhhBS7TaXwsnW1EKEwn0xgV1QaYjwVXUGphZ94Z1FHXf4M6eLDU9woHtkz18REy82Es
         fXz40Jlcm2raepTLGTlGPjGKDdqQ3BB5hYXdVjt18MiXTj0K9SPQK+KzsuPSZYMizEJC
         eGbnZ2Wh1q0W7Y0YJDTQixjjlFiA377Zt1YBJGyqw1HLt02X+DIcIGXasQ49ZNOcJRTV
         kDYHrth3Ub2bTFplDBTia7JZb//T07DlqH2MuNyt4JiTHahSqu7F7Qavi/qcXVH2hEF0
         x0Og==
X-Gm-Message-State: AD7BkJKjdubOLOSvsAyb9+WioS4/QEBx/uCyefyZt7ZP39UkKV+Jj1B/JtuVPZPEt4G88w==
X-Received: by 10.140.89.10 with SMTP id u10mr14064923qgd.24.1457293232517;
        Sun, 06 Mar 2016 11:40:32 -0800 (PST)
X-BeenThere: std-proposals@isocpp.org
Original-Received: by 10.50.114.133 with SMTP id jg5ls782670igb.11.gmail; Sun, 06 Mar
 2016 11:40:31 -0800 (PST)
X-Received: by 10.50.138.165 with SMTP id qr5mr146397igb.10.1457293231485;
        Sun, 06 Mar 2016 11:40:31 -0800 (PST)
In-Reply-To: <d6495758-627e-434d-a867-ed473d869f47@isocpp.org>
X-Original-Sender: cleitonsantoia@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:24996
Archived-At: <http://permalink.gmane.org/gmane.comp.lang.c++.isocpp.proposals/24996>

------=_Part_427_284616195.1457293230280
Content-Type: multipart/alternative; 
	boundary="----=_Part_428_1650727285.1457293230280"

------=_Part_428_1650727285.1457293230280
Content-Type: text/plain; charset=UTF-8


>
>
> Experience has shown that good layered architectures are generally 
> advantageous.  A rule of thumb for a good layered architecture is to have 
> one capability in a lower layer that supports multiple capabilities in a 
> higher layer.  As opposed to supporting just one or some or all of those 
> multiple capabilities in the lower layer.  The base language is the lowest 
> layer of the C++ architecture.  Therefore, I think it's likely to be better 
> to have a capability in the base language that allows for support of 
> reasonably good generic comparison operators, generic stream input/output 
> operators, generic std::hash, maybe generic JSON/XML input/output, etc 
> using library code above the base layer.
>

In the both reflection proposals there are a sample of JSON serialization 
(in sligtly different ways), but both static and without "mapping" 
functions.
You dont need that "Component" structure you proposed, you just expand the 
pack thru folding. 

Here the code <http://coliru.stacked-crooked.com/view?id=b907dd58003a2748> your 
10 liner 'operator ==' lib-olny on top of reflection ( from line 8 to 18 ). 

Please pay attention on lines 10 and 16, in 10 we have a "template folding" 
and in 16 we have the only line that will change after reflection be 
accepted (hopefully).

-- 
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/39bbeb02-62b8-497b-8d65-5780a6baca97%40isocpp.org.

------=_Part_428_1650727285.1457293230280
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><blockquote class=3D"gmail_quote" style=3D"margin: 0;margi=
n-left: 0.8ex;border-left: 1px #ccc solid;padding-left: 1ex;"><div dir=3D"l=
tr"><div><br></div><div>Experience has shown that good layered architecture=
s are generally advantageous. =C2=A0A rule of thumb for a good layered arch=
itecture is to have one capability in a lower layer that supports multiple =
capabilities in a higher layer. =C2=A0As opposed to supporting just one or =
some or all of those multiple capabilities in the lower layer. =C2=A0The ba=
se language is the lowest layer of the C++ architecture. =C2=A0Therefore, I=
 think it&#39;s likely to be better to have a capability in the base langua=
ge that allows for support of reasonably good generic comparison operators,=
 generic stream input/output operators, generic std::hash, maybe generic JS=
ON/XML input/output, etc using library code above the base layer.</div></di=
v></blockquote><div><br></div><div>In the both reflection proposals there a=
re a sample of JSON serialization (in sligtly different ways), but both sta=
tic and without &quot;mapping&quot; functions.<br></div><div>You dont need =
that &quot;Component&quot; structure you proposed, you just expand the pack=
 thru folding.=C2=A0<br></div><div><br></div><div>Here <a href=3D"http://co=
liru.stacked-crooked.com/view?id=3Db907dd58003a2748">the code</a>=C2=A0your=
 10 liner &#39;operator =3D=3D&#39; lib-olny on top of reflection ( from li=
ne 8 to 18 ).=C2=A0<br></div><div><br></div><div>Please pay attention on li=
nes 10 and 16, in 10 we have a &quot;template folding&quot; and in 16 we ha=
ve the only line that will change after reflection be accepted=C2=A0(hopefu=
lly).</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/39bbeb02-62b8-497b-8d65-5780a6baca97%=
40isocpp.org?utm_medium=3Demail&utm_source=3Dfooter">https://groups.google.=
com/a/isocpp.org/d/msgid/std-proposals/39bbeb02-62b8-497b-8d65-5780a6baca97=
%40isocpp.org</a>.<br />

------=_Part_428_1650727285.1457293230280--
------=_Part_427_284616195.1457293230280--

.
