ACE_LOCK.
#include <ace/Synch_T.h>
template<class ACE_LOCK> class ACE_Guard {
public:ACE_Guard (ACE_LOCK &l);ACE_Guard (ACE_LOCK &l, int block);~ACE_Guard (void);int acquire (void);int tryacquire (void);int release (void);int locked (void);int remove (void);inline ACE_Guard (ACE_LOCK &l): lock_ (&l);inline ACE_Guard (ACE_LOCK &l, int block): lock_ (&l);inline ~ACE_Guard (void);inline int acquire (void);inline int tryacquire (void);inline int release (void);inline int locked (void);inline int remove (void);void dump (void) const;protected:inline ACE_Guard (ACE_LOCK *lock);ACE_LOCK *lock_;int owner_;private:inline ACE_UNIMPLEMENTED_FUNC ( void operator= (const ACE_Guard<ACE_LOCK> &) );};
ACE_LOCK class given as an actual parameter must provide at
the very least the acquire, tryacquire, release, and
remove methods.
ACE_Guard (ACE_LOCK &l);
ACE_Guard (ACE_LOCK &l, int block);
~ACE_Guard (void);
int acquire (void);
int tryacquire (void);
int release (void);
int locked (void);
int remove (void);
inline ACE_UNIMPLEMENTED_FUNC (
void operator= (const ACE_Guard<ACE_LOCK> &)
);