From 9131b50960c20488a255ede40a3ebd3ed6b6bd82 Mon Sep 17 00:00:00 2001 From: Jonathan Wakely Date: Wed, 10 Dec 2014 00:39:37 +0000 Subject: [PATCH] future (__future_base::_Setter::operator(), [...]): Make call operators const. * include/std/future (__future_base::_Setter::operator(), __future_base::_Task_setter::operator()): Make call operators const. From-SVN: r218553 --- libstdc++-v3/ChangeLog | 3 +++ libstdc++-v3/include/std/future | 12 ++++++------ 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 320a7617dea..48ba1ff96d7 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -8,6 +8,9 @@ * include/bits/locale_facets_nonio.h (__timepunct::_M_cache): Remove unused declaration. + * include/std/future (__future_base::_Setter::operator(), + __future_base::_Task_setter::operator()): Make call operators const. + 2014-12-09 Jonathan Wakely PR libstdc++/64203 diff --git a/libstdc++-v3/include/std/future b/libstdc++-v3/include/std/future index 157ceb3bffb..31aaf9877b7 100644 --- a/libstdc++-v3/include/std/future +++ b/libstdc++-v3/include/std/future @@ -455,7 +455,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION "Invalid specialisation"); // Used by std::promise to copy construct the result. - typename promise<_Res>::_Ptr_type operator()() + typename promise<_Res>::_Ptr_type operator()() const { _State_baseV2::_S_check(_M_promise->_M_future); _M_promise->_M_storage->_M_set(*_M_arg); @@ -470,7 +470,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION struct _Setter<_Res, _Res&&> { // Used by std::promise to move construct the result. - typename promise<_Res>::_Ptr_type operator()() + typename promise<_Res>::_Ptr_type operator()() const { _State_baseV2::_S_check(_M_promise->_M_future); _M_promise->_M_storage->_M_set(std::move(*_M_arg)); @@ -487,7 +487,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION struct _Setter<_Res, __exception_ptr_tag> { // Used by std::promise to store an exception as the result. - typename promise<_Res>::_Ptr_type operator()() + typename promise<_Res>::_Ptr_type operator()() const { _State_baseV2::_S_check(_M_promise->_M_future); _M_promise->_M_storage->_M_error = *_M_ex; @@ -1286,7 +1286,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION template<> struct __future_base::_State_base::_Setter { - promise::_Ptr_type operator()() + promise::_Ptr_type operator()() const { _State_base::_S_check(_M_promise->_M_future); return std::move(_M_promise->_M_storage); @@ -1310,7 +1310,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION struct __future_base::_Task_setter { // Invoke the function and provide the result to the caller. - _Ptr_type operator()() + _Ptr_type operator()() const { __try { @@ -1333,7 +1333,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION template struct __future_base::_Task_setter<_Ptr_type, _Fn, void> { - _Ptr_type operator()() + _Ptr_type operator()() const { __try {