STLdoc
STLdocumentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Public Member Functions | Private Attributes | List of all members
_Promise< _Ty > Class Template Reference

Public Member Functions

 _Promise (_Associated_state< _Ty > *_State_ptr)
 
 _Promise (_Promise &&_Other)
 
_Promiseoperator= (_Promise &&_Other)
 
 ~_Promise () _NOEXCEPT
 
void _Swap (_Promise &_Other)
 
const _State_manager< _Ty > & _Get_state () const
 
_State_manager< _Ty > & _Get_state ()
 
_State_manager< _Ty > & _Get_state_for_set ()
 
_State_manager< _Ty > & _Get_state_for_future ()
 
bool _Is_valid () const _NOEXCEPT
 
bool _Is_ready () const
 
bool _Is_ready_at_thread_exit () const
 
 _Promise (const _Promise &)=delete
 
_Promiseoperator= (const _Promise &)=delete
 

Private Attributes

_State_manager< _Ty > _State
 
bool _Future_retrieved
 

Constructor & Destructor Documentation

template<class _Ty>
_Promise< _Ty >::_Promise ( _Associated_state< _Ty > *  _State_ptr)
inline
1399  : _State(_State_ptr, false),
1400  _Future_retrieved(false)
1401  { // construct from associated asynchronous state object
1402  }
bool _Future_retrieved
Definition: future:1478
_State_manager< _Ty > _State
Definition: future:1477
template<class _Ty>
_Promise< _Ty >::_Promise ( _Promise< _Ty > &&  _Other)
inline
1407  { // construct from rvalue _Promise object
1408  }
Definition: future:924
constexpr _Ty && forward(typename remove_reference< _Ty >::type &_Arg) _NOEXCEPT
Definition: type_traits:1332
bool _Future_retrieved
Definition: future:1478
_State_manager< _Ty > _State
Definition: future:1477
template<class _Ty>
_Promise< _Ty >::~_Promise ( )
inline
1418  { // destroy
1419  }
template<class _Ty>
_Promise< _Ty >::_Promise ( const _Promise< _Ty > &  )
delete

Member Function Documentation

template<class _Ty>
const _State_manager<_Ty>& _Promise< _Ty >::_Get_state ( ) const
inline
1428  { // return reference to associated asynchronous state object
1429  return (_State);
1430  }
_State_manager< _Ty > _State
Definition: future:1477
template<class _Ty>
_State_manager<_Ty>& _Promise< _Ty >::_Get_state ( )
inline
1432  { // return reference to associated asynchronous state object
1433  return (_State);
1434  }
_State_manager< _Ty > _State
Definition: future:1477
template<class _Ty>
_State_manager<_Ty>& _Promise< _Ty >::_Get_state_for_future ( )
inline
1446  { // return reference to associated asynchronous state object, or
1447  // throw exception if not valid for retrieving future
1448  if (!_State.valid())
1451  if (_Future_retrieved)
1454  _Future_retrieved = true;
1455  return (_State);
1456  }
error_code make_error_code(_Future_errc _Errno) _NOEXCEPT
Definition: future:119
_CRTIMP2_PURE void __CLRCALL_PURE_OR_CDECL _Throw_future_error(const error_code &_Code)
bool _Future_retrieved
Definition: future:1478
_State_manager< _Ty > _State
Definition: future:1477
template<class _Ty>
_State_manager<_Ty>& _Promise< _Ty >::_Get_state_for_set ( )
inline
1437  { // return reference to associated asynchronous state object, or
1438  // throw exception if not valid for setting state
1439  if (!_State.valid())
1442  return (_State);
1443  }
error_code make_error_code(_Future_errc _Errno) _NOEXCEPT
Definition: future:119
_CRTIMP2_PURE void __CLRCALL_PURE_OR_CDECL _Throw_future_error(const error_code &_Code)
_State_manager< _Ty > _State
Definition: future:1477
template<class _Ty>
bool _Promise< _Ty >::_Is_ready ( ) const
inline
1464  { // return ready status
1465  return (_State._Is_ready());
1466  }
_State_manager< _Ty > _State
Definition: future:1477
template<class _Ty>
bool _Promise< _Ty >::_Is_ready_at_thread_exit ( ) const
inline
1469  { // return ready at thread exit status
1470  return (_State._Is_ready_at_thread_exit());
1471  }
_State_manager< _Ty > _State
Definition: future:1477
template<class _Ty>
bool _Promise< _Ty >::_Is_valid ( ) const
inline
1459  { // return status
1460  return (_State.valid());
1461  }
_State_manager< _Ty > _State
Definition: future:1477
template<class _Ty>
void _Promise< _Ty >::_Swap ( _Promise< _Ty > &  _Other)
inline
1422  { // exchange with _Other
1423  _State._Swap(_Other._State);
1425  }
void swap(promise< _Ty > &_Left, promise< _Ty > &_Right) _NOEXCEPT
Definition: future:1717
bool _Future_retrieved
Definition: future:1478
_State_manager< _Ty > _State
Definition: future:1477
template<class _Ty>
_Promise& _Promise< _Ty >::operator= ( _Promise< _Ty > &&  _Other)
inline
1411  { // assign from rvalue _Promise object
1412  _State = _STD move(_Other._State);
1414  return (*this);
1415  }
constexpr remove_reference< _Ty >::type && move(_Ty &&_Arg) _NOEXCEPT
Definition: type_traits:1349
bool _Future_retrieved
Definition: future:1478
_State_manager< _Ty > _State
Definition: future:1477
template<class _Ty>
_Promise& _Promise< _Ty >::operator= ( const _Promise< _Ty > &  )
delete

Member Data Documentation

template<class _Ty>
bool _Promise< _Ty >::_Future_retrieved
private
template<class _Ty>
_State_manager<_Ty> _Promise< _Ty >::_State
private

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