STLdoc
STLdocumentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Public Types | Public Member Functions | Private Attributes | List of all members
_Task_async_state< _Rx, _Inline > Class Template Reference
Inheritance diagram for _Task_async_state< _Rx, _Inline >:
_Packaged_state< _Rx()>

Public Types

typedef _Packaged_state< _Rx()> _Mybase
 
typedef _Mybase::_State_type _State_type
 

Public Member Functions

template<class _Fty2 >
 _Task_async_state (_Fty2 &&_Fnarg)
 
virtual ~_Task_async_state () _NOEXCEPT
 
virtual void _Wait ()
 
virtual _State_type_Get_value (bool _Get_only_once)
 

Private Attributes

::Concurrency::task< void_Task
 

Member Typedef Documentation

template<class _Rx , bool _Inline>
typedef _Packaged_state<_Rx()> _Task_async_state< _Rx, _Inline >::_Mybase
template<class _Rx , bool _Inline>
typedef _Mybase::_State_type _Task_async_state< _Rx, _Inline >::_State_type

Constructor & Destructor Documentation

template<class _Rx , bool _Inline>
template<class _Fty2 >
_Task_async_state< _Rx, _Inline >::_Task_async_state ( _Fty2 &&  _Fnarg)
inline
901  : _Mybase(_STD forward<_Fty2>(_Fnarg))
902  { // construct from rvalue function object
903  _Task = ::Concurrency::create_task([this]()
904  { // do it now
905  this->_Call_immediate();
906  });
907 
908  this->_Running = true;
909  }
::Concurrency::task< void > _Task
Definition: future:933
_Packaged_state< _Rx()> _Mybase
Definition: future:896
template<class _Rx , bool _Inline>
virtual _Task_async_state< _Rx, _Inline >::~_Task_async_state ( )
inlinevirtual
912  { // destroy
913  if (!this->_Ready)
914  _Wait();
915  }
virtual void _Wait()
Definition: future:917

Member Function Documentation

template<class _Rx , bool _Inline>
virtual _State_type& _Task_async_state< _Rx, _Inline >::_Get_value ( bool  _Get_only_once)
inlinevirtual
926  { // return the stored result or throw stored exception
927  if (_Inline)
928  _Task.wait();
929  return (_Mybase::_Get_value(_Get_only_once));
930  }
::Concurrency::task< void > _Task
Definition: future:933
task_status wait() const
Waits for this task to reach a terminal state. It is possible for wait to execute the task inline...
Definition: ppltasks.h:4169
template<class _Rx , bool _Inline>
virtual void _Task_async_state< _Rx, _Inline >::_Wait ( )
inlinevirtual
918  { // wait for completion
919  if (_Inline)
920  _Task.wait();
921  else
922  _Mybase::_Wait();
923  }
::Concurrency::task< void > _Task
Definition: future:933
task_status wait() const
Waits for this task to reach a terminal state. It is possible for wait to execute the task inline...
Definition: ppltasks.h:4169

Member Data Documentation

template<class _Rx , bool _Inline>
::Concurrency::task<void> _Task_async_state< _Rx, _Inline >::_Task
private

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