#include <ace/Synch.h>
class ACE_Barrier {
public:
inline ACE_Barrier (u_int, LPCTSTR = 0, void * = 0);
inline ~ACE_Barrier (void);
inline int wait (void);
inline void dump (void) const;
ACE_Barrier (u_int count, LPCTSTR name = 0, void *arg = 0);
~ACE_Barrier (void);
int wait (void);
void dump (void) const;
ACE_ALLOC_HOOK_DECLARE;
protected:
ACE_Thread_Mutex lock_;
int current_generation_;
int count_;
ACE_Sub_Barrier sub_barrier_1_;
ACE_Sub_Barrier sub_barrier_2_;
ACE_Sub_Barrier *sub_barrier_[2];
private:
void operator= (const ACE_Barrier &);
ACE_Barrier (const ACE_Barrier &);
};
void operator= (const ACE_Barrier &);
ACE_Barrier (const ACE_Barrier &);