220 6229 <a8ddf742-2921-4f3c-8a5c-3f42d0ecd703@isocpp.org> article
Path: news.gmane.org!not-for-mail
From: Vlad from Moscow <vlad.moscow@mail.ru>
Newsgroups: gmane.comp.lang.c++.isocpp.proposals
Subject: Re: Specialization of std::stack for std::forward_list
Date: Sat, 7 Sep 2013 06:23:02 -0700 (PDT)
Lines: 102
Approved: news@gmane.org
Message-ID: <a8ddf742-2921-4f3c-8a5c-3f42d0ecd703@isocpp.org>
References: <d51e20f7-665e-49f7-a3e8-caed3660563f@isocpp.org>
 <CAGNvRgDd2KS+MVM0tXHTTO7nk=9BCEcrCdtnKweySr7b0L=bmA@mail.gmail.com>
 <419bda08-54a2-43e7-8dd7-ade5bf47cf88@isocpp.org>
 <CAGNvRgDUNb04tC-5zXSfPoonBay_aY2A-br0LK2w3J1yOdS8Nw@mail.gmail.com>
 <CAOHCbisi7GHw8MSZDkpND=cYGn2nyWFKPpG_EkZ2Lyz1cn1Rbw@mail.gmail.com>
 <CAGNvRgC0uTfZfuzej57xU-ds=TKCwSGN_rVwfasuipqO2sZb=g@mail.gmail.com>
 <CAOHCbiu_66-FnRaB_-J7rv=kTGUd28KZ8aAH_isOVcYdOKpaoQ@mail.gmail.com>
 <CAGNvRgBYyN5HHMuKSMpxSBrUc7OMUf8C+aE96h4QM2PkmS7Z6w@mail.gmail.com>
 <39e36024-36a6-4123-b9c8-b8cfec1b16a0@isocpp.org>
 <b49fd494-8bfd-4b99-b9bf-ed156e8ca09a@isocpp.org>
 <CABbCQwsV6Sfy=5Z2gRcX7wMxHYZ83sA0hfYQe6MSjgThsY00cA@mail.gmail.com>
 <1378557615.3956.11.camel@patrick-laptop-debian.home>
 <ae735bce-859c-4d8e-b3b0-69958fe00d19@isocpp.org>
 <1378559780.3956.15.camel@patrick-laptop-debian.home>
Reply-To: std-proposals@isocpp.org
NNTP-Posting-Host: plane.gmane.org
Mime-Version: 1.0
Content-Type: multipart/alternative; 
	boundary="----=_Part_482_8050380.1378560182964"
X-Trace: ger.gmane.org 1378560185 25271 80.91.229.3 (7 Sep 2013 13:23:05 GMT)
X-Complaints-To: usenet@ger.gmane.org
NNTP-Posting-Date: Sat, 7 Sep 2013 13:23:05 +0000 (UTC)
To: std-proposals@isocpp.org
Original-X-From: std-proposals+bncBCXLLRHD7IDRBN6RVSIQKGQE7C2TZHQ@isocpp.org Sat Sep 07 15:23:08 2013
Return-path: <std-proposals+bncBCXLLRHD7IDRBN6RVSIQKGQE7C2TZHQ@isocpp.org>
Envelope-to: gclcip-std-proposals@m.gmane.org
Original-Received: from mail-vc0-f199.google.com ([209.85.220.199])
	by plane.gmane.org with esmtp (Exim 4.69)
	(envelope-from <std-proposals+bncBCXLLRHD7IDRBN6RVSIQKGQE7C2TZHQ@isocpp.org>)
	id 1VIITh-0007P5-73
	for gclcip-std-proposals@m.gmane.org; Sat, 07 Sep 2013 15:23:05 +0200
Original-Received: by mail-vc0-f199.google.com with SMTP id gf11sf5026380vcb.6
        for <gclcip-std-proposals@m.gmane.org>; Sat, 07 Sep 2013 06:23:04 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20130820;
        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
         :content-type;
        bh=0rxHn1RyPUGdw0p/grTV4Ofn+0P09k/qpr4lyZrgzdo=;
        b=i6K4Dq27IwImQfeRlyQkCAJaErx7JpcST0zo2KUycZSWU5kb6ygco3sJYqUf8VxKg6
         sAvSt9YWnBL6T9p7JbmBIBCTcZbe/wzHbWUWwnaVhV82sfcYE6TAvV3wQ1bAMD1a6C2G
         t+aV47/JjfZ51IkNMrzlrm8wwbFiezUat1m/huI4jUwYssDLsZZSPti914aK8KWdGBi+
         tUM9BGS0GqYAQCnoN8Hb1mgzSXg95LQ6WKRKiwmE6RjxH+VHgEzUIdMC7fHSMpiGpWSD
         MmTjO1Bce5n4G4MPLAQLdFPM/0kWWikZx4lVJR143SPBp5MHtxYKgsoih4fxlCZznH4P
         p7iw==
X-Received: by 10.236.222.228 with SMTP id t94mr2682486yhp.18.1378560184112;
        Sat, 07 Sep 2013 06:23:04 -0700 (PDT)
X-BeenThere: std-proposals@isocpp.org
Original-Received: by 10.49.74.198 with SMTP id w6ls1300215qev.9.gmail; Sat, 07 Sep
 2013 06:23:03 -0700 (PDT)
X-Received: by 10.49.83.199 with SMTP id s7mr35600qey.11.1378560183481;
        Sat, 07 Sep 2013 06:23:03 -0700 (PDT)
In-Reply-To: <1378559780.3956.15.camel@patrick-laptop-debian.home>
X-Original-Sender: vlad.moscow@mail.ru
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: <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: <http://groups.google.com/a/isocpp.org/group/std-proposals/subscribe>,
 <mailto:googlegroups-manage+399137483710+unsubscribe@googlegroups.com>
Xref: news.gmane.org gmane.comp.lang.c++.isocpp.proposals:6229
Archived-At: <http://permalink.gmane.org/gmane.comp.lang.c++.isocpp.proposals/6229>

------=_Part_482_8050380.1378560182964
Content-Type: text/plain; charset=KOI8-R
Content-Transfer-Encoding: quoted-printable

I think you are mistaken. Protected members are the part of the realization=
=20
and also the part of realization of derived classes. It is not an=20
interface. One more the interface of std::stack does not depend on the=20
underlaying container.

=D3=D5=C2=C2=CF=D4=C1, 7 =D3=C5=CE=D4=D1=C2=D2=D1 2013 =C7., 17:16:20 UTC+4=
 =D0=CF=CC=D8=DA=CF=D7=C1=D4=C5=CC=D8 Patrick M.=20
Niedzielski =CE=C1=D0=C9=D3=C1=CC:

> On sab, 2013-09-07 at 05:52 -0700, Vlad from Moscow wrote:=20
> > The underlying container is not a part of the interface of std:;stack.=
=20
> The=20
> > interface of std::stack does not depend on the underlying container. It=
=20
> > would be very bad if the interface of std:;stack would depend on the=20
> > underlying container.  The stack is simply an abstraction that can be=
=20
> > realized with either one or another container.=20
>
> Unfortunately, the underlying container is part of the interface of=20
> std::stack.  There is a protected member "Container c" in std::stack=20
> (see [queue.defn]).  Protected members make up part of the interface of=
=20
> a class, because any one can derive from the class and access this=20
> member.  It may not be in the public interface, but it definitely is=20
> part of the interface.  (Remember, the standard specifies the interface,=
=20
> not the implementation of types, and the standard specifies that=20
> std::stack must have the underlying container "c" in the interface.)=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_482_8050380.1378560182964
Content-Type: text/html; charset=KOI8-R
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div>I think you are mistaken. Protected members are the p=
art of the realization and also the part of realization of derived classes.=
 It is not an interface. One more the interface of std::stack does not depe=
nd on the underlaying container.</div><div><br>=D3=D5=C2=C2=CF=D4=C1, 7 =D3=
=C5=CE=D4=D1=C2=D2=D1 2013&nbsp;=C7., 17:16:20 UTC+4 =D0=CF=CC=D8=DA=CF=D7=
=C1=D4=C5=CC=D8 Patrick M. Niedzielski =CE=C1=D0=C9=D3=C1=CC:</div><blockqu=
ote class=3D"gmail_quote" style=3D"margin: 0px 0px 0px 0.8ex; padding-left:=
 1ex; border-left-color: rgb(204, 204, 204); border-left-width: 1px; border=
-left-style: solid;">On sab, 2013-09-07 at 05:52 -0700, Vlad from Moscow wr=
ote:
<br>&gt; The underlying container is not a part of the interface of std:;st=
ack. The=20
<br>&gt; interface of std::stack does not depend on the underlying containe=
r. It=20
<br>&gt; would be very bad if the interface of std:;stack would depend on t=
he=20
<br>&gt; underlying container. &nbsp;The stack is simply an abstraction tha=
t can be=20
<br>&gt; realized with either one or another container.=20
<br>
<br>Unfortunately, the underlying container is part of the interface of
<br>std::stack. &nbsp;There is a protected member "Container c" in std::sta=
ck
<br>(see [queue.defn]). &nbsp;Protected members make up part of the interfa=
ce of
<br>a class, because any one can derive from the class and access this
<br>member. &nbsp;It may not be in the public interface, but it definitely =
is
<br>part of the interface. &nbsp;(Remember, the standard specifies the inte=
rface,
<br>not the implementation of types, and the standard specifies that
<br>std::stack must have the underlying container "c" in the interface.)
<br></blockquote></div>

<p></p>

-- <br />
&nbsp;<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 std-proposals+unsubscribe@isocpp.org.<br />
To post to this group, send email to std-proposals@isocpp.org.<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_482_8050380.1378560182964--

.
