COVISE Core
Public Types | Public Member Functions | Private Attributes | List of all members
covise::AsyncWaitClass< Param > Class Template Reference

#include <asyncWait.h>

Inheritance diagram for covise::AsyncWaitClass< Param >:
Inheritance graph
[legend]
Collaboration diagram for covise::AsyncWaitClass< Param >:
Collaboration graph
[legend]

Public Types

typedef std::function< Param(void)> Condition
 
typedef std::function< bool(const Param &)> Response
 

Public Member Functions

 AsyncWaitClass (Condition condition, Response response)
 
 ~AsyncWaitClass ()=default
 
 AsyncWaitClass (AsyncWaitClass &&other)=delete
 
 AsyncWaitClass (const AsyncWaitClass &)=delete
 
AsyncWaitClassoperator= (AsyncWaitClass &&)=delete
 
AsyncWaitClassoperator= (const AsyncWaitClass &)=delete
 
void wait ()
 
bool operator() () override
 
template<typename OtherParam >
AsyncWaitClass< OtherParam > & operator>> (AsyncWaitClass< OtherParam > &c)
 
void remove () override
 
- Public Member Functions inherited from covise::AsyncWaitInterface
virtual ~AsyncWaitInterface ()=default
 
virtual bool operator() ()=0
 
virtual void wait ()=0
 
virtual void remove ()=0
 

Private Attributes

Response m_response
 
Condition m_condition
 
std::future< Paramm_future
 
AsyncWaitInterfacenext = nullptr
 

Member Typedef Documentation

◆ Condition

template<typename Param >
typedef std::function<Param(void)> covise::AsyncWaitClass< Param >::Condition

◆ Response

template<typename Param >
typedef std::function<bool(const Param &)> covise::AsyncWaitClass< Param >::Response

Constructor & Destructor Documentation

◆ AsyncWaitClass() [1/3]

template<typename Param >
covise::AsyncWaitClass< Param >::AsyncWaitClass ( Condition  condition,
Response  response 
)
inline

◆ ~AsyncWaitClass()

template<typename Param >
covise::AsyncWaitClass< Param >::~AsyncWaitClass ( )
default

◆ AsyncWaitClass() [2/3]

template<typename Param >
covise::AsyncWaitClass< Param >::AsyncWaitClass ( AsyncWaitClass< Param > &&  other)
delete

◆ AsyncWaitClass() [3/3]

template<typename Param >
covise::AsyncWaitClass< Param >::AsyncWaitClass ( const AsyncWaitClass< Param > &  )
delete

Member Function Documentation

◆ operator()()

template<typename Param >
bool covise::AsyncWaitClass< Param >::operator() ( )
inlineoverridevirtual

◆ operator=() [1/2]

template<typename Param >
AsyncWaitClass & covise::AsyncWaitClass< Param >::operator= ( AsyncWaitClass< Param > &&  )
delete

◆ operator=() [2/2]

template<typename Param >
AsyncWaitClass & covise::AsyncWaitClass< Param >::operator= ( const AsyncWaitClass< Param > &  )
delete

◆ operator>>()

template<typename Param >
template<typename OtherParam >
AsyncWaitClass< OtherParam > & covise::AsyncWaitClass< Param >::operator>> ( AsyncWaitClass< OtherParam > &  c)
inline

◆ remove()

template<typename Param >
void covise::AsyncWaitClass< Param >::remove ( )
inlineoverridevirtual

◆ wait()

template<typename Param >
void covise::AsyncWaitClass< Param >::wait ( )
inlinevirtual

Member Data Documentation

◆ m_condition

template<typename Param >
Condition covise::AsyncWaitClass< Param >::m_condition
private

◆ m_future

template<typename Param >
std::future<Param> covise::AsyncWaitClass< Param >::m_future
private

◆ m_response

template<typename Param >
Response covise::AsyncWaitClass< Param >::m_response
private

◆ next

template<typename Param >
AsyncWaitInterface* covise::AsyncWaitClass< Param >::next = nullptr
private

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