220 4679 <FF769E17-643C-47FE-8A3E-D28436A4B9A6@gmail.com> article
Path: news.gmane.org!not-for-mail
From: Howard Hinnant <howard.hinnant@gmail.com>
Newsgroups: gmane.comp.lang.c++.isocpp.proposals
Subject: Re: Remove vector<bool>?
Date: Tue, 28 May 2013 16:12:21 -0400
Lines: 46
Approved: news@gmane.org
Message-ID: <FF769E17-643C-47FE-8A3E-D28436A4B9A6@gmail.com>
References: <CAGsORuDQdeWAO5yjA6=h0hW9Y0Sj4F1gcHB61udw5JFmtx+g4Q@mail.gmail.com> <CAGg_6+O9XJucMxwEhU+50Dzx0Tz7XRK0cWyrkUHuPSoEz9TqEw@mail.gmail.com> <e59c2a57-6068-4098-8667-5d086b2961fd@isocpp.org> <7371f4b8-8c47-4f17-af1e-902a5c8b17e4@isocpp.org>
Reply-To: std-proposals@isocpp.org
NNTP-Posting-Host: plane.gmane.org
Mime-Version: 1.0 (Mac OS X Mail 6.3 \(1503\))
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
X-Trace: ger.gmane.org 1369771943 5822 80.91.229.3 (28 May 2013 20:12:23 GMT)
X-Complaints-To: usenet@ger.gmane.org
NNTP-Posting-Date: Tue, 28 May 2013 20:12:23 +0000 (UTC)
To: std-proposals@isocpp.org
Original-X-From: std-proposals+bncBCK2HM4L6YERBJE7SSGQKGQEMWPI4LA@isocpp.org Tue May 28 22:12:23 2013
Return-path: <std-proposals+bncBCK2HM4L6YERBJE7SSGQKGQEMWPI4LA@isocpp.org>
Envelope-to: gclcip-std-proposals@m.gmane.org
Original-Received: from mail-ob0-f199.google.com ([209.85.214.199])
	by plane.gmane.org with esmtp (Exim 4.69)
	(envelope-from <std-proposals+bncBCK2HM4L6YERBJE7SSGQKGQEMWPI4LA@isocpp.org>)
	id 1UhQFq-0004us-52
	for gclcip-std-proposals@m.gmane.org; Tue, 28 May 2013 22:12:22 +0200
Original-Received: by mail-ob0-f199.google.com with SMTP id xk17sf46112obc.6
        for <gclcip-std-proposals@m.gmane.org>; Tue, 28 May 2013 13:12:21 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20120113;
        h=x-beenthere:mime-version:subject:from:in-reply-to:date:message-id
         :references:to:x-mailer: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
         :content-transfer-encoding;
        bh=uSXJOXlyxIiT5uj5ThaFwijtZ+uGNBxdejA6Bbz90GU=;
        b=SoXswP3u17ri0IPnUfKBuyN+ZMRVbU3vt3IVEFa1aFjXdB5EqrJC9EnEwYq2m+JHiV
         4g6t6w4k7EeoglR3yb+YkGnv975NvUTeRVgcWQj+PJ7m6/s0Rv2HihPv+z9xCMh6Rqx7
         f8y0NsbeRSp0ju3FJ7kBlPh7pgH+TxvD0Nlewai3joI1LvAwp3/SniHuSEFLxxmOFO0O
         80egAzwxe7H+aux6c0aguFwjysUsLeaOEb1Ycu229lj6VVIHUwD3mcOTiAS5xTmgHBmP
         YN1EWPY5vQ4fTuLI3IhbHtkudlMWPoT9+eQaoftHsO9I5Z91BFULVwSvTfD/Zh7OZ3pS
   
X-Received: by 10.182.138.42 with SMTP id qn10mr8514622obb.30.1369771941132;
        Tue, 28 May 2013 13:12:21 -0700 (PDT)
X-BeenThere: std-proposals@isocpp.org
Original-Received: by 10.182.97.133 with SMTP id ea5ls1323154obb.31.gmail; Tue, 28 May
 2013 13:12:20 -0700 (PDT)
X-Received: by 10.60.84.102 with SMTP id x6mr22086821oey.73.1369771940034;
        Tue, 28 May 2013 13:12:20 -0700 (PDT)
Original-Received: from mail-ie0-x22b.google.com (mail-ie0-x22b.google.com [2607:f8b0:4001:c03::22b])
        by mx.google.com with ESMTPS id yx1si20414554obb.135.2013.05.28.13.12.19
        for <std-proposals@isocpp.org>
        (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128);
        Tue, 28 May 2013 13:12:20 -0700 (PDT)
Received-SPF: pass (google.com: domain of howard.hinnant@gmail.com designates 2607:f8b0:4001:c03::22b as permitted sender) client-ip=2607:f8b0:4001:c03::22b;
Original-Received: by mail-ie0-f171.google.com with SMTP id s9so4756420iec.30
        for <std-proposals@isocpp.org>; Tue, 28 May 2013 13:12:19 -0700 (PDT)
X-Received: by 10.50.73.194 with SMTP id n2mr6122181igv.73.1369771939637;
        Tue, 28 May 2013 13:12:19 -0700 (PDT)
Original-Received: from [10.0.1.4] (cpe-24-59-186-27.twcny.res.rr.com. [24.59.186.27])
        by mx.google.com with ESMTPSA id ft3sm5222782igb.10.2013.05.28.13.12.17
        for <std-proposals@isocpp.org>
        (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128);
        Tue, 28 May 2013 13:12:18 -0700 (PDT)
In-Reply-To: <7371f4b8-8c47-4f17-af1e-902a5c8b17e4@isocpp.org>
X-Mailer: Apple Mail (2.1503)
X-Original-Sender: howard.hinnant@gmail.com
X-Original-Authentication-Results: mx.google.com;       spf=pass (google.com:
 domain of howard.hinnant@gmail.com designates 2607:f8b0:4001:c03::22b as
 permitted sender) smtp.mail=howard.hinnant@gmail.com;       dkim=pass header.i=@gmail.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:4679
Archived-At: <http://permalink.gmane.org/gmane.comp.lang.c++.isocpp.proposals/4679>

On May 28, 2013, at 4:00 PM, Nicol Bolas <jmckesson@gmail.com> wrote:

> Personally, I agree with Howard; we should add a class that has all of th=
is functionality (presumably with some degree of required sizing) that woul=
d be a drop-in replacement for those who need the sizing features of vector=
<bool>. But the question remains: even with a drop-in replacement, how much=
 code will be broken because of this?

Model this after the auto_ptr -> unique_ptr transition:

Step 1:  Introduce bit_vector (or whatever) and deprecate the vector<bool> =
specialization.  /Somehow/ motivate people to migrate.

Step 2:  Not to be done for at least 5-10 years after Step 1, remove the ve=
ctor<bool> specialization.

> how much code will be broken because of this?

After Step 1, none.

After Step 2, as much code as there is that:

   A.  Failed to migrate during the lengthy period that vector<bool> is dep=
recated, and
   B.  As much code that actually cares that vector<bool> was specialized.

Hopefully, little code will be broken.  While I wouldn't dream of removing =
auto_ptr today, I have the impression that the auto_ptr -> unique_ptr migra=
tion is going well, thanks to the added sweetener unique_ptr has.  Removing=
 auto_ptr for C++17 is a possibility.  If not then, then maybe C++2x.

Howard

--=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/?hl=3Den.



.
