220 19437 <ba9c9094-cc89-45dd-a4a5-da6b2f150f6e@isocpp.org> article
Path: news.gmane.org!not-for-mail
From: Arthur Tchaikovsky <atch.cpp@gmail.com>
Newsgroups: gmane.comp.lang.c++.isocpp.proposals
Subject: Re: Omitting multiple access specifiers in base-specifier
Date: Thu, 30 Jul 2015 03:13:06 -0700 (PDT)
Lines: 303
Approved: news@gmane.org
Message-ID: <ba9c9094-cc89-45dd-a4a5-da6b2f150f6e@isocpp.org>
References: <CAFk2RUYUFdL9+wqz1P-DEZgmXACppdBapcHzsnFd2D6F6xObWw@mail.gmail.com>
 <CAFdMc-0DfAbZbrq+-QxWr9ZKqphf1-v1M_FO4F0NBY8TeL=jQA@mail.gmail.com>
Reply-To: std-proposals@isocpp.org
NNTP-Posting-Host: plane.gmane.org
Mime-Version: 1.0
Content-Type: multipart/mixed; 
	boundary="----=_Part_18_584618919.1438251186340"
X-Trace: ger.gmane.org 1438251190 1483 80.91.229.3 (30 Jul 2015 10:13:10 GMT)
X-Complaints-To: usenet@ger.gmane.org
NNTP-Posting-Date: Thu, 30 Jul 2015 10:13:10 +0000 (UTC)
Cc: danielgutson@gmail.com
To: ISO C++ Standard - Future Proposals <std-proposals@isocpp.org>
Original-X-From: std-proposals+bncBDL6FI4NYYERBM7R46WQKGQEVQBIXWQ@isocpp.org Thu Jul 30 12:13:09 2015
Return-path: <std-proposals+bncBDL6FI4NYYERBM7R46WQKGQEVQBIXWQ@isocpp.org>
Envelope-to: gclcip-std-proposals@m.gmane.org
Original-Received: from mail-vn0-f72.google.com ([209.85.216.72])
	by plane.gmane.org with esmtp (Exim 4.69)
	(envelope-from <std-proposals+bncBDL6FI4NYYERBM7R46WQKGQEVQBIXWQ@isocpp.org>)
	id 1ZKkpp-00016q-00
	for gclcip-std-proposals@m.gmane.org; Thu, 30 Jul 2015 12:13:09 +0200
Original-Received: by vnbh82 with SMTP id h82sf44489661vnb.2
        for <gclcip-std-proposals@m.gmane.org>; Thu, 30 Jul 2015 03:13:08 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20120113;
        h=date:from:to:cc:message-id:in-reply-to:references:subject
         :mime-version:content-type: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=jf46z98fYpx2wPTlBJ4RxG/hT6ubF+qlu1GZ0RQ7PnU=;
        b=uGIVLVbeHsSxc66uSTwRsH/gV4z31su4C4Jjs1FcKxH+Og4O6VcLsHXv/ey4T+rftQ
         v5NrkIT4GO/Zi3yFJImVHWA/Gur2cvJ+4rmek7kBS/Qz1QlbRzT5Vokw70et7xmfVOtC
         pcHaWXk9b7y5nEL7B6+87i0fhN/Uax0GVUSNvJX9fB0+rXtuPo+w60sLYY1gOErXMlKb
         mJlFgLshSqsQpmlP/8+CjNSw/Qquxs43o2lAMYjs5r2LZ19/iQV0ho/DWqW6+m9EQU7f
         qLzXqmPREWcV/3CkmMAVaM6Fl0AzC53q4zpyxzZKEROZQek7+cmmdVTBFmb5HBquGvTn
         DEKA==
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:cc:message-id:in-reply-to
         :references:subject:mime-version:content-type: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=jf46z98fYpx2wPTlBJ4RxG/hT6ubF+qlu1GZ0RQ7PnU=;
        b=MERaAIv8d6J2FqzkGpu4hyivynCKKFBP/K6AcGUMlmHm3hGhG4zithAZNvFA3NRbsX
         mcNZl0Uv4GqDwPMluuzKA5k0i4eI5FShpHxZHetgXVZBQzqXfE0OWpY47x89TqWYHOTm
         d29Fer2rdSl9dEidBRVZd2Sd7IqnEouABONMeaNhbbDN5W3rU1ateBPP27J/2dmR1uTA
         MBin3ZH0jBjctgCRgjPhXdAp0OMLjDVo4pMl2QwrfC+kVXiRSQXeU+FqQMLNVlWEtq/v
         o2PaA1CvUhdzmlyuybe1lGKItSvLzYCMJl1B0h+9LmuvMiBXV0f1DLrRjzlb7D1gnvEq
         UZcg==
X-Gm-Message-State: ALoCoQnhHkqhehf+C+jwbr2YZm6RGLyIcRNi+jEuXkFlNR/w9qraUVxaN8DDHFWxx3C7EGup/ktF
X-Received: by 10.140.235.148 with SMTP id g142mr2721660qhc.9.1438251188194;
        Thu, 30 Jul 2015 03:13:08 -0700 (PDT)
X-BeenThere: std-proposals@isocpp.org
Original-Received: by 10.140.84.229 with SMTP id l92ls670717qgd.41.gmail; Thu, 30 Jul
 2015 03:13:07 -0700 (PDT)
X-Received: by 10.140.107.34 with SMTP id g31mr635495qgf.17.1438251187052;
        Thu, 30 Jul 2015 03:13:07 -0700 (PDT)
In-Reply-To: <CAFdMc-0DfAbZbrq+-QxWr9ZKqphf1-v1M_FO4F0NBY8TeL=jQA@mail.gmail.com>
X-Original-Sender: atch.cpp@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: <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: <mailto:googlegroups-manage+399137483710+unsubscribe@googlegroups.com>,
 <http://groups.google.com/a/isocpp.org/group/std-proposals/subscribe>
Xref: news.gmane.org gmane.comp.lang.c++.isocpp.proposals:19437
Archived-At: <http://permalink.gmane.org/gmane.comp.lang.c++.isocpp.proposals/19437>

------=_Part_18_584618919.1438251186340
Content-Type: multipart/alternative; 
	boundary="----=_Part_19_849357047.1438251186340"

------=_Part_19_849357047.1438251186340
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

Hi, I'd appreciate if you would reply to my post in which I answer to the=
=20
questions put forward by you.

Thank you.

On Wednesday, 29 July 2015 17:35:44 UTC+1, dgutson wrote:
>
> On Wed, Jul 29, 2015 at 11:17 AM, Ville Voutilainen=20
> <ville.vo...@gmail.com <javascript:>> wrote:=20
> > On 29 July 2015 at 17:06, Arthur Tchaikovsky <atch...@gmail.com=20
> <javascript:>> wrote:=20
> >> It is in the same spirit that is: *make things uniform*.=20
> >=20
> > We make things uniform when it makes sense, not because uniformity=20
> > is always automatically good.=20
>
> I'd like to bring the old questions for the proposal criteria:=20
>
> * WHAT is the problem you are trying to solve?=20
> * WHY this is a problem, and who is affected?=20
> * How is people working around this problem?=20
> * What's the REAL BENEFIT of the solution?=20
>
> Unless I see convincing answers, I consider this a useless single-guy=20
> caprice.=20
>
> >=20
> >> The consistency argument is:=20
> >> if in declaration of a class we can:=20
> >>=20
> >> public:=20
> >> A a;=20
> >> B b;=20
> >>=20
> >> Why can't we do the same whilst declaring what classes we are=20
> inheriting=20
> >> from:=20
> >> class X: public: A,B,C;<-- here A,B,C would be publicly inherited=20
> >> {=20
> >> };=20
> >=20
> > What for? To make it easier to use multiple bases with different=20
> accesses?=20
> > Not being able to do that tersely doesn't sound like bug to me, that=20
> sounds like=20
> > a feature.=20
> >=20
> >>=20
> >>=20
> >> On Wednesday, 29 July 2015 13:43:19 UTC+1, Ville Voutilainen wrote:=20
> >>>=20
> >>> On 29 July 2015 at 13:34, Arthur Tchaikovsky <atch...@gmail.com>=20
> wrote:=20
> >>> > Hi Ville,=20
> >>> > So in the same spirit, why can't we have (in the sake of=20
> consistency)=20
> >>> > similar construct allowed:=20
> >>> > class X: public: A,B,C; protected D,E,F=20
> >>>=20
> >>> That is not "in the same spirit", and I fail to see the consistency=
=20
> >>> argument.=20
> >>> That idea has very little to do with a trailing comma in any list, an=
d=20
> >>> its motivation=20
> >>> would seem completely different.=20
> >>>=20
> >>> > {=20
> >>> > public:=20
> >>> > A a;=20
> >>> > B b;=20
> >>> > C c;=20
> >>> > protected:=20
> >>> > D d;=20
> >>> > E e;=20
> >>> > F f;=20
> >>> > };=20
> >>> >=20
> >>> > The point ^^^ here is that we are inheriting in similar manner to=
=20
> >>> > classifying access level of members of a class, that is, we are=20
> stating=20
> >>> > only=20
> >>> > once the desired inheritance level, not every time as we are oblige=
d=20
> to=20
> >>> > do=20
> >>> > now, unless we inheriting privately.=20
> >>> > This change is:=20
> >>> > a) Non breaking existing code=20
> >>> > b) Makes class declaration more uniform=20
> >>>=20
> >>>=20
> >>> But as has been mentioned, multiple base classes are much rarer than=
=20
> >>> multiple=20
> >>> non-static data members, so the motivation for such a thing seems=20
> weak.=20
> >=20
> > --=20
> >=20
> > ---=20
> > You received this message because you are subscribed to the Google=20
> Groups "ISO C++ Standard - Future Proposals" group.=20
> > To unsubscribe from this group and stop receiving emails from it, send=
=20
> an email to std-proposal...@isocpp.org <javascript:>.=20
> > To post to this group, send email to std-pr...@isocpp.org <javascript:>=
..=20
>
> > Visit this group at=20
> http://groups.google.com/a/isocpp.org/group/std-proposals/.=20
>
>
>
> --=20
> Who=E2=80=99s got the sweetest disposition?=20
> One guess, that=E2=80=99s who?=20
> Who=E2=80=99d never, ever start an argument?=20
> Who never shows a bit of temperament?=20
> Who's never wrong but always right?=20
> Who'd never dream of starting a fight?=20
> Who get stuck with all the bad luck?=20
>

--=20

---=20
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 e=
mail 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-proposa=
ls/.

------=_Part_19_849357047.1438251186340
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">Hi, I&#39;d appreciate if you would reply to my post in wh=
ich I answer to the questions put forward by you.<br><br>Thank you.<br><br>=
On Wednesday, 29 July 2015 17:35:44 UTC+1, dgutson  wrote:<blockquote class=
=3D"gmail_quote" style=3D"margin: 0;margin-left: 0.8ex;border-left: 1px #cc=
c solid;padding-left: 1ex;">On Wed, Jul 29, 2015 at 11:17 AM, Ville Voutila=
inen
<br>&lt;<a href=3D"javascript:" target=3D"_blank" rel=3D"nofollow" onmoused=
own=3D"this.href=3D&#39;javascript:&#39;;return true;" onclick=3D"this.href=
=3D&#39;javascript:&#39;;return true;">ville.vo...@gmail.com</a>&gt; wrote:
<br>&gt; On 29 July 2015 at 17:06, Arthur Tchaikovsky &lt;<a href=3D"javasc=
ript:" target=3D"_blank" rel=3D"nofollow" onmousedown=3D"this.href=3D&#39;j=
avascript:&#39;;return true;" onclick=3D"this.href=3D&#39;javascript:&#39;;=
return true;">atch...@gmail.com</a>&gt; wrote:
<br>&gt;&gt; It is in the same spirit that is: *make things uniform*.
<br>&gt;
<br>&gt; We make things uniform when it makes sense, not because uniformity
<br>&gt; is always automatically good.
<br>
<br>I&#39;d like to bring the old questions for the proposal criteria:
<br>
<br>* WHAT is the problem you are trying to solve?
<br>* WHY this is a problem, and who is affected?
<br>* How is people working around this problem?
<br>* What&#39;s the REAL BENEFIT of the solution?
<br>
<br>Unless I see convincing answers, I consider this a useless single-guy c=
aprice.
<br>
<br>&gt;
<br>&gt;&gt; The consistency argument is:
<br>&gt;&gt; if in declaration of a class we can:
<br>&gt;&gt;
<br>&gt;&gt; public:
<br>&gt;&gt; A a;
<br>&gt;&gt; B b;
<br>&gt;&gt;
<br>&gt;&gt; Why can&#39;t we do the same whilst declaring what classes we =
are inheriting
<br>&gt;&gt; from:
<br>&gt;&gt; class X: public: A,B,C;&lt;-- here A,B,C would be publicly inh=
erited
<br>&gt;&gt; {
<br>&gt;&gt; };
<br>&gt;
<br>&gt; What for? To make it easier to use multiple bases with different a=
ccesses?
<br>&gt; Not being able to do that tersely doesn&#39;t sound like bug to me=
, that sounds like
<br>&gt; a feature.
<br>&gt;
<br>&gt;&gt;
<br>&gt;&gt;
<br>&gt;&gt; On Wednesday, 29 July 2015 13:43:19 UTC+1, Ville Voutilainen w=
rote:
<br>&gt;&gt;&gt;
<br>&gt;&gt;&gt; On 29 July 2015 at 13:34, Arthur Tchaikovsky &lt;<a>atch..=
..@gmail.com</a>&gt; wrote:
<br>&gt;&gt;&gt; &gt; Hi Ville,
<br>&gt;&gt;&gt; &gt; So in the same spirit, why can&#39;t we have (in the =
sake of consistency)
<br>&gt;&gt;&gt; &gt; similar construct allowed:
<br>&gt;&gt;&gt; &gt; class X: public: A,B,C; protected D,E,F
<br>&gt;&gt;&gt;
<br>&gt;&gt;&gt; That is not &quot;in the same spirit&quot;, and I fail to =
see the consistency
<br>&gt;&gt;&gt; argument.
<br>&gt;&gt;&gt; That idea has very little to do with a trailing comma in a=
ny list, and
<br>&gt;&gt;&gt; its motivation
<br>&gt;&gt;&gt; would seem completely different.
<br>&gt;&gt;&gt;
<br>&gt;&gt;&gt; &gt; {
<br>&gt;&gt;&gt; &gt; public:
<br>&gt;&gt;&gt; &gt; A a;
<br>&gt;&gt;&gt; &gt; B b;
<br>&gt;&gt;&gt; &gt; C c;
<br>&gt;&gt;&gt; &gt; protected:
<br>&gt;&gt;&gt; &gt; D d;
<br>&gt;&gt;&gt; &gt; E e;
<br>&gt;&gt;&gt; &gt; F f;
<br>&gt;&gt;&gt; &gt; };
<br>&gt;&gt;&gt; &gt;
<br>&gt;&gt;&gt; &gt; The point ^^^ here is that we are inheriting in simil=
ar manner to
<br>&gt;&gt;&gt; &gt; classifying access level of members of a class, that =
is, we are stating
<br>&gt;&gt;&gt; &gt; only
<br>&gt;&gt;&gt; &gt; once the desired inheritance level, not every time as=
 we are obliged to
<br>&gt;&gt;&gt; &gt; do
<br>&gt;&gt;&gt; &gt; now, unless we inheriting privately.
<br>&gt;&gt;&gt; &gt; This change is:
<br>&gt;&gt;&gt; &gt; a) Non breaking existing code
<br>&gt;&gt;&gt; &gt; b) Makes class declaration more uniform
<br>&gt;&gt;&gt;
<br>&gt;&gt;&gt;
<br>&gt;&gt;&gt; But as has been mentioned, multiple base classes are much =
rarer than
<br>&gt;&gt;&gt; multiple
<br>&gt;&gt;&gt; non-static data members, so the motivation for such a thin=
g seems weak.
<br>&gt;
<br>&gt; --
<br>&gt;
<br>&gt; ---
<br>&gt; You received this message because you are subscribed to the Google=
 Groups &quot;ISO C++ Standard - Future Proposals&quot; group.
<br>&gt; To unsubscribe from this group and stop receiving emails from it, =
send an email to <a href=3D"javascript:" target=3D"_blank" rel=3D"nofollow"=
 onmousedown=3D"this.href=3D&#39;javascript:&#39;;return true;" onclick=3D"=
this.href=3D&#39;javascript:&#39;;return true;">std-proposal...@isocpp.org<=
/a>.
<br>&gt; To post to this group, send email to <a href=3D"javascript:" targe=
t=3D"_blank" rel=3D"nofollow" onmousedown=3D"this.href=3D&#39;javascript:&#=
39;;return true;" onclick=3D"this.href=3D&#39;javascript:&#39;;return true;=
">std-pr...@isocpp.org</a>.
<br>&gt; Visit this group at <a href=3D"http://groups.google.com/a/isocpp.o=
rg/group/std-proposals/" target=3D"_blank" rel=3D"nofollow" onmousedown=3D"=
this.href=3D&#39;http://groups.google.com/a/isocpp.org/group/std-proposals/=
&#39;;return true;" onclick=3D"this.href=3D&#39;http://groups.google.com/a/=
isocpp.org/group/std-proposals/&#39;;return true;">http://groups.google.com=
/a/isocpp.org/group/std-proposals/</a>.
<br>
<br>
<br>
<br>--=20
<br>Who=E2=80=99s got the sweetest disposition?
<br>One guess, that=E2=80=99s who?
<br>Who=E2=80=99d never, ever start an argument?
<br>Who never shows a bit of temperament?
<br>Who&#39;s never wrong but always right?
<br>Who&#39;d never dream of starting a fight?
<br>Who get stuck with all the bad luck?
<br></blockquote></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 />

------=_Part_19_849357047.1438251186340--
------=_Part_18_584618919.1438251186340--

.
