From patchwork Tue Nov 9 13:22:49 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paolo Carlini X-Patchwork-Id: 70543 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) by ozlabs.org (Postfix) with SMTP id B6ECFB7080 for ; Wed, 10 Nov 2010 00:23:08 +1100 (EST) Received: (qmail 14251 invoked by alias); 9 Nov 2010 13:23:01 -0000 Received: (qmail 14228 invoked by uid 22791); 9 Nov 2010 13:22:58 -0000 X-SWARE-Spam-Status: No, hits=-1.8 required=5.0 tests=AWL, BAYES_00, RCVD_IN_DNSWL_NONE X-Spam-Check-By: sourceware.org Received: from vsmtp14.tin.it (HELO vsmtp14.tin.it) (212.216.176.118) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Tue, 09 Nov 2010 13:22:53 +0000 Received: from [192.168.0.4] (79.52.193.4) by vsmtp14.tin.it (8.5.113) id 4BCE30370FE5907D; Tue, 9 Nov 2010 14:22:50 +0100 Message-ID: <4CD94B29.4050809@oracle.com> Date: Tue, 09 Nov 2010 14:22:49 +0100 From: Paolo Carlini User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.15) Gecko/20101026 SUSE/3.0.10 Thunderbird/3.0.10 MIME-Version: 1.0 To: "gcc-patches@gcc.gnu.org" CC: libstdc++ Subject: [v3] Minor clean-up to stl_tree.h X-IsSubscribed: yes Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Delivered-To: mailing list gcc-patches@gcc.gnu.org Hi, tested x86_64-linux, committed to mainline. Paolo. ////////////////////////////// 2010-11-09 Paolo Carlini * include/bits/stl_tree.h (_Rb_tree<>::_M_const_cast_iter): Add and use it throughout. Index: include/bits/stl_tree.h =================================================================== --- include/bits/stl_tree.h (revision 166485) +++ include/bits/stl_tree.h (working copy) @@ -557,6 +557,11 @@ private: iterator + _M_const_cast_iter(const_iterator __cit) + { return iterator(static_cast<_Link_type> + (const_cast<_Base_ptr>(__cit._M_node))); } + + iterator _M_insert_(_Const_Base_ptr __x, _Const_Base_ptr __y, const value_type& __v); @@ -719,8 +724,7 @@ const_iterator __result = __position; ++__result; _M_erase_aux(__position); - return iterator(static_cast<_Link_type> - (const_cast<_Base_ptr>(__result._M_node))); + return _M_const_cast_iter(__result); } #else void @@ -737,8 +741,7 @@ erase(const_iterator __first, const_iterator __last) { _M_erase_aux(__first, __last); - return iterator(static_cast<_Link_type> - (const_cast<_Base_ptr>(__last._M_node))); + return _M_const_cast_iter(__last); } #else void @@ -1279,8 +1282,7 @@ } else // Equivalent keys. - return iterator(static_cast<_Link_type> - (const_cast<_Base_ptr>(__position._M_node))); + return _M_const_cast_iter(__position); } template