220 3651 <622154c0-c112-4756-bfd0-123188e9c398@isocpp.org> article
Path: news.gmane.org!not-for-mail
From: sgheeren@gmail.com
Newsgroups: gmane.comp.lang.c++.isocpp.proposals
Subject: Re: N3573: Why heterogenous extensions to unordered
 containers will not work
Date: Tue, 9 Apr 2013 04:38:38 -0700 (PDT)
Lines: 76
Approved: news@gmane.org
Message-ID: <622154c0-c112-4756-bfd0-123188e9c398@isocpp.org>
References: <ed957851-6769-4e9e-9244-36b31112799c@isocpp.org>
 <d32b2253-b4c4-43ea-8cb6-b635a5af3342@isocpp.org>
Reply-To: std-proposals@isocpp.org
NNTP-Posting-Host: plane.gmane.org
Mime-Version: 1.0
Content-Type: multipart/alternative; 
	boundary="----=_Part_5370_27775616.1365507518614"
X-Trace: ger.gmane.org 1365507517 13992 80.91.229.3 (9 Apr 2013 11:38:37 GMT)
X-Complaints-To: usenet@ger.gmane.org
NNTP-Posting-Date: Tue, 9 Apr 2013 11:38:37 +0000 (UTC)
Cc: jgottman6@gmail.com
To: std-proposals@isocpp.org
Original-X-From: std-proposals+bncBCL4V2426AARBP73R6FQKGQEZ7MKZJQ@isocpp.org Tue Apr 09 13:38:41 2013
Return-path: <std-proposals+bncBCL4V2426AARBP73R6FQKGQEZ7MKZJQ@isocpp.org>
Envelope-to: gclcip-std-proposals@m.gmane.org
Original-Received: from mail-gh0-f197.google.com ([209.85.160.197])
	by plane.gmane.org with esmtp (Exim 4.69)
	(envelope-from <std-proposals+bncBCL4V2426AARBP73R6FQKGQEZ7MKZJQ@isocpp.org>)
	id 1UPWsr-0001SD-6b
	for gclcip-std-proposals@m.gmane.org; Tue, 09 Apr 2013 13:38:41 +0200
Original-Received: by mail-gh0-f197.google.com with SMTP id r17sf9475763ghr.0
        for <gclcip-std-proposals@m.gmane.org>; Tue, 09 Apr 2013 04:38:40 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20120113;
        h=x-received:x-beenthere:x-received:date:from:to:cc:message-id
         :in-reply-to:references:subject:mime-version:x-original-sender
         :reply-to:precedence:mailing-list:list-id:x-google-group-id
         :list-post:list-help:list-archive:list-subscribe:list-unsubscribe
         :content-type;
        bh=lKgvDECo66OOsoJntWDTh3Xs7UgKCzP6Lh3DV5nDgFc=;
        b=VaJkdZ3a5QqBIZQof5BcUKqJ799HkXL1wIeUCS3cVos1O6grrODOgmd+bGrIZEsbLA
         1xrStp69hCQOdvta6OUy5MjcJjcqOJxEVxyP3gRsqJm4axJeteE7dFsRa1LdjZmbvSXx
         1WSneUJPvJLVxVCs4dABveiKDOjoQpvLprT0GMPndMzjjwI0nAglbPekNcAx54lh7cmr
         IYHAF6fkLL6lOPdnTLOl8IevVja/3sWkFCjnQLv5s/cYKqP36Zo//7ZM7OaIDcgDpM2C
         FRVRSB9LqIA78hebkyJkQ0krysQM91Pznck1cpGgCwAIktMsaepFG922XjkxK+8S9hYE
         PgBA==
X-Received: by 10.236.118.161 with SMTP id l21mr11799766yhh.44.1365507519913;
        Tue, 09 Apr 2013 04:38:39 -0700 (PDT)
X-BeenThere: std-proposals@isocpp.org
Original-Received: by 10.49.130.227 with SMTP id oh3ls2818109qeb.57.gmail; Tue, 09 Apr
 2013 04:38:38 -0700 (PDT)
X-Received: by 10.49.71.50 with SMTP id r18mr2040262qeu.26.1365507518862;
        Tue, 09 Apr 2013 04:38:38 -0700 (PDT)
In-Reply-To: <d32b2253-b4c4-43ea-8cb6-b635a5af3342@isocpp.org>
X-Original-Sender: sgheeren@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:3651
Archived-At: <http://permalink.gmane.org/gmane.comp.lang.c++.isocpp.proposals/3651>

------=_Part_5370_27775616.1365507518614
Content-Type: text/plain; charset=ISO-8859-1

On Tuesday, April 9, 2013 12:58:15 PM UTC+2, DeadMG wrote:
>
> ... and secondly, I did not consider a moving erase. Currently, it is 
> impossible to move an element out of a map/set/unordered_map/unordered_set, 
> which is a bit painful IYAM- my previous use cases simply did not require 
> it, so I didn't consider it. Obviously this would have to be 
> move-out-and-erase in one step to prevent violating the invariants of the 
> container.


Have you had look at proposal n3586 "Splicing Maps and Sets"? Seems to 
address the same usecase area:

As technically a splice method is not possible for maps or sets, the goal 
> is to add a new function called remove, which returns a unique pointer 
> holding the node, and add a new overload to insert, allowing to insert the 
> node into the new container 

 


Seth 

-- 

--- 
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.



------=_Part_5370_27775616.1365507518614
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

On Tuesday, April 9, 2013 12:58:15 PM UTC+2, DeadMG wrote:<blockquote class=
=3D"gmail_quote" style=3D"margin: 0;margin-left: 0.8ex;border-left: 1px #cc=
c solid;padding-left: 1ex;">... and secondly, I did not consider a moving e=
rase. Currently, it is impossible to move an element out of a map/set/unord=
ered_map/unordered_set, which is a bit painful IYAM- my previous use cases =
simply did not require it, so I didn't consider it. Obviously this would ha=
ve to be move-out-and-erase in one step to prevent violating the invariants=
 of the container.</blockquote><div><br></div><div>Have you had look at pro=
posal n3586 "Splicing Maps and Sets"? Seems to address the same usecase are=
a:</div><div><br></div><blockquote class=3D"gmail_quote" style=3D"margin: 0=
;margin-left: 0.8ex;border-left: 1px #ccc solid;padding-left: 1ex;">As tech=
nically a splice method is not possible for maps or sets, the goal is to ad=
d a new function called remove, which returns a unique pointer holding the =
node, and add a new overload to insert, allowing to insert the node into th=
e new container&nbsp;</blockquote><blockquote class=3D"gmail_quote" style=
=3D"margin: 0;margin-left: 0.8ex;border-left: 1px #ccc solid;padding-left: =
1ex;">&nbsp;</blockquote><div><br></div><div>Seth&nbsp;</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/?hl=3Den">http://groups.google.com/a/isocpp.org/group/std-pro=
posals/?hl=3Den</a>.<br />
&nbsp;<br />
&nbsp;<br />

------=_Part_5370_27775616.1365507518614--

.
