libstdc++
std::__basic_future< _Res > Class Template Reference

#include <future>

Inheritance diagram for std::__basic_future< _Res >:
[legend]

Public Types

template<typename _Res>
using _Ptr
using _State_base

Public Member Functions

 __basic_future (const __basic_future &)=delete
__basic_future & operator= (const __basic_future &)=delete
bool valid () const noexcept
void wait () const
template<typename _Rep, typename _Period>
future_status wait_for (const chrono::duration< _Rep, _Period > &__rel) const
template<typename _Clock, typename _Duration>
future_status wait_until (const chrono::time_point< _Clock, _Duration > &__abs) const

Static Public Member Functions

template<typename _Res, typename _Allocator>
static _Ptr< _Result_alloc< _Res, _Allocator > > _S_allocate_result (const _Allocator &__a)
template<typename _Res, typename _Tp>
static _Ptr< _Result< _Res > > _S_allocate_result (const std::allocator< _Tp > &__a)
template<typename _Res_ptr, typename _BoundFn>
static _Task_setter< _Res_ptr, _BoundFn > _S_task_setter (_Res_ptr &__ptr, _BoundFn &__call)

Protected Types

typedef __future_base::_Result< _Res > & __result_type
typedef shared_ptr< _State_base > __state_type

Protected Member Functions

 __basic_future (const __state_type &__state)
 __basic_future (const shared_future< _Res > &) noexcept
 __basic_future (future< _Res > &&) noexcept
 __basic_future (shared_future< _Res > &&) noexcept
__result_type _M_get_result () const
void _M_swap (__basic_future &__that) noexcept

Detailed Description

template<typename _Res>
class std::__basic_future< _Res >

Common implementation for future and shared_future.

Definition at line 673 of file future.

Member Typedef Documentation

◆ __result_type

template<typename _Res>
typedef __future_base::_Result<_Res>& std::__basic_future< _Res >::__result_type
protected

Definition at line 677 of file future.

◆ __state_type

template<typename _Res>
typedef shared_ptr<_State_base> std::__basic_future< _Res >::__state_type
protected

Definition at line 676 of file future.

◆ _Ptr

template<typename _Res>
using std::__future_base::_Ptr
inherited

A unique_ptr for result objects.

Definition at line 222 of file future.

◆ _State_base

using std::__future_base::_State_base
inherited

Definition at line 597 of file future.

Constructor & Destructor Documentation

◆ __basic_future() [1/2]

template<typename _Res>
std::__basic_future< _Res >::__basic_future ( const __state_type & __state)
inlineexplicitprotected

Definition at line 732 of file future.

◆ __basic_future() [2/2]

template<typename _Res>
std::__basic_future< _Res >::__basic_future ( )
inlineconstexprprotectednoexcept

Definition at line 750 of file future.

Member Function Documentation

◆ _M_get_result()

template<typename _Res>
__result_type std::__basic_future< _Res >::_M_get_result ( ) const
inlineprotected

Wait for the state to be ready and rethrow any stored exception.

Definition at line 716 of file future.

Referenced by std::future< _Res >::get(), std::future< _Res & >::get(), std::future< void >::get(), std::shared_future< _Res >::get(), and std::shared_future< _Res & >::get().

◆ _M_swap()

template<typename _Res>
void std::__basic_future< _Res >::_M_swap ( __basic_future< _Res > & __that)
inlineprotectednoexcept

Definition at line 725 of file future.

◆ _S_allocate_result() [1/2]

template<typename _Res, typename _Allocator>
_Ptr< _Result_alloc< _Res, _Allocator > > std::__future_base::_S_allocate_result ( const _Allocator & __a)
inlinestaticinherited

Definition at line 287 of file future.

◆ _S_allocate_result() [2/2]

template<typename _Res, typename _Tp>
_Ptr< _Result< _Res > > std::__future_base::_S_allocate_result ( const std::allocator< _Tp > & __a)
inlinestaticinherited

Definition at line 300 of file future.

◆ _S_task_setter()

template<typename _Res_ptr, typename _BoundFn>
_Task_setter< _Res_ptr, _BoundFn > std::__future_base::_S_task_setter ( _Res_ptr & __ptr,
_BoundFn & __call )
inlinestaticinherited

Definition at line 621 of file future.

◆ valid()

template<typename _Res>
bool std::__basic_future< _Res >::valid ( ) const
inlinenoexcept

Definition at line 688 of file future.

◆ wait()

template<typename _Res>
void std::__basic_future< _Res >::wait ( ) const
inline

Definition at line 691 of file future.

◆ wait_for()

template<typename _Res>
template<typename _Rep, typename _Period>
future_status std::__basic_future< _Res >::wait_for ( const chrono::duration< _Rep, _Period > & __rel) const
inline

Definition at line 699 of file future.

◆ wait_until()

template<typename _Res>
template<typename _Clock, typename _Duration>
future_status std::__basic_future< _Res >::wait_until ( const chrono::time_point< _Clock, _Duration > & __abs) const
inline

Definition at line 707 of file future.


The documentation for this class was generated from the following file: