220 4826 <CANh-dXnEMURn4WvV3AB_PVE1VP+bN9MYz1EJDPh653W=KqAccw@mail.gmail.com> article
Path: news.gmane.org!not-for-mail
From: Jeffrey Yasskin <jyasskin@google.com>
Newsgroups: gmane.comp.lang.c++.isocpp.proposals
Subject: Re: Re: Proposal: std::sequence
Date: Mon, 3 Jun 2013 11:30:42 -0700
Lines: 110
Approved: news@gmane.org
Message-ID: <CANh-dXnEMURn4WvV3AB_PVE1VP+bN9MYz1EJDPh653W=KqAccw@mail.gmail.com>
References: <4551abbc-43aa-4520-a91a-f8eb25a90588@isocpp.org>
	<e915df62-4930-48ee-a8ac-64261c407234@isocpp.org>
	<2c8e6079-9c87-425a-93e2-39251df57cd8@isocpp.org>
	<CANh-dX=va9uLSbvQc_TRmf8o5TDzQutmkxJDc64g7b=yKyN7sg@mail.gmail.com>
	<9f1cace3-0503-4a3c-a8ce-d7546564b3ef@isocpp.org>
	<a6f024b6-45d6-4c3b-b8a6-3f056aeab51f@isocpp.org>
Reply-To: std-proposals@isocpp.org
NNTP-Posting-Host: plane.gmane.org
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary=000e0ce0743c80d1dc04de442986
X-Trace: ger.gmane.org 1370284246 25844 80.91.229.3 (3 Jun 2013 18:30:46 GMT)
X-Complaints-To: usenet@ger.gmane.org
NNTP-Posting-Date: Mon, 3 Jun 2013 18:30:46 +0000 (UTC)
To: std-proposals@isocpp.org
Original-X-From: std-proposals+bncBDDM34EO6QDRBU6BWOGQKGQEYDNDVJQ@isocpp.org Mon Jun 03 20:30:46 2013
Return-path: <std-proposals+bncBDDM34EO6QDRBU6BWOGQKGQEYDNDVJQ@isocpp.org>
Envelope-to: gclcip-std-proposals@m.gmane.org
Original-Received: from mail-qc0-f199.google.com ([209.85.216.199])
	by plane.gmane.org with esmtp (Exim 4.69)
	(envelope-from <std-proposals+bncBDDM34EO6QDRBU6BWOGQKGQEYDNDVJQ@isocpp.org>)
	id 1UjZWm-0006Mv-Si
	for gclcip-std-proposals@m.gmane.org; Mon, 03 Jun 2013 20:30:45 +0200
Original-Received: by mail-qc0-f199.google.com with SMTP id s1sf5647766qcw.10
        for <gclcip-std-proposals@m.gmane.org>; Mon, 03 Jun 2013 11:30:43 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=google.com; s=20120113;
        h=x-beenthere:mime-version:in-reply-to:references:date:message-id
         :subject:from:to:x-original-sender:x-original-authentication-results
         :reply-to:precedence:mailing-list:list-id:x-google-group-id
         :list-post:list-help:list-archive:list-subscribe:list-unsubscribe
         :content-type;
        bh=2EWDsWTHJsLzkwEw3xZa/vC/31lOplNulBGenogEns0=;
        b=nIIz5gPFFR4uNNnM/OxqwSTx0YK+KfTNVx8TAW6B6m/mxj31mLkRmrsTh5KMndM8O+
         h5qTi/yt8UWHK6Aa5k9bjdFcwXog+P7g+pcw7Omb9gqXeM+iAx24E5c8o+6l1DbsCPDS
         Rh7cDssvEHpghtI/5LtCT7CQU3dqWZucHoToQKuObVESroVrOiRpO+3HZnxWjtY/fGxL
         OxaRcfOul2ARbKXhRXJl02OySAD6VT2ZgXIriPszgkoRGKPruHR/n15MSfeg5oDV7W92
         Q7qdJkNiD3m9IpRVXp6EDoNHh0ATa/SVT1u/pRS1EXQeL6RCvsdvsRUKOkWGdjl8K0mC
         uLJw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=google.com; s=20120113;
        h=x-beenthere:mime-version:in-reply-to:references:date:message-id
         :subject:from:to:x-gm-message-state:x-original-sender
         :x-original-authentication-results:reply-to:precedence:mailing-list
         :list-id:x-google-group-id:list-post:list-help:list-archive
         :list-subscribe:list-unsubscribe:content-type;
        bh=2EWDsWTHJsLzkwEw3xZa/vC/31lOplNulBGenogEns0=;
        b=GSZmFErcR8d08hHHyxsDkLReLxnPwWpz/luBXI5sedF7RJBPBwfqTApGKfFaEWlHJB
         3gLG/4XnZDc3M4M8rTgPYQaJhovm+ioHWKAFfVdwTaej5oeIIjUEDsC9YW8nIKNLeckv
         ZqRfOp3jP/y644k7dLfMCtOkdqgTk6ndihxs+nt9PztnSqNZIcg8mWd9L614uSFA6QnN
         Us8EJ+iVrrVaPT2Dp1gK8Ws3J+eviIqjAMmgCLEa9mN0ffoFzWfiEzIR98Ar6jjAVw4I
         wyJc4XdZh+KxJHswFqsCY5zpReF0zhZZSJrjFjvk/uDON7s4nzIKBoZyT+NrTH/0BXsC
         OkRA==
X-Received: by 10.236.92.194 with SMTP id j42mr13630573yhf.38.1370284243686;
        Mon, 03 Jun 2013 11:30:43 -0700 (PDT)
X-BeenThere: std-proposals@isocpp.org
Original-Received: by 10.49.63.228 with SMTP id j4ls2104072qes.80.gmail; Mon, 03 Jun
 2013 11:30:42 -0700 (PDT)
X-Received: by 10.229.34.199 with SMTP id m7mr2885745qcd.50.1370284242485;
        Mon, 03 Jun 2013 11:30:42 -0700 (PDT)
Original-Received: from mail-qa0-x22b.google.com (mail-qa0-x22b.google.com [2607:f8b0:400d:c00::22b])
        by mx.google.com with ESMTPS id g15si6773494qct.128.2013.06.03.11.30.42
        for <std-proposals@isocpp.org>
        (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128);
        Mon, 03 Jun 2013 11:30:42 -0700 (PDT)
Received-SPF: pass (google.com: domain of jyasskin@google.com designates 2607:f8b0:400d:c00::22b as permitted sender) client-ip=2607:f8b0:400d:c00::22b;
Original-Received: by mail-qa0-f43.google.com with SMTP id j11so2021474qag.2
        for <std-proposals@isocpp.org>; Mon, 03 Jun 2013 11:30:42 -0700 (PDT)
X-Received: by 10.229.4.205 with SMTP id 13mr8035440qcs.149.1370284242280;
 Mon, 03 Jun 2013 11:30:42 -0700 (PDT)
Original-Received: by 10.229.80.194 with HTTP; Mon, 3 Jun 2013 11:30:42 -0700 (PDT)
Original-Received: by 10.229.80.194 with HTTP; Mon, 3 Jun 2013 11:30:42 -0700 (PDT)
In-Reply-To: <a6f024b6-45d6-4c3b-b8a6-3f056aeab51f@isocpp.org>
X-Gm-Message-State: ALoCoQkMYbduH2KJ1pz/l8Dqe6Ekh0x3iBAHPVEJhh2Gar0SXAGJm4kFRvHftRCXwG+lz8UzErs9Fz0Nh+hNYxf5D0e5wSH8fMC/HrtLl0+j0OnuXSPCEfeyvJPgMkkYDyySANJK6BW7A/1pv2DTlgWX586uZCQjU6a+7O+/4xmMGitD190r0foCsiDYGNiwBt6PZ1PteFT5
X-Original-Sender: jyasskin@google.com
X-Original-Authentication-Results: mx.google.com;       spf=pass (google.com:
 domain of jyasskin@google.com designates 2607:f8b0:400d:c00::22b as permitted
 sender) smtp.mail=jyasskin@google.com;       dkim=pass header.i=@google.com;
       dmarc=pass (p=REJECT dis=none) d=google.com
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?hl=en>,
 <mailto:std-proposals@isocpp.org>
List-Help: <http://support.google.com/a/isocpp.org/bin/topic.py?hl=en&topic=25838>,
 <mailto:std-proposals+help@isocpp.org>
List-Archive: <http://groups.google.com/a/isocpp.org/group/std-proposals/?hl=en>
List-Subscribe: <http://groups.google.com/a/isocpp.org/group/std-proposals/subscribe?hl=en>,
 <mailto:std-proposals+subscribe@isocpp.org>
List-Unsubscribe: <http://groups.google.com/a/isocpp.org/group/std-proposals/subscribe?hl=en>,
 <mailto:googlegroups-manage+399137483710+unsubscribe@googlegroups.com>
Xref: news.gmane.org gmane.comp.lang.c++.isocpp.proposals:4826
Archived-At: <http://permalink.gmane.org/gmane.comp.lang.c++.isocpp.proposals/4826>

--000e0ce0743c80d1dc04de442986
Content-Type: text/plain; charset=ISO-8859-1

On Jun 3, 2013 10:53 AM, "Nicol Bolas" <jmckesson@gmail.com> wrote:
>
> On Monday, June 3, 2013 10:11:52 AM UTC-7, carrieran...@yahoo.co.uk wrote:
>>
>> On Monday, June 3, 2013 12:49:03 PM UTC-4, Jeffrey Yasskin wrote:
>>>
>>> So your proposed class is not assignable? That's likely to be a
problem.
>>
>>
>> Correct. I've gotten by using my implementation for years without need
for assignment. This isn't a type one would normally use as a member
variable or, say, create a std::vector<sequence<int>> of. They are very
short lived and lightweight to construct and copy. Of course, I can be
convinced and I am here hoping to improve it and hear feedback. Thanks.
>
>
> And LLVM and Google have gotten by with types that are equally
lightweight and shortlived, yet theirs are assignable and adjustable in
size. Why should we use yours instead of theirs (ie: array_ref)?
>

It's always nice to depend on types that have more guarantees as a result
of offering fewer methods. The downside is that such types can't do as
much, so you often run into situations they don't work in.
carrierandoperator's statement that (s)he hasn't in fact run into such
situations is valuable in a way that Google's and LLVM's experience isn't.

I do still think that we should use const iterator_range<const T*> (or a
template alias to that) to represent a continuous range whose bound can't
change, but that doesn't detract from the value of carrierandoperator's
experience.

Jeffrey

-- 

--- 
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.
Visit this group at http://groups.google.com/a/isocpp.org/group/std-proposals/?hl=en.



--000e0ce0743c80d1dc04de442986
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

<p dir=3D"ltr">On Jun 3, 2013 10:53 AM, &quot;Nicol Bolas&quot; &lt;<a href=
=3D"mailto:jmckesson@gmail.com">jmckesson@gmail.com</a>&gt; wrote:<br>
&gt;<br>
&gt; On Monday, June 3, 2013 10:11:52 AM UTC-7, <a href=3D"mailto:carrieran=
....@yahoo.co.uk">carrieran...@yahoo.co.uk</a> wrote:<br>
&gt;&gt;<br>
&gt;&gt; On Monday, June 3, 2013 12:49:03 PM UTC-4, Jeffrey Yasskin wrote:<=
br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; So your proposed class is not assignable? That&#39;s likely to=
 be a problem. <br>
&gt;&gt;<br>
&gt;&gt; =A0<br>
&gt;&gt; Correct. I&#39;ve gotten by using my implementation for years with=
out need for assignment. This isn&#39;t a type one would normally use as a =
member variable or, say, create a std::vector&lt;sequence&lt;int&gt;&gt; of=
.. They are very short lived and lightweight to construct and copy. Of cours=
e, I can be convinced and I am here hoping to improve it and hear feedback.=
 Thanks.<br>

&gt;<br>
&gt;<br>
&gt; And LLVM and Google have gotten by with types that are equally lightwe=
ight and shortlived, yet theirs are assignable and adjustable in size. Why =
should we use yours instead of theirs (ie: array_ref)?<br>
&gt;</p>
<p dir=3D"ltr">It&#39;s always nice to depend on types that have more guara=
ntees as a result of offering fewer methods. The downside is that such type=
s can&#39;t do as much, so you often run into situations they don&#39;t wor=
k in. carrierandoperator&#39;s statement that (s)he hasn&#39;t in fact run =
into such situations is valuable in a way that Google&#39;s and LLVM&#39;s =
experience isn&#39;t.</p>

<p dir=3D"ltr">I do still think that we should use const iterator_range&lt;=
const T*&gt; (or a template alias to that) to represent a continuous range =
whose bound can&#39;t change, but that doesn&#39;t detract from the value o=
f carrierandoperator&#39;s experience.</p>

<p dir=3D"ltr">Jeffrey</p>

<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/?hl=3Den">http://groups.google.com/a/isocpp.org/group/std-pro=
posals/?hl=3Den</a>.<br />
&nbsp;<br />
&nbsp;<br />

--000e0ce0743c80d1dc04de442986--

.
