aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaolo Carlini <paolo.carlini@oracle.com>2011-06-14 15:09:14 +0000
committerPaolo Carlini <paolo@gcc.gnu.org>2011-06-14 15:09:14 +0000
commit6b14c6d7ffc25b92aeea21f0c0c050582d3ed771 (patch)
treec671c1113f3eae64ad5ac223bb49ec0ffa3dfa66
parent5e59d472ed3a8a191d443aa8093c61d1a351c6f3 (diff)
downloadgcc-6b14c6d7ffc25b92aeea21f0c0c050582d3ed771.zip
gcc-6b14c6d7ffc25b92aeea21f0c0c050582d3ed771.tar.gz
gcc-6b14c6d7ffc25b92aeea21f0c0c050582d3ed771.tar.bz2
functional: Use noexcept.
2011-06-14 Paolo Carlini <paolo.carlini@oracle.com> * include/std/functional: Use noexcept. * include/bits/stl_tempbuf.h: Likewise. From-SVN: r175026
-rw-r--r--libstdc++-v3/ChangeLog5
-rw-r--r--libstdc++-v3/include/bits/stl_tempbuf.h5
-rw-r--r--libstdc++-v3/include/std/functional50
3 files changed, 34 insertions, 26 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index 9462c08..ebe9f20 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,8 @@
+2011-06-14 Paolo Carlini <paolo.carlini@oracle.com>
+
+ * include/std/functional: Use noexcept.
+ * include/bits/stl_tempbuf.h: Likewise.
+
2011-06-12 François Dumont <francois.cppdevs@free.fr>
Paolo Carlini <paolo.carlini@oracle.com>
diff --git a/libstdc++-v3/include/bits/stl_tempbuf.h b/libstdc++-v3/include/bits/stl_tempbuf.h
index a99dac9..c4b0ddd 100644
--- a/libstdc++-v3/include/bits/stl_tempbuf.h
+++ b/libstdc++-v3/include/bits/stl_tempbuf.h
@@ -1,6 +1,7 @@
// Temporary buffer implementation -*- C++ -*-
-// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
+// Copyright (C) 2001, 2002, 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
@@ -83,7 +84,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
*/
template<typename _Tp>
pair<_Tp*, ptrdiff_t>
- get_temporary_buffer(ptrdiff_t __len)
+ get_temporary_buffer(ptrdiff_t __len) _GLIBCXX_NOEXCEPT
{
const ptrdiff_t __max =
__gnu_cxx::__numeric_traits<ptrdiff_t>::__max / sizeof(_Tp);
diff --git a/libstdc++-v3/include/std/functional b/libstdc++-v3/include/std/functional
index 0126510..85df220 100644
--- a/libstdc++-v3/include/std/functional
+++ b/libstdc++-v3/include/std/functional
@@ -437,28 +437,28 @@ _GLIBCXX_HAS_NESTED_TYPE(result_type)
public:
typedef _Tp type;
- reference_wrapper(_Tp& __indata)
+ reference_wrapper(_Tp& __indata) noexcept
: _M_data(std::__addressof(__indata))
{ }
reference_wrapper(_Tp&&) = delete;
- reference_wrapper(const reference_wrapper<_Tp>& __inref):
- _M_data(__inref._M_data)
+ reference_wrapper(const reference_wrapper<_Tp>& __inref) noexcept
+ : _M_data(__inref._M_data)
{ }
reference_wrapper&
- operator=(const reference_wrapper<_Tp>& __inref)
+ operator=(const reference_wrapper<_Tp>& __inref) noexcept
{
_M_data = __inref._M_data;
return *this;
}
- operator _Tp&() const
+ operator _Tp&() const noexcept
{ return this->get(); }
_Tp&
- get() const
+ get() const noexcept
{ return *_M_data; }
template<typename... _Args>
@@ -473,13 +473,13 @@ _GLIBCXX_HAS_NESTED_TYPE(result_type)
/// Denotes a reference should be taken to a variable.
template<typename _Tp>
inline reference_wrapper<_Tp>
- ref(_Tp& __t)
+ ref(_Tp& __t) noexcept
{ return reference_wrapper<_Tp>(__t); }
/// Denotes a const reference should be taken to a variable.
template<typename _Tp>
inline reference_wrapper<const _Tp>
- cref(const _Tp& __t)
+ cref(const _Tp& __t) noexcept
{ return reference_wrapper<const _Tp>(__t); }
template<typename _Tp>
@@ -491,13 +491,13 @@ _GLIBCXX_HAS_NESTED_TYPE(result_type)
/// Partial specialization.
template<typename _Tp>
inline reference_wrapper<_Tp>
- ref(reference_wrapper<_Tp> __t)
+ ref(reference_wrapper<_Tp> __t) noexcept
{ return ref(__t.get()); }
/// Partial specialization.
template<typename _Tp>
inline reference_wrapper<const _Tp>
- cref(reference_wrapper<_Tp> __t)
+ cref(reference_wrapper<_Tp> __t) noexcept
{ return cref(__t.get()); }
// @} group functors
@@ -1913,13 +1913,15 @@ _GLIBCXX_HAS_NESTED_TYPE(result_type)
* @brief Default construct creates an empty function call wrapper.
* @post @c !(bool)*this
*/
- function() : _Function_base() { }
+ function() noexcept
+ : _Function_base() { }
/**
* @brief Creates an empty function call wrapper.
* @post @c !(bool)*this
*/
- function(nullptr_t) : _Function_base() { }
+ function(nullptr_t) noexcept
+ : _Function_base() { }
/**
* @brief %Function copy constructor.
@@ -2050,7 +2052,7 @@ _GLIBCXX_HAS_NESTED_TYPE(result_type)
/// @overload
template<typename _Functor>
typename enable_if<!is_integral<_Functor>::value, function&>::type
- operator=(reference_wrapper<_Functor> __f)
+ operator=(reference_wrapper<_Functor> __f) noexcept
{
function(__f).swap(*this);
return *this;
@@ -2093,7 +2095,7 @@ _GLIBCXX_HAS_NESTED_TYPE(result_type)
*
* This function will not throw an %exception.
*/
- explicit operator bool() const
+ explicit operator bool() const noexcept
{ return !_M_empty(); }
// [3.7.2.4] function invocation
@@ -2119,7 +2121,7 @@ _GLIBCXX_HAS_NESTED_TYPE(result_type)
*
* This function will not throw an %exception.
*/
- const type_info& target_type() const;
+ const type_info& target_type() const noexcept;
/**
* @brief Access the stored target function object.
@@ -2130,10 +2132,10 @@ _GLIBCXX_HAS_NESTED_TYPE(result_type)
*
* This function will not throw an %exception.
*/
- template<typename _Functor> _Functor* target();
+ template<typename _Functor> _Functor* target() noexcept;
/// @overload
- template<typename _Functor> const _Functor* target() const;
+ template<typename _Functor> const _Functor* target() const noexcept;
#endif
private:
@@ -2187,7 +2189,7 @@ _GLIBCXX_HAS_NESTED_TYPE(result_type)
template<typename _Res, typename... _ArgTypes>
const type_info&
function<_Res(_ArgTypes...)>::
- target_type() const
+ target_type() const noexcept
{
if (_M_manager)
{
@@ -2203,7 +2205,7 @@ _GLIBCXX_HAS_NESTED_TYPE(result_type)
template<typename _Functor>
_Functor*
function<_Res(_ArgTypes...)>::
- target()
+ target() noexcept
{
if (typeid(_Functor) == target_type() && _M_manager)
{
@@ -2222,7 +2224,7 @@ _GLIBCXX_HAS_NESTED_TYPE(result_type)
template<typename _Functor>
const _Functor*
function<_Res(_ArgTypes...)>::
- target() const
+ target() const noexcept
{
if (typeid(_Functor) == target_type() && _M_manager)
{
@@ -2246,13 +2248,13 @@ _GLIBCXX_HAS_NESTED_TYPE(result_type)
*/
template<typename _Res, typename... _Args>
inline bool
- operator==(const function<_Res(_Args...)>& __f, nullptr_t)
+ operator==(const function<_Res(_Args...)>& __f, nullptr_t) noexcept
{ return !static_cast<bool>(__f); }
/// @overload
template<typename _Res, typename... _Args>
inline bool
- operator==(nullptr_t, const function<_Res(_Args...)>& __f)
+ operator==(nullptr_t, const function<_Res(_Args...)>& __f) noexcept
{ return !static_cast<bool>(__f); }
/**
@@ -2264,13 +2266,13 @@ _GLIBCXX_HAS_NESTED_TYPE(result_type)
*/
template<typename _Res, typename... _Args>
inline bool
- operator!=(const function<_Res(_Args...)>& __f, nullptr_t)
+ operator!=(const function<_Res(_Args...)>& __f, nullptr_t) noexcept
{ return static_cast<bool>(__f); }
/// @overload
template<typename _Res, typename... _Args>
inline bool
- operator!=(nullptr_t, const function<_Res(_Args...)>& __f)
+ operator!=(nullptr_t, const function<_Res(_Args...)>& __f) noexcept
{ return static_cast<bool>(__f); }
// [20.7.15.2.7] specialized algorithms