From patchwork Thu May 26 15:37:17 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paolo Carlini X-Patchwork-Id: 97588 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 1D7D6B6F90 for ; Fri, 27 May 2011 01:37:33 +1000 (EST) Received: (qmail 9647 invoked by alias); 26 May 2011 15:37:24 -0000 Received: (qmail 7904 invoked by uid 22791); 26 May 2011 15:37:12 -0000 X-SWARE-Spam-Status: No, hits=-0.5 required=5.0 tests=AWL, BAYES_50, RCVD_IN_DNSWL_NONE X-Spam-Check-By: sourceware.org Received: from smtp204.alice.it (HELO smtp204.alice.it) (82.57.200.100) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Thu, 26 May 2011 15:36:48 +0000 Received: from [192.168.1.4] (79.53.14.183) by smtp204.alice.it (8.5.124.08) id 4D7E0F64067F8D78; Thu, 26 May 2011 17:36:43 +0200 Message-ID: <4DDE73AD.1040200@oracle.com> Date: Thu, 26 May 2011 17:37:17 +0200 From: Paolo Carlini User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.17) Gecko/20110414 SUSE/3.1.10 Thunderbird/3.1.10 MIME-Version: 1.0 To: "gcc-patches@gcc.gnu.org" CC: libstdc++ Subject: [v3] Use noexcept in the containers (first minimal pass) 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, normal, debug, profile mode. Committed. Thanks, Paolo. /////////////////// 2011-05-26 Paolo Carlini * src/list.cc: Use noexcept per the FDIS. * src/compatibility-list-2.cc: Likewise. * include/debug/set.h: Likewise. * include/debug/unordered_map: Likewise. * include/debug/multiset.h: Likewise. * include/debug/forward_list: Likewise. * include/debug/unordered_set: Likewise. * include/debug/vector: Likewise. * include/debug/map.h: Likewise. * include/debug/deque: Likewise. * include/debug/list: Likewise. * include/debug/multimap.h: Likewise. * include/profile/set.h: Likewise. * include/profile/unordered_map: Likewise. * include/profile/multiset.h: Likewise. * include/profile/forward_list: Likewise. * include/profile/vector: Likewise. * include/profile/unordered_set: Likewise. * include/profile/map.h: Likewise. * include/profile/deque: Likewise. * include/profile/list: Likewise. * include/profile/multimap.h: Likewise. * include/bits/hashtable.h: Likewise. * include/bits/stl_list.h: Likewise. * include/bits/stl_map.h: Likewise. * include/bits/hashtable_policy.h: Likewise. * include/bits/stl_set.h: Likewise. * include/bits/forward_list.h: Likewise. * include/bits/stl_multimap.h: Likewise. * include/bits/stl_vector.h: Likewise. * include/bits/stl_deque.h: Likewise. * include/bits/stl_multiset.h: Likewise. * include/bits/stl_bvector.h: Likewise. * include/bits/stl_tree.h: Likewise. Index: src/list.cc =================================================================== --- src/list.cc (revision 174269) +++ src/list.cc (working copy) @@ -57,7 +57,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION void - _List_node_base::swap(_List_node_base& __x, _List_node_base& __y) throw() + _List_node_base::swap(_List_node_base& __x, + _List_node_base& __y) _GLIBCXX_USE_NOEXCEPT { if ( __x._M_next != &__x ) { @@ -89,8 +90,9 @@ } void - _List_node_base::_M_transfer(_List_node_base * const __first, - _List_node_base * const __last) throw() + _List_node_base:: + _M_transfer(_List_node_base * const __first, + _List_node_base * const __last) _GLIBCXX_USE_NOEXCEPT { if (this != __last) { @@ -108,7 +110,7 @@ } void - _List_node_base::_M_reverse() throw() + _List_node_base::_M_reverse() _GLIBCXX_USE_NOEXCEPT { _List_node_base* __tmp = this; do @@ -122,7 +124,8 @@ } void - _List_node_base::_M_hook(_List_node_base* const __position) throw() + _List_node_base:: + _M_hook(_List_node_base* const __position) _GLIBCXX_USE_NOEXCEPT { this->_M_next = __position; this->_M_prev = __position->_M_prev; @@ -131,7 +134,7 @@ } void - _List_node_base::_M_unhook() throw() + _List_node_base::_M_unhook() _GLIBCXX_USE_NOEXCEPT { _List_node_base* const __next_node = this->_M_next; _List_node_base* const __prev_node = this->_M_prev; Index: src/compatibility-list-2.cc =================================================================== --- src/compatibility-list-2.cc (revision 174269) +++ src/compatibility-list-2.cc (working copy) @@ -43,21 +43,22 @@ void _M_transfer(_List_node_base * const __first, - _List_node_base * const __last) throw (); + _List_node_base * const __last) _GLIBCXX_USE_NOEXCEPT; void - _M_reverse() throw (); + _M_reverse() _GLIBCXX_USE_NOEXCEPT; void - _M_hook(_List_node_base * const __position) throw (); + _M_hook(_List_node_base * const __position) _GLIBCXX_USE_NOEXCEPT; void - _M_unhook() throw (); + _M_unhook() _GLIBCXX_USE_NOEXCEPT; }; void - _List_node_base::_M_transfer(_List_node_base * const __first, - _List_node_base * const __last) throw () + _List_node_base:: + _M_transfer(_List_node_base * const __first, + _List_node_base * const __last) _GLIBCXX_USE_NOEXCEPT { if (this != __last) { @@ -75,7 +76,7 @@ } void - _List_node_base::_M_reverse() throw () + _List_node_base::_M_reverse() _GLIBCXX_USE_NOEXCEPT { _List_node_base* __tmp = this; do @@ -89,7 +90,8 @@ } void - _List_node_base::_M_hook(_List_node_base* const __position) throw () + _List_node_base:: + _M_hook(_List_node_base* const __position) _GLIBCXX_USE_NOEXCEPT { this->_M_next = __position; this->_M_prev = __position->_M_prev; @@ -98,7 +100,7 @@ } void - _List_node_base::_M_unhook() throw () + _List_node_base::_M_unhook() _GLIBCXX_USE_NOEXCEPT { _List_node_base* const __next_node = this->_M_next; _List_node_base* const __prev_node = this->_M_prev; Index: include/debug/set.h =================================================================== --- include/debug/set.h (revision 174269) +++ include/debug/set.h (working copy) @@ -138,52 +138,52 @@ // iterators: iterator - begin() + begin() _GLIBCXX_NOEXCEPT { return iterator(_Base::begin(), this); } const_iterator - begin() const + begin() const _GLIBCXX_NOEXCEPT { return const_iterator(_Base::begin(), this); } iterator - end() + end() _GLIBCXX_NOEXCEPT { return iterator(_Base::end(), this); } const_iterator - end() const + end() const _GLIBCXX_NOEXCEPT { return const_iterator(_Base::end(), this); } reverse_iterator - rbegin() + rbegin() _GLIBCXX_NOEXCEPT { return reverse_iterator(end()); } const_reverse_iterator - rbegin() const + rbegin() const _GLIBCXX_NOEXCEPT { return const_reverse_iterator(end()); } reverse_iterator - rend() + rend() _GLIBCXX_NOEXCEPT { return reverse_iterator(begin()); } const_reverse_iterator - rend() const + rend() const _GLIBCXX_NOEXCEPT { return const_reverse_iterator(begin()); } #ifdef __GXX_EXPERIMENTAL_CXX0X__ const_iterator - cbegin() const + cbegin() const noexcept { return const_iterator(_Base::begin(), this); } const_iterator - cend() const + cend() const noexcept { return const_iterator(_Base::end(), this); } const_reverse_iterator - crbegin() const + crbegin() const noexcept { return const_reverse_iterator(end()); } const_reverse_iterator - crend() const + crend() const noexcept { return const_reverse_iterator(begin()); } #endif @@ -323,7 +323,7 @@ } void - clear() + clear() _GLIBCXX_NOEXCEPT { this->_M_invalidate_all(); _Base::clear(); @@ -387,10 +387,10 @@ } _Base& - _M_base() { return *this; } + _M_base() _GLIBCXX_NOEXCEPT { return *this; } const _Base& - _M_base() const { return *this; } + _M_base() const _GLIBCXX_NOEXCEPT { return *this; } private: void Index: include/debug/unordered_map =================================================================== --- include/debug/unordered_map (revision 174269) +++ include/debug/unordered_map (working copy) @@ -141,34 +141,34 @@ } void - clear() + clear() noexcept { _Base::clear(); this->_M_invalidate_all(); } iterator - begin() + begin() noexcept { return iterator(_Base::begin(), this); } const_iterator - begin() const + begin() const noexcept { return const_iterator(_Base::begin(), this); } iterator - end() + end() noexcept { return iterator(_Base::end(), this); } const_iterator - end() const + end() const noexcept { return const_iterator(_Base::end(), this); } const_iterator - cbegin() const + cbegin() const noexcept { return const_iterator(_Base::begin(), this); } const_iterator - cend() const + cend() const noexcept { return const_iterator(_Base::end(), this); } // local versions @@ -293,10 +293,10 @@ } _Base& - _M_base() { return *this; } + _M_base() noexcept { return *this; } const _Base& - _M_base() const { return *this; } + _M_base() const noexcept { return *this; } private: void @@ -429,34 +429,34 @@ } void - clear() + clear() noexcept { _Base::clear(); this->_M_invalidate_all(); } iterator - begin() + begin() noexcept { return iterator(_Base::begin(), this); } const_iterator - begin() const + begin() const noexcept { return const_iterator(_Base::begin(), this); } iterator - end() + end() noexcept { return iterator(_Base::end(), this); } const_iterator - end() const + end() const noexcept { return const_iterator(_Base::end(), this); } const_iterator - cbegin() const + cbegin() const noexcept { return const_iterator(_Base::begin(), this); } const_iterator - cend() const + cend() const noexcept { return const_iterator(_Base::end(), this); } // local versions @@ -575,10 +575,10 @@ } _Base& - _M_base() { return *this; } + _M_base() noexcept { return *this; } const _Base& - _M_base() const { return *this; } + _M_base() const noexcept { return *this; } private: void Index: include/debug/multiset.h =================================================================== --- include/debug/multiset.h (revision 174269) +++ include/debug/multiset.h (working copy) @@ -1,6 +1,6 @@ // Debugging multiset implementation -*- C++ -*- -// Copyright (C) 2003, 2004, 2005, 2006, 2007, 2009, 2010 +// Copyright (C) 2003, 2004, 2005, 2006, 2007, 2009, 2010, 2011 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -138,52 +138,52 @@ // iterators: iterator - begin() + begin() _GLIBCXX_NOEXCEPT { return iterator(_Base::begin(), this); } const_iterator - begin() const + begin() const _GLIBCXX_NOEXCEPT { return const_iterator(_Base::begin(), this); } iterator - end() + end() _GLIBCXX_NOEXCEPT { return iterator(_Base::end(), this); } const_iterator - end() const + end() const _GLIBCXX_NOEXCEPT { return const_iterator(_Base::end(), this); } reverse_iterator - rbegin() + rbegin() _GLIBCXX_NOEXCEPT { return reverse_iterator(end()); } const_reverse_iterator - rbegin() const + rbegin() const _GLIBCXX_NOEXCEPT { return const_reverse_iterator(end()); } reverse_iterator - rend() + rend() _GLIBCXX_NOEXCEPT { return reverse_iterator(begin()); } const_reverse_iterator - rend() const + rend() const _GLIBCXX_NOEXCEPT { return const_reverse_iterator(begin()); } #ifdef __GXX_EXPERIMENTAL_CXX0X__ const_iterator - cbegin() const + cbegin() const noexcept { return const_iterator(_Base::begin(), this); } const_iterator - cend() const + cend() const noexcept { return const_iterator(_Base::end(), this); } const_reverse_iterator - crbegin() const + crbegin() const noexcept { return const_reverse_iterator(end()); } const_reverse_iterator - crend() const + crend() const noexcept { return const_reverse_iterator(begin()); } #endif @@ -315,7 +315,7 @@ } void - clear() + clear() _GLIBCXX_NOEXCEPT { this->_M_invalidate_all(); _Base::clear(); @@ -379,10 +379,10 @@ } _Base& - _M_base() { return *this; } + _M_base() _GLIBCXX_NOEXCEPT { return *this; } const _Base& - _M_base() const { return *this; } + _M_base() const _GLIBCXX_NOEXCEPT { return *this; } private: void Index: include/debug/forward_list =================================================================== --- include/debug/forward_list (revision 174269) +++ include/debug/forward_list (working copy) @@ -173,39 +173,39 @@ // iterators: iterator - before_begin() + before_begin() noexcept { return iterator(_Base::before_begin(), this); } const_iterator - before_begin() const + before_begin() const noexcept { return const_iterator(_Base::before_begin(), this); } iterator - begin() + begin() noexcept { return iterator(_Base::begin(), this); } const_iterator - begin() const + begin() const noexcept { return const_iterator(_Base::begin(), this); } iterator - end() + end() noexcept { return iterator(_Base::end(), this); } const_iterator - end() const + end() const noexcept { return const_iterator(_Base::end(), this); } const_iterator - cbegin() const + cbegin() const noexcept { return const_iterator(_Base::cbegin(), this); } const_iterator - cbefore_begin() const + cbefore_begin() const noexcept { return const_iterator(_Base::cbefore_begin(), this); } const_iterator - cend() const + cend() const noexcept { return const_iterator(_Base::cend(), this); } using _Base::empty; @@ -392,7 +392,7 @@ } void - clear() + clear() noexcept { _Base::clear(); this->_M_invalidate_all(); @@ -585,10 +585,10 @@ using _Base::reverse; _Base& - _M_base() { return *this; } + _M_base() noexcept { return *this; } const _Base& - _M_base() const { return *this; } + _M_base() const noexcept { return *this; } private: void @@ -669,7 +669,8 @@ _Safe_iterator_base* __this_its = this->_M_iterators; _M_swap_aux(__list, __list._M_iterators, *this, this->_M_iterators); _Safe_iterator_base* __this_const_its = this->_M_const_iterators; - _M_swap_aux(__list, __list._M_const_iterators, *this, this->_M_const_iterators); + _M_swap_aux(__list, __list._M_const_iterators, *this, + this->_M_const_iterators); _M_swap_aux(*this, __this_its, __list, __list._M_iterators); _M_swap_aux(*this, __this_const_its, __list, __list._M_const_iterators); } Index: include/debug/unordered_set =================================================================== --- include/debug/unordered_set (revision 174269) +++ include/debug/unordered_set (working copy) @@ -1,6 +1,6 @@ // Debugging unordered_set/unordered_multiset implementation -*- C++ -*- -// Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 +// Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -141,34 +141,34 @@ } void - clear() + clear() noexcept { _Base::clear(); this->_M_invalidate_all(); } iterator - begin() + begin() noexcept { return iterator(_Base::begin(), this); } const_iterator - begin() const + begin() const noexcept { return const_iterator(_Base::begin(), this); } iterator - end() + end() noexcept { return iterator(_Base::end(), this); } const_iterator - end() const + end() const noexcept { return const_iterator(_Base::end(), this); } const_iterator - cbegin() const + cbegin() const noexcept { return const_iterator(_Base::begin(), this); } const_iterator - cend() const + cend() const noexcept { return const_iterator(_Base::end(), this); } // local versions @@ -286,10 +286,10 @@ } _Base& - _M_base() { return *this; } + _M_base() noexcept { return *this; } const _Base& - _M_base() const { return *this; } + _M_base() const noexcept { return *this; } private: void @@ -418,34 +418,34 @@ } void - clear() + clear() noexcept { _Base::clear(); this->_M_invalidate_all(); } iterator - begin() + begin() noexcept { return iterator(_Base::begin(), this); } const_iterator - begin() const + begin() const noexcept { return const_iterator(_Base::begin(), this); } iterator - end() + end() noexcept { return iterator(_Base::end(), this); } const_iterator - end() const + end() const noexcept { return const_iterator(_Base::end(), this); } const_iterator - cbegin() const + cbegin() const noexcept { return const_iterator(_Base::begin(), this); } const_iterator - cend() const + cend() const noexcept { return const_iterator(_Base::end(), this); } // local versions @@ -556,10 +556,10 @@ } _Base& - _M_base() { return *this; } + _M_base() noexcept { return *this; } const _Base& - _M_base() const { return *this; } + _M_base() const noexcept { return *this; } private: void Index: include/debug/vector =================================================================== --- include/debug/vector (revision 174269) +++ include/debug/vector (working copy) @@ -1,6 +1,6 @@ // Debugging vector implementation -*- C++ -*- -// Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 +// Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -188,52 +188,52 @@ // iterators: iterator - begin() + begin() _GLIBCXX_NOEXCEPT { return iterator(_Base::begin(), this); } const_iterator - begin() const + begin() const _GLIBCXX_NOEXCEPT { return const_iterator(_Base::begin(), this); } iterator - end() + end() _GLIBCXX_NOEXCEPT { return iterator(_Base::end(), this); } const_iterator - end() const + end() const _GLIBCXX_NOEXCEPT { return const_iterator(_Base::end(), this); } reverse_iterator - rbegin() + rbegin() _GLIBCXX_NOEXCEPT { return reverse_iterator(end()); } const_reverse_iterator - rbegin() const + rbegin() const _GLIBCXX_NOEXCEPT { return const_reverse_iterator(end()); } reverse_iterator - rend() + rend() _GLIBCXX_NOEXCEPT { return reverse_iterator(begin()); } const_reverse_iterator - rend() const + rend() const _GLIBCXX_NOEXCEPT { return const_reverse_iterator(begin()); } #ifdef __GXX_EXPERIMENTAL_CXX0X__ const_iterator - cbegin() const + cbegin() const noexcept { return const_iterator(_Base::begin(), this); } const_iterator - cend() const + cend() const noexcept { return const_iterator(_Base::end(), this); } const_reverse_iterator - crbegin() const + crbegin() const noexcept { return const_reverse_iterator(end()); } const_reverse_iterator - crend() const + crend() const noexcept { return const_reverse_iterator(begin()); } #endif @@ -284,7 +284,7 @@ #endif size_type - capacity() const + capacity() const _GLIBCXX_NOEXCEPT { #ifdef _GLIBCXX_DEBUG_PEDANTIC return _M_guaranteed_capacity; @@ -508,7 +508,7 @@ } void - clear() + clear() _GLIBCXX_NOEXCEPT { _Base::clear(); this->_M_invalidate_all(); @@ -516,10 +516,10 @@ } _Base& - _M_base() { return *this; } + _M_base() _GLIBCXX_NOEXCEPT { return *this; } const _Base& - _M_base() const { return *this; } + _M_base() const _GLIBCXX_NOEXCEPT { return *this; } private: size_type _M_guaranteed_capacity; Index: include/debug/map.h =================================================================== --- include/debug/map.h (revision 174269) +++ include/debug/map.h (working copy) @@ -140,52 +140,52 @@ // iterators: iterator - begin() + begin() _GLIBCXX_NOEXCEPT { return iterator(_Base::begin(), this); } const_iterator - begin() const + begin() const _GLIBCXX_NOEXCEPT { return const_iterator(_Base::begin(), this); } iterator - end() + end() _GLIBCXX_NOEXCEPT { return iterator(_Base::end(), this); } const_iterator - end() const + end() const _GLIBCXX_NOEXCEPT { return const_iterator(_Base::end(), this); } reverse_iterator - rbegin() + rbegin() _GLIBCXX_NOEXCEPT { return reverse_iterator(end()); } const_reverse_iterator - rbegin() const + rbegin() const _GLIBCXX_NOEXCEPT { return const_reverse_iterator(end()); } reverse_iterator - rend() + rend() _GLIBCXX_NOEXCEPT { return reverse_iterator(begin()); } const_reverse_iterator - rend() const + rend() const _GLIBCXX_NOEXCEPT { return const_reverse_iterator(begin()); } #ifdef __GXX_EXPERIMENTAL_CXX0X__ const_iterator - cbegin() const + cbegin() const noexcept { return const_iterator(_Base::begin(), this); } const_iterator - cend() const + cend() const noexcept { return const_iterator(_Base::end(), this); } const_reverse_iterator - crbegin() const + crbegin() const noexcept { return const_reverse_iterator(end()); } const_reverse_iterator - crend() const + crend() const noexcept { return const_reverse_iterator(begin()); } #endif @@ -343,7 +343,7 @@ } void - clear() + clear() _GLIBCXX_NOEXCEPT { this->_M_invalidate_all(); _Base::clear(); @@ -400,11 +400,11 @@ const_iterator(__res.second, this)); } - _Base& - _M_base() { return *this; } + _Base& + _M_base() _GLIBCXX_NOEXCEPT { return *this; } const _Base& - _M_base() const { return *this; } + _M_base() const _GLIBCXX_NOEXCEPT { return *this; } private: void Index: include/debug/deque =================================================================== --- include/debug/deque (revision 174269) +++ include/debug/deque (working copy) @@ -1,6 +1,6 @@ // Debugging deque implementation -*- C++ -*- -// Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 +// Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -173,52 +173,52 @@ // iterators: iterator - begin() + begin() _GLIBCXX_NOEXCEPT { return iterator(_Base::begin(), this); } const_iterator - begin() const + begin() const _GLIBCXX_NOEXCEPT { return const_iterator(_Base::begin(), this); } iterator - end() + end() _GLIBCXX_NOEXCEPT { return iterator(_Base::end(), this); } const_iterator - end() const + end() const _GLIBCXX_NOEXCEPT { return const_iterator(_Base::end(), this); } reverse_iterator - rbegin() + rbegin() _GLIBCXX_NOEXCEPT { return reverse_iterator(end()); } const_reverse_iterator - rbegin() const + rbegin() const _GLIBCXX_NOEXCEPT { return const_reverse_iterator(end()); } reverse_iterator - rend() + rend() _GLIBCXX_NOEXCEPT { return reverse_iterator(begin()); } const_reverse_iterator - rend() const + rend() const _GLIBCXX_NOEXCEPT { return const_reverse_iterator(begin()); } #ifdef __GXX_EXPERIMENTAL_CXX0X__ const_iterator - cbegin() const + cbegin() const noexcept { return const_iterator(_Base::begin(), this); } const_iterator - cend() const + cend() const noexcept { return const_iterator(_Base::end(), this); } const_reverse_iterator - crbegin() const + crbegin() const noexcept { return const_reverse_iterator(end()); } const_reverse_iterator - crend() const + crend() const noexcept { return const_reverse_iterator(begin()); } #endif @@ -496,17 +496,17 @@ } void - clear() + clear() _GLIBCXX_NOEXCEPT { _Base::clear(); this->_M_invalidate_all(); } _Base& - _M_base() { return *this; } + _M_base() _GLIBCXX_NOEXCEPT { return *this; } const _Base& - _M_base() const { return *this; } + _M_base() const _GLIBCXX_NOEXCEPT { return *this; } }; template Index: include/debug/list =================================================================== --- include/debug/list (revision 174269) +++ include/debug/list (working copy) @@ -1,6 +1,6 @@ // Debugging list implementation -*- C++ -*- -// Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 +// Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -173,52 +173,52 @@ // iterators: iterator - begin() + begin() _GLIBCXX_NOEXCEPT { return iterator(_Base::begin(), this); } const_iterator - begin() const + begin() const _GLIBCXX_NOEXCEPT { return const_iterator(_Base::begin(), this); } iterator - end() + end() _GLIBCXX_NOEXCEPT { return iterator(_Base::end(), this); } const_iterator - end() const + end() const _GLIBCXX_NOEXCEPT { return const_iterator(_Base::end(), this); } reverse_iterator - rbegin() + rbegin() _GLIBCXX_NOEXCEPT { return reverse_iterator(end()); } const_reverse_iterator - rbegin() const + rbegin() const _GLIBCXX_NOEXCEPT { return const_reverse_iterator(end()); } reverse_iterator - rend() + rend() _GLIBCXX_NOEXCEPT { return reverse_iterator(begin()); } const_reverse_iterator - rend() const + rend() const _GLIBCXX_NOEXCEPT { return const_reverse_iterator(begin()); } #ifdef __GXX_EXPERIMENTAL_CXX0X__ const_iterator - cbegin() const + cbegin() const noexcept { return const_iterator(_Base::begin(), this); } const_iterator - cend() const + cend() const noexcept { return const_iterator(_Base::end(), this); } const_reverse_iterator - crbegin() const + crbegin() const noexcept { return const_reverse_iterator(end()); } const_reverse_iterator - crend() const + crend() const noexcept { return const_reverse_iterator(begin()); } #endif @@ -457,7 +457,7 @@ } void - clear() + clear() _GLIBCXX_NOEXCEPT { _Base::clear(); this->_M_invalidate_all(); @@ -684,10 +684,10 @@ using _Base::reverse; _Base& - _M_base() { return *this; } + _M_base() _GLIBCXX_NOEXCEPT { return *this; } const _Base& - _M_base() const { return *this; } + _M_base() const _GLIBCXX_NOEXCEPT { return *this; } private: void Index: include/debug/multimap.h =================================================================== --- include/debug/multimap.h (revision 174269) +++ include/debug/multimap.h (working copy) @@ -139,52 +139,52 @@ // iterators: iterator - begin() + begin() _GLIBCXX_NOEXCEPT { return iterator(_Base::begin(), this); } const_iterator - begin() const + begin() const _GLIBCXX_NOEXCEPT { return const_iterator(_Base::begin(), this); } iterator - end() + end() _GLIBCXX_NOEXCEPT { return iterator(_Base::end(), this); } const_iterator - end() const + end() const _GLIBCXX_NOEXCEPT { return const_iterator(_Base::end(), this); } reverse_iterator - rbegin() + rbegin() _GLIBCXX_NOEXCEPT { return reverse_iterator(end()); } const_reverse_iterator - rbegin() const + rbegin() const _GLIBCXX_NOEXCEPT { return const_reverse_iterator(end()); } reverse_iterator - rend() + rend() _GLIBCXX_NOEXCEPT { return reverse_iterator(begin()); } const_reverse_iterator - rend() const + rend() const _GLIBCXX_NOEXCEPT { return const_reverse_iterator(begin()); } #ifdef __GXX_EXPERIMENTAL_CXX0X__ const_iterator - cbegin() const + cbegin() const noexcept { return const_iterator(_Base::begin(), this); } const_iterator - cend() const + cend() const noexcept { return const_iterator(_Base::end(), this); } const_reverse_iterator - crbegin() const + crbegin() const noexcept { return const_reverse_iterator(end()); } const_reverse_iterator - crend() const + crend() const noexcept { return const_reverse_iterator(begin()); } #endif @@ -326,7 +326,7 @@ } void - clear() + clear() _GLIBCXX_NOEXCEPT { this->_M_invalidate_all(); _Base::clear(); @@ -382,10 +382,10 @@ } _Base& - _M_base() { return *this; } + _M_base() _GLIBCXX_NOEXCEPT { return *this; } const _Base& - _M_base() const { return *this; } + _M_base() const _GLIBCXX_NOEXCEPT { return *this; } private: void Index: include/profile/set.h =================================================================== --- include/profile/set.h (revision 174269) +++ include/profile/set.h (working copy) @@ -1,6 +1,6 @@ // Profiling set implementation -*- C++ -*- -// Copyright (C) 2009, 2010 Free Software Foundation, Inc. +// Copyright (C) 2009, 2010, 2011 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -124,52 +124,52 @@ // iterators: iterator - begin() + begin() _GLIBCXX_NOEXCEPT { return iterator(_Base::begin()); } const_iterator - begin() const + begin() const _GLIBCXX_NOEXCEPT { return const_iterator(_Base::begin()); } iterator - end() + end() _GLIBCXX_NOEXCEPT { return iterator(_Base::end()); } const_iterator - end() const + end() const _GLIBCXX_NOEXCEPT { return const_iterator(_Base::end()); } reverse_iterator - rbegin() + rbegin() _GLIBCXX_NOEXCEPT { return reverse_iterator(end()); } const_reverse_iterator - rbegin() const + rbegin() const _GLIBCXX_NOEXCEPT { return const_reverse_iterator(end()); } reverse_iterator - rend() + rend() _GLIBCXX_NOEXCEPT { return reverse_iterator(begin()); } const_reverse_iterator - rend() const + rend() const _GLIBCXX_NOEXCEPT { return const_reverse_iterator(begin()); } #ifdef __GXX_EXPERIMENTAL_CXX0X__ const_iterator - cbegin() const + cbegin() const noexcept { return const_iterator(_Base::begin()); } const_iterator - cend() const + cend() const noexcept { return const_iterator(_Base::end()); } const_reverse_iterator - crbegin() const + crbegin() const noexcept { return const_reverse_iterator(end()); } const_reverse_iterator - crend() const + crend() const noexcept { return const_reverse_iterator(begin()); } #endif @@ -259,7 +259,7 @@ { _Base::swap(__x); } void - clear() + clear() _GLIBCXX_NOEXCEPT { this->erase(begin(), end()); } // observers: @@ -322,10 +322,10 @@ } _Base& - _M_base() { return *this; } + _M_base() _GLIBCXX_NOEXCEPT { return *this; } const _Base& - _M_base() const { return *this; } + _M_base() const _GLIBCXX_NOEXCEPT { return *this; } }; Index: include/profile/unordered_map =================================================================== --- include/profile/unordered_map (revision 174269) +++ include/profile/unordered_map (working copy) @@ -1,6 +1,6 @@ // Profiling unordered_map/unordered_multimap implementation -*- C++ -*- -// Copyright (C) 2009, 2010 Free Software Foundation, Inc. +// Copyright (C) 2009, 2010, 2011 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -150,14 +150,13 @@ } _Base& - _M_base() { return *this; } + _M_base() noexcept { return *this; } const _Base& - _M_base() const { return *this; } + _M_base() const noexcept { return *this; } - void - clear() + clear() noexcept { __profcxx_hashtable_destruct(this, _Base::bucket_count(), _Base::size()); @@ -418,14 +417,13 @@ } _Base& - _M_base() { return *this; } + _M_base() noexcept { return *this; } const _Base& - _M_base() const { return *this; } + _M_base() const noexcept { return *this; } - void - clear() + clear() noexcept { __profcxx_hashtable_destruct(this, _Base::bucket_count(), _Base::size()); Index: include/profile/multiset.h =================================================================== --- include/profile/multiset.h (revision 174269) +++ include/profile/multiset.h (working copy) @@ -1,6 +1,6 @@ // Profiling multiset implementation -*- C++ -*- -// Copyright (C) 2009, 2010 Free Software Foundation, Inc. +// Copyright (C) 2009, 2010, 2011 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -124,52 +124,52 @@ // iterators: iterator - begin() + begin() _GLIBCXX_NOEXCEPT { return iterator(_Base::begin()); } const_iterator - begin() const + begin() const _GLIBCXX_NOEXCEPT { return const_iterator(_Base::begin()); } iterator - end() + end() _GLIBCXX_NOEXCEPT { return iterator(_Base::end()); } const_iterator - end() const + end() const _GLIBCXX_NOEXCEPT { return const_iterator(_Base::end()); } reverse_iterator - rbegin() + rbegin() _GLIBCXX_NOEXCEPT { return reverse_iterator(end()); } const_reverse_iterator - rbegin() const + rbegin() const _GLIBCXX_NOEXCEPT { return const_reverse_iterator(end()); } reverse_iterator - rend() + rend() _GLIBCXX_NOEXCEPT { return reverse_iterator(begin()); } const_reverse_iterator - rend() const + rend() const _GLIBCXX_NOEXCEPT { return const_reverse_iterator(begin()); } #ifdef __GXX_EXPERIMENTAL_CXX0X__ const_iterator - cbegin() const + cbegin() const noexcept { return const_iterator(_Base::begin()); } const_iterator - cend() const + cend() const noexcept { return const_iterator(_Base::end()); } const_reverse_iterator - crbegin() const + crbegin() const noexcept { return const_reverse_iterator(end()); } const_reverse_iterator - crend() const + crend() const noexcept { return const_reverse_iterator(begin()); } #endif @@ -249,7 +249,7 @@ { _Base::swap(__x); } void - clear() + clear() _GLIBCXX_NOEXCEPT { this->erase(begin(), end()); } // observers: @@ -312,10 +312,10 @@ } _Base& - _M_base() { return *this; } + _M_base() _GLIBCXX_NOEXCEPT { return *this; } const _Base& - _M_base() const { return *this; } + _M_base() const _GLIBCXX_NOEXCEPT { return *this; } }; Index: include/profile/forward_list =================================================================== --- include/profile/forward_list (revision 174269) +++ include/profile/forward_list (working copy) @@ -1,6 +1,6 @@ // -*- C++ -*- -// Copyright (C) 2010 Free Software Foundation, Inc. +// Copyright (C) 2010, 2011 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -119,10 +119,10 @@ } _Base& - _M_base() { return *this; } + _M_base() noexcept { return *this; } const _Base& - _M_base() const { return *this; } + _M_base() const noexcept { return *this; } }; template Index: include/profile/vector =================================================================== --- include/profile/vector (revision 174269) +++ include/profile/vector (working copy) @@ -1,6 +1,6 @@ // Profiling vector implementation -*- C++ -*- -// Copyright (C) 2009, 2010 Free Software Foundation, Inc. +// Copyright (C) 2009, 2010, 2011 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -70,10 +70,10 @@ typedef std::reverse_iterator const_reverse_iterator; _Base& - _M_base() { return *this; } + _M_base() _GLIBCXX_NOEXCEPT { return *this; } const _Base& - _M_base() const { return *this; } + _M_base() const _GLIBCXX_NOEXCEPT { return *this; } // 23.2.4.1 construct/copy/destroy: explicit @@ -148,7 +148,8 @@ : _Base(__l, __a) { } #endif - ~vector() { + ~vector() + { __profcxx_vector_destruct(this, this->capacity(), this->size()); __profcxx_vector_destruct2(this); } @@ -185,52 +186,52 @@ // iterators: iterator - begin() + begin() _GLIBCXX_NOEXCEPT { return iterator(_Base::begin(), this); } const_iterator - begin() const + begin() const _GLIBCXX_NOEXCEPT { return const_iterator(_Base::begin(), this); } iterator - end() + end() _GLIBCXX_NOEXCEPT { return iterator(_Base::end(), this); } const_iterator - end() const + end() const _GLIBCXX_NOEXCEPT { return const_iterator(_Base::end(), this); } reverse_iterator - rbegin() + rbegin() _GLIBCXX_NOEXCEPT { return reverse_iterator(end()); } const_reverse_iterator - rbegin() const + rbegin() const _GLIBCXX_NOEXCEPT { return const_reverse_iterator(end()); } reverse_iterator - rend() + rend() _GLIBCXX_NOEXCEPT { return reverse_iterator(begin()); } const_reverse_iterator - rend() const + rend() const _GLIBCXX_NOEXCEPT { return const_reverse_iterator(begin()); } #ifdef __GXX_EXPERIMENTAL_CXX0X__ const_iterator - cbegin() const + cbegin() const noexcept { return const_iterator(_Base::begin(), this); } const_iterator - cend() const + cend() const noexcept { return const_iterator(_Base::end(), this); } const_reverse_iterator - crbegin() const + crbegin() const noexcept { return const_reverse_iterator(end()); } const_reverse_iterator - crend() const + crend() const noexcept { return const_reverse_iterator(begin()); } #endif @@ -417,7 +418,7 @@ } void - clear() + clear() _GLIBCXX_NOEXCEPT { __profcxx_vector_destruct(this, this->capacity(), this->size()); __profcxx_vector_destruct2(this); Index: include/profile/unordered_set =================================================================== --- include/profile/unordered_set (revision 174269) +++ include/profile/unordered_set (working copy) @@ -1,6 +1,6 @@ // Profiling unordered_set/unordered_multiset implementation -*- C++ -*- -// Copyright (C) 2009, 2010 Free Software Foundation, Inc. +// Copyright (C) 2009, 2010, 2011 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -155,7 +155,7 @@ } void - clear() + clear() noexcept { __profcxx_hashtable_destruct(this, _Base::bucket_count(), _Base::size()); @@ -233,10 +233,10 @@ private: _Base& - _M_base() { return *this; } + _M_base() noexcept { return *this; } const _Base& - _M_base() const { return *this; } + _M_base() const noexcept { return *this; } void _M_profile_resize(size_type __old_size, size_type __new_size) @@ -397,7 +397,7 @@ } void - clear() + clear() noexcept { __profcxx_hashtable_destruct(this, _Base::bucket_count(), _Base::size()); @@ -475,10 +475,10 @@ private: _Base& - _M_base() { return *this; } + _M_base() noexcept { return *this; } const _Base& - _M_base() const { return *this; } + _M_base() const noexcept { return *this; } void _M_profile_resize(size_type __old_size, size_type __new_size) Index: include/profile/map.h =================================================================== --- include/profile/map.h (revision 174269) +++ include/profile/map.h (working copy) @@ -137,44 +137,44 @@ // iterators: iterator - begin() + begin() _GLIBCXX_NOEXCEPT { return _Base::begin(); } const_iterator - begin() const + begin() const _GLIBCXX_NOEXCEPT { return _Base::begin(); } iterator - end() + end() _GLIBCXX_NOEXCEPT { return _Base::end(); } const_iterator - end() const + end() const _GLIBCXX_NOEXCEPT { return _Base::end(); } reverse_iterator - rbegin() + rbegin() _GLIBCXX_NOEXCEPT { __profcxx_map_to_unordered_map_invalidate(this); return reverse_iterator(end()); } const_reverse_iterator - rbegin() const + rbegin() const _GLIBCXX_NOEXCEPT { __profcxx_map_to_unordered_map_invalidate(this); return const_reverse_iterator(end()); } reverse_iterator - rend() + rend() _GLIBCXX_NOEXCEPT { __profcxx_map_to_unordered_map_invalidate(this); return reverse_iterator(begin()); } const_reverse_iterator - rend() const + rend() const _GLIBCXX_NOEXCEPT { __profcxx_map_to_unordered_map_invalidate(this); return const_reverse_iterator(begin()); @@ -182,22 +182,22 @@ #ifdef __GXX_EXPERIMENTAL_CXX0X__ const_iterator - cbegin() const + cbegin() const noexcept { return const_iterator(_Base::begin()); } const_iterator - cend() const + cend() const noexcept { return const_iterator(_Base::end()); } const_reverse_iterator - crbegin() const + crbegin() const noexcept { __profcxx_map_to_unordered_map_invalidate(this); return const_reverse_iterator(end()); } const_reverse_iterator - crend() const + crend() const noexcept { __profcxx_map_to_unordered_map_invalidate(this); return const_reverse_iterator(begin()); @@ -359,12 +359,11 @@ #endif void - swap(map& __x) { _Base::swap(__x); } void - clear() + clear() _GLIBCXX_NOEXCEPT { this->erase(begin(), end()); } // observers: @@ -443,10 +442,10 @@ } _Base& - _M_base() { return *this; } + _M_base() _GLIBCXX_NOEXCEPT { return *this; } const _Base& - _M_base() const { return *this; } + _M_base() const _GLIBCXX_NOEXCEPT { return *this; } }; Index: include/profile/deque =================================================================== --- include/profile/deque (revision 174269) +++ include/profile/deque (working copy) @@ -1,6 +1,6 @@ // Profiling deque implementation -*- C++ -*- -// Copyright (C) 2009, 2010 Free Software Foundation, Inc. +// Copyright (C) 2009, 2010, 2011 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -154,52 +154,52 @@ // iterators: iterator - begin() + begin() _GLIBCXX_NOEXCEPT { return iterator(_Base::begin()); } const_iterator - begin() const + begin() const _GLIBCXX_NOEXCEPT { return const_iterator(_Base::begin()); } iterator - end() + end() _GLIBCXX_NOEXCEPT { return iterator(_Base::end()); } const_iterator - end() const + end() const _GLIBCXX_NOEXCEPT { return const_iterator(_Base::end()); } reverse_iterator - rbegin() + rbegin() _GLIBCXX_NOEXCEPT { return reverse_iterator(end()); } const_reverse_iterator - rbegin() const + rbegin() const _GLIBCXX_NOEXCEPT { return const_reverse_iterator(end()); } reverse_iterator - rend() + rend() _GLIBCXX_NOEXCEPT { return reverse_iterator(begin()); } const_reverse_iterator - rend() const + rend() const _GLIBCXX_NOEXCEPT { return const_reverse_iterator(begin()); } #ifdef __GXX_EXPERIMENTAL_CXX0X__ const_iterator - cbegin() const + cbegin() const noexcept { return const_iterator(_Base::begin()); } const_iterator - cend() const + cend() const noexcept { return const_iterator(_Base::end()); } const_reverse_iterator - crbegin() const + crbegin() const noexcept { return const_reverse_iterator(end()); } const_reverse_iterator - crend() const + crend() const noexcept { return const_reverse_iterator(begin()); } #endif @@ -392,16 +392,16 @@ } void - clear() + clear() _GLIBCXX_NOEXCEPT { _Base::clear(); } _Base& - _M_base() { return *this; } + _M_base() _GLIBCXX_NOEXCEPT { return *this; } const _Base& - _M_base() const { return *this; } + _M_base() const _GLIBCXX_NOEXCEPT { return *this; } }; template Index: include/profile/list =================================================================== --- include/profile/list (revision 174269) +++ include/profile/list (working copy) @@ -1,6 +1,6 @@ // Profiling list implementation -*- C++ -*- -// Copyright (C) 2009, 2010 Free Software Foundation, Inc. +// Copyright (C) 2009, 2010, 2011 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -135,7 +135,8 @@ : _Base(__l, __a) { } #endif - ~list() { + ~list() + { __profcxx_list_destruct(this); __profcxx_list_destruct2(this); } @@ -183,64 +184,64 @@ // iterators: iterator - begin() + begin() _GLIBCXX_NOEXCEPT { return iterator(_Base::begin(), this); } const_iterator - begin() const + begin() const _GLIBCXX_NOEXCEPT { return const_iterator(_Base::begin(), this); } iterator - end() + end() _GLIBCXX_NOEXCEPT { __profcxx_list_rewind(this); return iterator(_Base::end(), this); } const_iterator - end() const + end() const _GLIBCXX_NOEXCEPT { __profcxx_list_rewind(this); return const_iterator(_Base::end(), this); } reverse_iterator - rbegin() + rbegin() _GLIBCXX_NOEXCEPT { __profcxx_list_rewind(this); return reverse_iterator(end()); } const_reverse_iterator - rbegin() const + rbegin() const _GLIBCXX_NOEXCEPT { __profcxx_list_rewind(this); return const_reverse_iterator(end()); } reverse_iterator - rend() + rend() _GLIBCXX_NOEXCEPT { return reverse_iterator(begin()); } const_reverse_iterator - rend() const + rend() const _GLIBCXX_NOEXCEPT { return const_reverse_iterator(begin()); } #ifdef __GXX_EXPERIMENTAL_CXX0X__ const_iterator - cbegin() const + cbegin() const noexcept { return const_iterator(_Base::begin(), this); } const_iterator - cend() const + cend() const noexcept { return const_iterator(_Base::end(), this); } const_reverse_iterator - crbegin() const + crbegin() const noexcept { return const_reverse_iterator(end()); } const_reverse_iterator - crend() const + crend() const noexcept { return const_reverse_iterator(begin()); } #endif @@ -388,7 +389,7 @@ { _Base::swap(__x); } void - clear() + clear() _GLIBCXX_NOEXCEPT { _Base::clear(); } // 23.2.2.4 list operations: @@ -564,15 +565,15 @@ using _Base::reverse; _Base& - _M_base() { return *this; } + _M_base() _GLIBCXX_NOEXCEPT { return *this; } const _Base& - _M_base() const { return *this; } + _M_base() const _GLIBCXX_NOEXCEPT { return *this; } - inline void _M_profile_find() const + void _M_profile_find() const { } - inline void _M_profile_iterate(int __rewind = 0) const + void _M_profile_iterate(int __rewind = 0) const { __profcxx_list_operation(this); __profcxx_list_iterate(this); Index: include/profile/multimap.h =================================================================== --- include/profile/multimap.h (revision 174269) +++ include/profile/multimap.h (working copy) @@ -124,52 +124,52 @@ // iterators: iterator - begin() + begin() _GLIBCXX_NOEXCEPT { return iterator(_Base::begin()); } const_iterator - begin() const + begin() const _GLIBCXX_NOEXCEPT { return const_iterator(_Base::begin()); } iterator - end() + end() _GLIBCXX_NOEXCEPT { return iterator(_Base::end()); } const_iterator - end() const + end() const _GLIBCXX_NOEXCEPT { return const_iterator(_Base::end()); } reverse_iterator - rbegin() + rbegin() _GLIBCXX_NOEXCEPT { return reverse_iterator(end()); } const_reverse_iterator - rbegin() const + rbegin() const _GLIBCXX_NOEXCEPT { return const_reverse_iterator(end()); } reverse_iterator - rend() + rend() _GLIBCXX_NOEXCEPT { return reverse_iterator(begin()); } const_reverse_iterator - rend() const + rend() const _GLIBCXX_NOEXCEPT { return const_reverse_iterator(begin()); } #ifdef __GXX_EXPERIMENTAL_CXX0X__ const_iterator - cbegin() const + cbegin() const noexcept { return const_iterator(_Base::begin()); } const_iterator - cend() const + cend() const noexcept { return const_iterator(_Base::end()); } const_reverse_iterator - crbegin() const + crbegin() const noexcept { return const_reverse_iterator(end()); } const_reverse_iterator - crend() const + crend() const noexcept { return const_reverse_iterator(begin()); } #endif @@ -260,7 +260,7 @@ { _Base::swap(__x); } void - clear() + clear() _GLIBCXX_NOEXCEPT { this->erase(begin(), end()); } // observers: @@ -315,10 +315,10 @@ } _Base& - _M_base() { return *this; } + _M_base() _GLIBCXX_NOEXCEPT { return *this; } const _Base& - _M_base() const { return *this; } + _M_base() const _GLIBCXX_NOEXCEPT { return *this; } }; template(size()) / static_cast(bucket_count()); } @@ -447,7 +447,7 @@ erase(const_iterator, const_iterator); void - clear(); + clear() noexcept; // Set number of buckets to be appropriate for container of n element. void rehash(size_type __n); @@ -1167,7 +1167,7 @@ void _Hashtable<_Key, _Value, _Allocator, _ExtractKey, _Equal, _H1, _H2, _Hash, _RehashPolicy, __chc, __cit, __uk>:: - clear() + clear() noexcept { _M_deallocate_nodes(_M_buckets, _M_bucket_count); _M_element_count = 0; Index: include/bits/stl_list.h =================================================================== --- include/bits/stl_list.h (revision 174269) +++ include/bits/stl_list.h (working copy) @@ -77,22 +77,22 @@ { _List_node_base* _M_next; _List_node_base* _M_prev; - + static void - swap(_List_node_base& __x, _List_node_base& __y) throw (); - + swap(_List_node_base& __x, _List_node_base& __y) _GLIBCXX_USE_NOEXCEPT; + void _M_transfer(_List_node_base* const __first, - _List_node_base* const __last) throw (); - + _List_node_base* const __last) _GLIBCXX_USE_NOEXCEPT; + void - _M_reverse() throw (); - + _M_reverse() _GLIBCXX_USE_NOEXCEPT; + void - _M_hook(_List_node_base* const __position) throw (); - + _M_hook(_List_node_base* const __position) _GLIBCXX_USE_NOEXCEPT; + void - _M_unhook() throw (); + _M_unhook() _GLIBCXX_USE_NOEXCEPT; }; _GLIBCXX_END_NAMESPACE_VERSION @@ -334,19 +334,19 @@ typedef _Alloc allocator_type; _Node_alloc_type& - _M_get_Node_allocator() + _M_get_Node_allocator() _GLIBCXX_NOEXCEPT { return *static_cast<_Node_alloc_type*>(&this->_M_impl); } const _Node_alloc_type& - _M_get_Node_allocator() const + _M_get_Node_allocator() const _GLIBCXX_NOEXCEPT { return *static_cast(&this->_M_impl); } _Tp_alloc_type - _M_get_Tp_allocator() const + _M_get_Tp_allocator() const _GLIBCXX_NOEXCEPT { return _Tp_alloc_type(_M_get_Node_allocator()); } allocator_type - get_allocator() const + get_allocator() const _GLIBCXX_NOEXCEPT { return allocator_type(_M_get_Node_allocator()); } _List_base() @@ -718,7 +718,7 @@ /// Get a copy of the memory allocation object. allocator_type - get_allocator() const + get_allocator() const _GLIBCXX_NOEXCEPT { return _Base::get_allocator(); } // iterators @@ -727,7 +727,7 @@ * %list. Iteration is done in ordinary element order. */ iterator - begin() + begin() _GLIBCXX_NOEXCEPT { return iterator(this->_M_impl._M_node._M_next); } /** @@ -736,7 +736,7 @@ * element order. */ const_iterator - begin() const + begin() const _GLIBCXX_NOEXCEPT { return const_iterator(this->_M_impl._M_node._M_next); } /** @@ -745,7 +745,7 @@ * order. */ iterator - end() + end() _GLIBCXX_NOEXCEPT { return iterator(&this->_M_impl._M_node); } /** @@ -754,7 +754,7 @@ * element order. */ const_iterator - end() const + end() const _GLIBCXX_NOEXCEPT { return const_iterator(&this->_M_impl._M_node); } /** @@ -763,7 +763,7 @@ * order. */ reverse_iterator - rbegin() + rbegin() _GLIBCXX_NOEXCEPT { return reverse_iterator(end()); } /** @@ -772,7 +772,7 @@ * element order. */ const_reverse_iterator - rbegin() const + rbegin() const _GLIBCXX_NOEXCEPT { return const_reverse_iterator(end()); } /** @@ -781,7 +781,7 @@ * reverse element order. */ reverse_iterator - rend() + rend() _GLIBCXX_NOEXCEPT { return reverse_iterator(begin()); } /** @@ -790,7 +790,7 @@ * element order. */ const_reverse_iterator - rend() const + rend() const _GLIBCXX_NOEXCEPT { return const_reverse_iterator(begin()); } #ifdef __GXX_EXPERIMENTAL_CXX0X__ @@ -800,7 +800,7 @@ * element order. */ const_iterator - cbegin() const + cbegin() const noexcept { return const_iterator(this->_M_impl._M_node._M_next); } /** @@ -809,7 +809,7 @@ * element order. */ const_iterator - cend() const + cend() const noexcept { return const_iterator(&this->_M_impl._M_node); } /** @@ -818,7 +818,7 @@ * element order. */ const_reverse_iterator - crbegin() const + crbegin() const noexcept { return const_reverse_iterator(end()); } /** @@ -827,7 +827,7 @@ * element order. */ const_reverse_iterator - crend() const + crend() const noexcept { return const_reverse_iterator(begin()); } #endif @@ -837,17 +837,17 @@ * end().) */ bool - empty() const + empty() const _GLIBCXX_NOEXCEPT { return this->_M_impl._M_node._M_next == &this->_M_impl._M_node; } /** Returns the number of elements in the %list. */ size_type - size() const + size() const _GLIBCXX_NOEXCEPT { return std::distance(begin(), end()); } /** Returns the size() of the largest possible %list. */ size_type - max_size() const + max_size() const _GLIBCXX_NOEXCEPT { return _M_get_Node_allocator().max_size(); } #ifdef __GXX_EXPERIMENTAL_CXX0X__ @@ -1192,7 +1192,7 @@ * Managing the pointer is the user's responsibility. */ void - clear() + clear() _GLIBCXX_NOEXCEPT { _Base::_M_clear(); _Base::_M_init(); @@ -1412,7 +1412,7 @@ * Reverse the order of elements in the list in linear time. */ void - reverse() + reverse() _GLIBCXX_NOEXCEPT { this->_M_impl._M_node._M_reverse(); } /** Index: include/bits/stl_map.h =================================================================== --- include/bits/stl_map.h (revision 174269) +++ include/bits/stl_map.h (working copy) @@ -296,7 +296,7 @@ /// Get a copy of the memory allocation object. allocator_type - get_allocator() const + get_allocator() const _GLIBCXX_NOEXCEPT { return _M_t.get_allocator(); } // iterators @@ -306,7 +306,7 @@ * Iteration is done in ascending order according to the keys. */ iterator - begin() + begin() _GLIBCXX_NOEXCEPT { return _M_t.begin(); } /** @@ -315,7 +315,7 @@ * keys. */ const_iterator - begin() const + begin() const _GLIBCXX_NOEXCEPT { return _M_t.begin(); } /** @@ -324,7 +324,7 @@ * according to the keys. */ iterator - end() + end() _GLIBCXX_NOEXCEPT { return _M_t.end(); } /** @@ -333,7 +333,7 @@ * the keys. */ const_iterator - end() const + end() const _GLIBCXX_NOEXCEPT { return _M_t.end(); } /** @@ -342,7 +342,7 @@ * keys. */ reverse_iterator - rbegin() + rbegin() _GLIBCXX_NOEXCEPT { return _M_t.rbegin(); } /** @@ -351,7 +351,7 @@ * according to the keys. */ const_reverse_iterator - rbegin() const + rbegin() const _GLIBCXX_NOEXCEPT { return _M_t.rbegin(); } /** @@ -360,7 +360,7 @@ * according to the keys. */ reverse_iterator - rend() + rend() _GLIBCXX_NOEXCEPT { return _M_t.rend(); } /** @@ -369,7 +369,7 @@ * order according to the keys. */ const_reverse_iterator - rend() const + rend() const _GLIBCXX_NOEXCEPT { return _M_t.rend(); } #ifdef __GXX_EXPERIMENTAL_CXX0X__ @@ -379,7 +379,7 @@ * keys. */ const_iterator - cbegin() const + cbegin() const noexcept { return _M_t.begin(); } /** @@ -388,7 +388,7 @@ * the keys. */ const_iterator - cend() const + cend() const noexcept { return _M_t.end(); } /** @@ -397,7 +397,7 @@ * according to the keys. */ const_reverse_iterator - crbegin() const + crbegin() const noexcept { return _M_t.rbegin(); } /** @@ -406,7 +406,7 @@ * order according to the keys. */ const_reverse_iterator - crend() const + crend() const noexcept { return _M_t.rend(); } #endif @@ -415,17 +415,17 @@ * end().) */ bool - empty() const + empty() const _GLIBCXX_NOEXCEPT { return _M_t.empty(); } /** Returns the size of the %map. */ size_type - size() const + size() const _GLIBCXX_NOEXCEPT { return _M_t.size(); } /** Returns the maximum size of the %map. */ size_type - max_size() const + max_size() const _GLIBCXX_NOEXCEPT { return _M_t.max_size(); } // [23.3.1.2] element access @@ -700,7 +700,7 @@ * Managing the pointer is the user's responsibility. */ void - clear() + clear() _GLIBCXX_NOEXCEPT { _M_t.clear(); } // observers Index: include/bits/hashtable_policy.h =================================================================== --- include/bits/hashtable_policy.h (revision 174269) +++ include/bits/hashtable_policy.h (working copy) @@ -391,7 +391,7 @@ : _M_max_load_factor(__z), _M_growth_factor(2.f), _M_next_resize(0) { } float - max_load_factor() const + max_load_factor() const noexcept { return _M_max_load_factor; } // Return a bucket size no smaller than n. @@ -615,7 +615,7 @@ struct _Rehash_base<_Prime_rehash_policy, _Hashtable> { float - max_load_factor() const + max_load_factor() const noexcept { const _Hashtable* __this = static_cast(this); return __this->__rehash_policy().max_load_factor(); Index: include/bits/stl_set.h =================================================================== --- include/bits/stl_set.h (revision 174269) +++ include/bits/stl_set.h (working copy) @@ -282,7 +282,7 @@ { return _M_t.key_comp(); } /// Returns the allocator object with which the %set was constructed. allocator_type - get_allocator() const + get_allocator() const _GLIBCXX_NOEXCEPT { return _M_t.get_allocator(); } /** @@ -291,7 +291,7 @@ * to the keys. */ iterator - begin() const + begin() const _GLIBCXX_NOEXCEPT { return _M_t.begin(); } /** @@ -300,7 +300,7 @@ * to the keys. */ iterator - end() const + end() const _GLIBCXX_NOEXCEPT { return _M_t.end(); } /** @@ -309,7 +309,7 @@ * to the keys. */ reverse_iterator - rbegin() const + rbegin() const _GLIBCXX_NOEXCEPT { return _M_t.rbegin(); } /** @@ -318,7 +318,7 @@ * according to the keys. */ reverse_iterator - rend() const + rend() const _GLIBCXX_NOEXCEPT { return _M_t.rend(); } #ifdef __GXX_EXPERIMENTAL_CXX0X__ @@ -328,7 +328,7 @@ * to the keys. */ iterator - cbegin() const + cbegin() const noexcept { return _M_t.begin(); } /** @@ -337,7 +337,7 @@ * to the keys. */ iterator - cend() const + cend() const noexcept { return _M_t.end(); } /** @@ -346,7 +346,7 @@ * to the keys. */ reverse_iterator - crbegin() const + crbegin() const noexcept { return _M_t.rbegin(); } /** @@ -355,23 +355,23 @@ * according to the keys. */ reverse_iterator - crend() const + crend() const noexcept { return _M_t.rend(); } #endif /// Returns true if the %set is empty. bool - empty() const + empty() const _GLIBCXX_NOEXCEPT { return _M_t.empty(); } /// Returns the size of the %set. size_type - size() const + size() const _GLIBCXX_NOEXCEPT { return _M_t.size(); } /// Returns the maximum size of the %set. size_type - max_size() const + max_size() const _GLIBCXX_NOEXCEPT { return _M_t.max_size(); } /** @@ -569,7 +569,7 @@ * the user's responsibility. */ void - clear() + clear() _GLIBCXX_NOEXCEPT { _M_t.clear(); } // set operations: Index: include/bits/forward_list.h =================================================================== --- include/bits/forward_list.h (revision 174269) +++ include/bits/forward_list.h (working copy) @@ -76,7 +76,7 @@ } void - _M_reverse_after() + _M_reverse_after() noexcept { _Fwd_list_node_base* __tail = _M_next; if (!__tail) @@ -300,11 +300,11 @@ typedef _Fwd_list_node<_Tp> _Node; _Node_alloc_type& - _M_get_Node_allocator() + _M_get_Node_allocator() noexcept { return *static_cast<_Node_alloc_type*>(&this->_M_impl); } const _Node_alloc_type& - _M_get_Node_allocator() const + _M_get_Node_allocator() const noexcept { return *static_cast(&this->_M_impl); } _Fwd_list_base() @@ -644,7 +644,7 @@ /// Get a copy of the memory allocation object. allocator_type - get_allocator() const + get_allocator() const noexcept { return this->_M_get_Node_allocator(); } // 23.2.3.2 iterators: @@ -654,7 +654,7 @@ * in the %forward_list. Iteration is done in ordinary element order. */ iterator - before_begin() + before_begin() noexcept { return iterator(&this->_M_impl._M_head); } /** @@ -663,7 +663,7 @@ * element order. */ const_iterator - before_begin() const + before_begin() const noexcept { return const_iterator(&this->_M_impl._M_head); } /** @@ -671,7 +671,7 @@ * in the %forward_list. Iteration is done in ordinary element order. */ iterator - begin() + begin() noexcept { return iterator(this->_M_impl._M_head._M_next); } /** @@ -680,7 +680,7 @@ * element order. */ const_iterator - begin() const + begin() const noexcept { return const_iterator(this->_M_impl._M_head._M_next); } /** @@ -689,7 +689,7 @@ * element order. */ iterator - end() + end() noexcept { return iterator(0); } /** @@ -698,7 +698,7 @@ * element order. */ const_iterator - end() const + end() const noexcept { return const_iterator(0); } /** @@ -707,7 +707,7 @@ * element order. */ const_iterator - cbegin() const + cbegin() const noexcept { return const_iterator(this->_M_impl._M_head._M_next); } /** @@ -716,7 +716,7 @@ * element order. */ const_iterator - cbefore_begin() const + cbefore_begin() const noexcept { return const_iterator(&this->_M_impl._M_head); } /** @@ -725,7 +725,7 @@ * ordinary element order. */ const_iterator - cend() const + cend() const noexcept { return const_iterator(0); } /** @@ -733,14 +733,14 @@ * equal end().) */ bool - empty() const + empty() const noexcept { return this->_M_impl._M_head._M_next == 0; } /** * Returns the largest possible size of %forward_list. */ size_type - max_size() const + max_size() const noexcept { return this->_M_get_Node_allocator().max_size(); } // 23.2.3.3 element access: @@ -1021,7 +1021,7 @@ * Managing the pointer is the user's responsibility. */ void - clear() + clear() noexcept { this->_M_erase_after(&this->_M_impl._M_head, 0); } // 23.2.3.5 forward_list operations: @@ -1196,7 +1196,7 @@ * Reverse the order of elements in the list in linear time. */ void - reverse() + reverse() noexcept { this->_M_impl._M_head._M_reverse_after(); } private: Index: include/bits/stl_multimap.h =================================================================== --- include/bits/stl_multimap.h (revision 174269) +++ include/bits/stl_multimap.h (working copy) @@ -293,7 +293,7 @@ /// Get a copy of the memory allocation object. allocator_type - get_allocator() const + get_allocator() const _GLIBCXX_NOEXCEPT { return _M_t.get_allocator(); } // iterators @@ -303,7 +303,7 @@ * keys. */ iterator - begin() + begin() _GLIBCXX_NOEXCEPT { return _M_t.begin(); } /** @@ -312,7 +312,7 @@ * the keys. */ const_iterator - begin() const + begin() const _GLIBCXX_NOEXCEPT { return _M_t.begin(); } /** @@ -321,7 +321,7 @@ * keys. */ iterator - end() + end() _GLIBCXX_NOEXCEPT { return _M_t.end(); } /** @@ -330,7 +330,7 @@ * to the keys. */ const_iterator - end() const + end() const _GLIBCXX_NOEXCEPT { return _M_t.end(); } /** @@ -339,7 +339,7 @@ * keys. */ reverse_iterator - rbegin() + rbegin() _GLIBCXX_NOEXCEPT { return _M_t.rbegin(); } /** @@ -348,7 +348,7 @@ * according to the keys. */ const_reverse_iterator - rbegin() const + rbegin() const _GLIBCXX_NOEXCEPT { return _M_t.rbegin(); } /** @@ -357,7 +357,7 @@ * according to the keys. */ reverse_iterator - rend() + rend() _GLIBCXX_NOEXCEPT { return _M_t.rend(); } /** @@ -366,7 +366,7 @@ * descending order according to the keys. */ const_reverse_iterator - rend() const + rend() const _GLIBCXX_NOEXCEPT { return _M_t.rend(); } #ifdef __GXX_EXPERIMENTAL_CXX0X__ @@ -376,7 +376,7 @@ * the keys. */ const_iterator - cbegin() const + cbegin() const noexcept { return _M_t.begin(); } /** @@ -385,7 +385,7 @@ * to the keys. */ const_iterator - cend() const + cend() const noexcept { return _M_t.end(); } /** @@ -394,7 +394,7 @@ * according to the keys. */ const_reverse_iterator - crbegin() const + crbegin() const noexcept { return _M_t.rbegin(); } /** @@ -403,24 +403,24 @@ * descending order according to the keys. */ const_reverse_iterator - crend() const + crend() const noexcept { return _M_t.rend(); } #endif // capacity /** Returns true if the %multimap is empty. */ bool - empty() const + empty() const _GLIBCXX_NOEXCEPT { return _M_t.empty(); } /** Returns the size of the %multimap. */ size_type - size() const + size() const _GLIBCXX_NOEXCEPT { return _M_t.size(); } /** Returns the maximum size of the %multimap. */ size_type - max_size() const + max_size() const _GLIBCXX_NOEXCEPT { return _M_t.max_size(); } // modifiers @@ -625,7 +625,7 @@ * is the user's responsibility. */ void - clear() + clear() _GLIBCXX_NOEXCEPT { _M_t.clear(); } // observers Index: include/bits/stl_vector.h =================================================================== --- include/bits/stl_vector.h (revision 174269) +++ include/bits/stl_vector.h (working copy) @@ -92,15 +92,15 @@ typedef _Alloc allocator_type; _Tp_alloc_type& - _M_get_Tp_allocator() + _M_get_Tp_allocator() _GLIBCXX_NOEXCEPT { return *static_cast<_Tp_alloc_type*>(&this->_M_impl); } const _Tp_alloc_type& - _M_get_Tp_allocator() const + _M_get_Tp_allocator() const _GLIBCXX_NOEXCEPT { return *static_cast(&this->_M_impl); } allocator_type - get_allocator() const + get_allocator() const _GLIBCXX_NOEXCEPT { return allocator_type(_M_get_Tp_allocator()); } _Vector_base() @@ -460,7 +460,7 @@ * element order. */ iterator - begin() + begin() _GLIBCXX_NOEXCEPT { return iterator(this->_M_impl._M_start); } /** @@ -469,7 +469,7 @@ * element order. */ const_iterator - begin() const + begin() const _GLIBCXX_NOEXCEPT { return const_iterator(this->_M_impl._M_start); } /** @@ -478,7 +478,7 @@ * element order. */ iterator - end() + end() _GLIBCXX_NOEXCEPT { return iterator(this->_M_impl._M_finish); } /** @@ -487,7 +487,7 @@ * ordinary element order. */ const_iterator - end() const + end() const _GLIBCXX_NOEXCEPT { return const_iterator(this->_M_impl._M_finish); } /** @@ -496,7 +496,7 @@ * element order. */ reverse_iterator - rbegin() + rbegin() _GLIBCXX_NOEXCEPT { return reverse_iterator(end()); } /** @@ -505,7 +505,7 @@ * reverse element order. */ const_reverse_iterator - rbegin() const + rbegin() const _GLIBCXX_NOEXCEPT { return const_reverse_iterator(end()); } /** @@ -514,7 +514,7 @@ * in reverse element order. */ reverse_iterator - rend() + rend() _GLIBCXX_NOEXCEPT { return reverse_iterator(begin()); } /** @@ -523,7 +523,7 @@ * is done in reverse element order. */ const_reverse_iterator - rend() const + rend() const _GLIBCXX_NOEXCEPT { return const_reverse_iterator(begin()); } #ifdef __GXX_EXPERIMENTAL_CXX0X__ @@ -533,7 +533,7 @@ * element order. */ const_iterator - cbegin() const + cbegin() const noexcept { return const_iterator(this->_M_impl._M_start); } /** @@ -542,7 +542,7 @@ * ordinary element order. */ const_iterator - cend() const + cend() const noexcept { return const_iterator(this->_M_impl._M_finish); } /** @@ -551,7 +551,7 @@ * reverse element order. */ const_reverse_iterator - crbegin() const + crbegin() const noexcept { return const_reverse_iterator(end()); } /** @@ -560,19 +560,19 @@ * is done in reverse element order. */ const_reverse_iterator - crend() const + crend() const noexcept { return const_reverse_iterator(begin()); } #endif // [23.2.4.2] capacity /** Returns the number of elements in the %vector. */ size_type - size() const + size() const _GLIBCXX_NOEXCEPT { return size_type(this->_M_impl._M_finish - this->_M_impl._M_start); } /** Returns the size() of the largest possible %vector. */ size_type - max_size() const + max_size() const _GLIBCXX_NOEXCEPT { return _M_get_Tp_allocator().max_size(); } #ifdef __GXX_EXPERIMENTAL_CXX0X__ @@ -647,7 +647,7 @@ * hold before needing to allocate more memory. */ size_type - capacity() const + capacity() const _GLIBCXX_NOEXCEPT { return size_type(this->_M_impl._M_end_of_storage - this->_M_impl._M_start); } @@ -656,7 +656,7 @@ * equal end().) */ bool - empty() const + empty() const _GLIBCXX_NOEXCEPT { return begin() == end(); } /** @@ -800,7 +800,7 @@ #else pointer #endif - data() + data() _GLIBCXX_NOEXCEPT { return std::__addressof(front()); } #ifdef __GXX_EXPERIMENTAL_CXX0X__ @@ -808,7 +808,7 @@ #else const_pointer #endif - data() const + data() const _GLIBCXX_NOEXCEPT { return std::__addressof(front()); } // [23.2.4.3] modifiers @@ -1036,7 +1036,7 @@ * the user's responsibility. */ void - clear() + clear() _GLIBCXX_NOEXCEPT { _M_erase_at_end(this->_M_impl._M_start); } protected: Index: include/bits/stl_deque.h =================================================================== --- include/bits/stl_deque.h (revision 174269) +++ include/bits/stl_deque.h (working copy) @@ -441,7 +441,7 @@ typedef _Alloc allocator_type; allocator_type - get_allocator() const + get_allocator() const _GLIBCXX_NOEXCEPT { return allocator_type(_M_get_Tp_allocator()); } typedef _Deque_iterator<_Tp, _Tp&, _Tp*> iterator; @@ -508,15 +508,15 @@ }; _Tp_alloc_type& - _M_get_Tp_allocator() + _M_get_Tp_allocator() _GLIBCXX_NOEXCEPT { return *static_cast<_Tp_alloc_type*>(&this->_M_impl); } const _Tp_alloc_type& - _M_get_Tp_allocator() const + _M_get_Tp_allocator() const _GLIBCXX_NOEXCEPT { return *static_cast(&this->_M_impl); } _Map_alloc_type - _M_get_map_allocator() const + _M_get_map_allocator() const _GLIBCXX_NOEXCEPT { return _Map_alloc_type(_M_get_Tp_allocator()); } _Tp* @@ -997,7 +997,7 @@ /// Get a copy of the memory allocation object. allocator_type - get_allocator() const + get_allocator() const _GLIBCXX_NOEXCEPT { return _Base::get_allocator(); } // iterators @@ -1006,7 +1006,7 @@ * %deque. Iteration is done in ordinary element order. */ iterator - begin() + begin() _GLIBCXX_NOEXCEPT { return this->_M_impl._M_start; } /** @@ -1014,7 +1014,7 @@ * element in the %deque. Iteration is done in ordinary element order. */ const_iterator - begin() const + begin() const _GLIBCXX_NOEXCEPT { return this->_M_impl._M_start; } /** @@ -1023,7 +1023,7 @@ * element order. */ iterator - end() + end() _GLIBCXX_NOEXCEPT { return this->_M_impl._M_finish; } /** @@ -1032,7 +1032,7 @@ * ordinary element order. */ const_iterator - end() const + end() const _GLIBCXX_NOEXCEPT { return this->_M_impl._M_finish; } /** @@ -1041,7 +1041,7 @@ * element order. */ reverse_iterator - rbegin() + rbegin() _GLIBCXX_NOEXCEPT { return reverse_iterator(this->_M_impl._M_finish); } /** @@ -1050,7 +1050,7 @@ * reverse element order. */ const_reverse_iterator - rbegin() const + rbegin() const _GLIBCXX_NOEXCEPT { return const_reverse_iterator(this->_M_impl._M_finish); } /** @@ -1059,7 +1059,7 @@ * in reverse element order. */ reverse_iterator - rend() + rend() _GLIBCXX_NOEXCEPT { return reverse_iterator(this->_M_impl._M_start); } /** @@ -1068,7 +1068,7 @@ * done in reverse element order. */ const_reverse_iterator - rend() const + rend() const _GLIBCXX_NOEXCEPT { return const_reverse_iterator(this->_M_impl._M_start); } #ifdef __GXX_EXPERIMENTAL_CXX0X__ @@ -1077,7 +1077,7 @@ * element in the %deque. Iteration is done in ordinary element order. */ const_iterator - cbegin() const + cbegin() const noexcept { return this->_M_impl._M_start; } /** @@ -1086,7 +1086,7 @@ * ordinary element order. */ const_iterator - cend() const + cend() const noexcept { return this->_M_impl._M_finish; } /** @@ -1095,7 +1095,7 @@ * reverse element order. */ const_reverse_iterator - crbegin() const + crbegin() const noexcept { return const_reverse_iterator(this->_M_impl._M_finish); } /** @@ -1104,19 +1104,19 @@ * done in reverse element order. */ const_reverse_iterator - crend() const + crend() const noexcept { return const_reverse_iterator(this->_M_impl._M_start); } #endif // [23.2.1.2] capacity /** Returns the number of elements in the %deque. */ size_type - size() const + size() const _GLIBCXX_NOEXCEPT { return this->_M_impl._M_finish - this->_M_impl._M_start; } /** Returns the size() of the largest possible %deque. */ size_type - max_size() const + max_size() const _GLIBCXX_NOEXCEPT { return _M_get_Tp_allocator().max_size(); } #ifdef __GXX_EXPERIMENTAL_CXX0X__ @@ -1197,7 +1197,7 @@ * equal end().) */ bool - empty() const + empty() const _GLIBCXX_NOEXCEPT { return this->_M_impl._M_finish == this->_M_impl._M_start; } // element access @@ -1576,7 +1576,7 @@ * the user's responsibility. */ void - clear() + clear() _GLIBCXX_NOEXCEPT { _M_erase_at_end(begin()); } protected: Index: include/bits/stl_multiset.h =================================================================== --- include/bits/stl_multiset.h (revision 174269) +++ include/bits/stl_multiset.h (working copy) @@ -275,7 +275,7 @@ { return _M_t.key_comp(); } /// Returns the memory allocation object. allocator_type - get_allocator() const + get_allocator() const _GLIBCXX_NOEXCEPT { return _M_t.get_allocator(); } /** @@ -284,7 +284,7 @@ * according to the keys. */ iterator - begin() const + begin() const _GLIBCXX_NOEXCEPT { return _M_t.begin(); } /** @@ -293,7 +293,7 @@ * according to the keys. */ iterator - end() const + end() const _GLIBCXX_NOEXCEPT { return _M_t.end(); } /** @@ -302,7 +302,7 @@ * according to the keys. */ reverse_iterator - rbegin() const + rbegin() const _GLIBCXX_NOEXCEPT { return _M_t.rbegin(); } /** @@ -311,7 +311,7 @@ * according to the keys. */ reverse_iterator - rend() const + rend() const _GLIBCXX_NOEXCEPT { return _M_t.rend(); } #ifdef __GXX_EXPERIMENTAL_CXX0X__ @@ -321,7 +321,7 @@ * according to the keys. */ iterator - cbegin() const + cbegin() const noexcept { return _M_t.begin(); } /** @@ -330,7 +330,7 @@ * according to the keys. */ iterator - cend() const + cend() const noexcept { return _M_t.end(); } /** @@ -339,7 +339,7 @@ * according to the keys. */ reverse_iterator - crbegin() const + crbegin() const noexcept { return _M_t.rbegin(); } /** @@ -348,23 +348,23 @@ * according to the keys. */ reverse_iterator - crend() const + crend() const noexcept { return _M_t.rend(); } #endif /// Returns true if the %set is empty. bool - empty() const + empty() const _GLIBCXX_NOEXCEPT { return _M_t.empty(); } /// Returns the size of the %set. size_type - size() const + size() const _GLIBCXX_NOEXCEPT { return _M_t.size(); } /// Returns the maximum size of the %set. size_type - max_size() const + max_size() const _GLIBCXX_NOEXCEPT { return _M_t.max_size(); } /** @@ -554,7 +554,7 @@ * is the user's responsibility. */ void - clear() + clear() _GLIBCXX_NOEXCEPT { _M_t.clear(); } // multiset operations: Index: include/bits/stl_bvector.h =================================================================== --- include/bits/stl_bvector.h (revision 174269) +++ include/bits/stl_bvector.h (working copy) @@ -74,13 +74,13 @@ _Bit_reference(_Bit_type * __x, _Bit_type __y) : _M_p(__x), _M_mask(__y) { } - _Bit_reference() : _M_p(0), _M_mask(0) { } + _Bit_reference() _GLIBCXX_NOEXCEPT : _M_p(0), _M_mask(0) { } - operator bool() const + operator bool() const _GLIBCXX_NOEXCEPT { return !!(*_M_p & _M_mask); } _Bit_reference& - operator=(bool __x) + operator=(bool __x) _GLIBCXX_NOEXCEPT { if (__x) *_M_p |= _M_mask; @@ -90,7 +90,7 @@ } _Bit_reference& - operator=(const _Bit_reference& __x) + operator=(const _Bit_reference& __x) _GLIBCXX_NOEXCEPT { return *this = bool(__x); } bool @@ -102,7 +102,7 @@ { return !bool(*this) && bool(__x); } void - flip() + flip() _GLIBCXX_NOEXCEPT { *_M_p ^= _M_mask; } }; @@ -398,15 +398,15 @@ typedef _Alloc allocator_type; _Bit_alloc_type& - _M_get_Bit_allocator() + _M_get_Bit_allocator() _GLIBCXX_NOEXCEPT { return *static_cast<_Bit_alloc_type*>(&this->_M_impl); } const _Bit_alloc_type& - _M_get_Bit_allocator() const + _M_get_Bit_allocator() const _GLIBCXX_NOEXCEPT { return *static_cast(&this->_M_impl); } allocator_type - get_allocator() const + get_allocator() const _GLIBCXX_NOEXCEPT { return allocator_type(_M_get_Bit_allocator()); } _Bvector_base() @@ -612,61 +612,61 @@ #endif iterator - begin() + begin() _GLIBCXX_NOEXCEPT { return this->_M_impl._M_start; } const_iterator - begin() const + begin() const _GLIBCXX_NOEXCEPT { return this->_M_impl._M_start; } iterator - end() + end() _GLIBCXX_NOEXCEPT { return this->_M_impl._M_finish; } const_iterator - end() const + end() const _GLIBCXX_NOEXCEPT { return this->_M_impl._M_finish; } reverse_iterator - rbegin() + rbegin() _GLIBCXX_NOEXCEPT { return reverse_iterator(end()); } const_reverse_iterator - rbegin() const + rbegin() const _GLIBCXX_NOEXCEPT { return const_reverse_iterator(end()); } reverse_iterator - rend() + rend() _GLIBCXX_NOEXCEPT { return reverse_iterator(begin()); } const_reverse_iterator - rend() const + rend() const _GLIBCXX_NOEXCEPT { return const_reverse_iterator(begin()); } #ifdef __GXX_EXPERIMENTAL_CXX0X__ const_iterator - cbegin() const + cbegin() const noexcept { return this->_M_impl._M_start; } const_iterator - cend() const + cend() const noexcept { return this->_M_impl._M_finish; } const_reverse_iterator - crbegin() const + crbegin() const noexcept { return const_reverse_iterator(end()); } const_reverse_iterator - crend() const + crend() const noexcept { return const_reverse_iterator(begin()); } #endif size_type - size() const + size() const _GLIBCXX_NOEXCEPT { return size_type(end() - begin()); } size_type - max_size() const + max_size() const _GLIBCXX_NOEXCEPT { const size_type __isize = __gnu_cxx::__numeric_traits::__max @@ -677,12 +677,12 @@ } size_type - capacity() const + capacity() const _GLIBCXX_NOEXCEPT { return size_type(const_iterator(this->_M_impl._M_end_of_storage, 0) - begin()); } bool - empty() const + empty() const _GLIBCXX_NOEXCEPT { return begin() == end(); } reference @@ -741,7 +741,7 @@ // here due to the way we are implementing DR 464 in the debug-mode // vector class. void - data() { } + data() _GLIBCXX_NOEXCEPT { } void push_back(bool __x) @@ -768,7 +768,7 @@ // [23.2.5]/1, third-to-last entry in synopsis listing static void - swap(reference __x, reference __y) + swap(reference __x, reference __y) _GLIBCXX_NOEXCEPT { bool __tmp = __x; __x = __y; @@ -841,7 +841,7 @@ #endif void - flip() + flip() _GLIBCXX_NOEXCEPT { for (_Bit_type * __p = this->_M_impl._M_start._M_p; __p != this->_M_impl._M_end_of_storage; ++__p) @@ -849,7 +849,7 @@ } void - clear() + clear() _GLIBCXX_NOEXCEPT { _M_erase_at_end(begin()); } Index: include/bits/stl_tree.h =================================================================== --- include/bits/stl_tree.h (revision 174269) +++ include/bits/stl_tree.h (working copy) @@ -352,15 +352,15 @@ typedef _Alloc allocator_type; _Node_allocator& - _M_get_Node_allocator() + _M_get_Node_allocator() _GLIBCXX_NOEXCEPT { return *static_cast<_Node_allocator*>(&this->_M_impl); } const _Node_allocator& - _M_get_Node_allocator() const + _M_get_Node_allocator() const _GLIBCXX_NOEXCEPT { return *static_cast(&this->_M_impl); } allocator_type - get_allocator() const + get_allocator() const _GLIBCXX_NOEXCEPT { return allocator_type(_M_get_Node_allocator()); } protected: @@ -647,56 +647,56 @@ { return _M_impl._M_key_compare; } iterator - begin() + begin() _GLIBCXX_NOEXCEPT { return iterator(static_cast<_Link_type> (this->_M_impl._M_header._M_left)); } const_iterator - begin() const + begin() const _GLIBCXX_NOEXCEPT { return const_iterator(static_cast<_Const_Link_type> (this->_M_impl._M_header._M_left)); } iterator - end() + end() _GLIBCXX_NOEXCEPT { return iterator(static_cast<_Link_type>(&this->_M_impl._M_header)); } const_iterator - end() const + end() const _GLIBCXX_NOEXCEPT { return const_iterator(static_cast<_Const_Link_type> (&this->_M_impl._M_header)); } reverse_iterator - rbegin() + rbegin() _GLIBCXX_NOEXCEPT { return reverse_iterator(end()); } const_reverse_iterator - rbegin() const + rbegin() const _GLIBCXX_NOEXCEPT { return const_reverse_iterator(end()); } reverse_iterator - rend() + rend() _GLIBCXX_NOEXCEPT { return reverse_iterator(begin()); } const_reverse_iterator - rend() const + rend() const _GLIBCXX_NOEXCEPT { return const_reverse_iterator(begin()); } bool - empty() const + empty() const _GLIBCXX_NOEXCEPT { return _M_impl._M_node_count == 0; } size_type - size() const + size() const _GLIBCXX_NOEXCEPT { return _M_impl._M_node_count; } size_type - max_size() const + max_size() const _GLIBCXX_NOEXCEPT { return _M_get_Node_allocator().max_size(); } void @@ -794,7 +794,7 @@ erase(const key_type* __first, const key_type* __last); void - clear() + clear() _GLIBCXX_NOEXCEPT { _M_erase(_M_begin()); _M_leftmost() = _M_end();