CPN
Computational Process Networks
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
Sync::Future< void > Class Template Reference

#include <Future.h>

+ Collaboration diagram for Sync::Future< void >:

Public Member Functions

 Future ()
 
virtual ~Future ()
 
bool Done ()
 
void Cancel ()
 
void Wait ()
 
bool IsCanceled ()
 
virtual void Set ()
 
virtual void Get ()
 

Protected Member Functions

void InternalWait ()
 
void InternalSet ()
 

Protected Attributes

PthreadMutex future_lock
 
PthreadCondition future_cond
 
bool done
 
bool canceled
 

Detailed Description

template<>
class Sync::Future< void >

Definition at line 93 of file Future.h.

Constructor & Destructor Documentation

Sync::Future< void >::Future ( )
inline

Definition at line 95 of file Future.h.

95 : done(false), canceled(false) {}
virtual Sync::Future< void >::~Future ( )
inlinevirtual

Definition at line 96 of file Future.h.

96 {}

Member Function Documentation

void Sync::Future< void >::Cancel ( )
inline

Definition at line 103 of file Future.h.

References PthreadCondition::Broadcast(), Sync::Future< T >::canceled, Sync::Future< T >::future_cond, and Sync::Future< T >::future_lock.

103  {
105  canceled = true;
107  }
PthreadCondition & Broadcast(void)
PthreadCondition future_cond
Definition: Future.h:140
PthreadMutex future_lock
Definition: Future.h:139

+ Here is the call graph for this function:

bool Sync::Future< void >::Done ( )
inline

Definition at line 98 of file Future.h.

References Sync::Future< T >::canceled, Sync::Future< T >::done, and Sync::Future< T >::future_lock.

98  {
100  return done || canceled;
101  }
PthreadMutex future_lock
Definition: Future.h:139
virtual void Sync::Future< void >::Get ( )
inlinevirtual

Definition at line 124 of file Future.h.

References Sync::Future< T >::future_lock, and Sync::Future< T >::InternalWait().

124  {
126  InternalWait();
127  }
void InternalWait()
Definition: Future.h:130
PthreadMutex future_lock
Definition: Future.h:139

+ Here is the call graph for this function:

void Sync::Future< void >::InternalSet ( )
inlineprotected

Definition at line 134 of file Future.h.

References PthreadCondition::Broadcast(), Sync::Future< T >::done, and Sync::Future< T >::future_cond.

134  {
135  done = true;
137  }
PthreadCondition & Broadcast(void)
PthreadCondition future_cond
Definition: Future.h:140

+ Here is the call graph for this function:

void Sync::Future< void >::InternalWait ( )
inlineprotected

Definition at line 130 of file Future.h.

References Sync::Future< T >::canceled, Sync::Future< T >::done, Sync::Future< T >::future_cond, Sync::Future< T >::future_lock, and PthreadCondition::Wait().

130  {
131  while (!canceled && !done) { future_cond.Wait(future_lock); }
132  }
PthreadCondition & Wait(PthreadMutex &mutex)
PthreadCondition future_cond
Definition: Future.h:140
PthreadMutex future_lock
Definition: Future.h:139

+ Here is the call graph for this function:

bool Sync::Future< void >::IsCanceled ( )
inline

Definition at line 114 of file Future.h.

References Sync::Future< T >::canceled, and Sync::Future< T >::future_lock.

114  {
116  return canceled;
117  }
PthreadMutex future_lock
Definition: Future.h:139
virtual void Sync::Future< void >::Set ( )
inlinevirtual

Definition at line 119 of file Future.h.

References Sync::Future< T >::future_lock, and Sync::Future< T >::InternalSet().

119  {
121  InternalSet();
122  }
void InternalSet()
Definition: Future.h:134
PthreadMutex future_lock
Definition: Future.h:139

+ Here is the call graph for this function:

void Sync::Future< void >::Wait ( )
inline

Definition at line 109 of file Future.h.

References Sync::Future< T >::future_lock, and Sync::Future< T >::InternalWait().

109  {
111  InternalWait();
112  }
void InternalWait()
Definition: Future.h:130
PthreadMutex future_lock
Definition: Future.h:139

+ Here is the call graph for this function:

Member Data Documentation

bool Sync::Future< void >::canceled
protected

Definition at line 142 of file Future.h.

bool Sync::Future< void >::done
protected

Definition at line 141 of file Future.h.

PthreadCondition Sync::Future< void >::future_cond
protected

Definition at line 140 of file Future.h.

PthreadMutex Sync::Future< void >::future_lock
protected

Definition at line 139 of file Future.h.


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