Public Member Functions

ACE_Write_Guard< ACE_LOCK > Class Template Reference

This class is similar to class ACE_Guard, though it acquires/releases a write lock automatically (naturally, the <ACE_LOCK> it is instantiated with must support the appropriate API). More...

#include <Guard_T.h>

Inheritance diagram for ACE_Write_Guard< ACE_LOCK >:
Inheritance graph
[legend]
Collaboration diagram for ACE_Write_Guard< ACE_LOCK >:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 ACE_Write_Guard (ACE_LOCK &m)
 Implicitly and automatically acquire a write lock.
 ACE_Write_Guard (ACE_LOCK &m, bool block)
int acquire_write (void)
 Explicitly acquire the write lock.
int acquire (void)
 Explicitly acquire the write lock.
int tryacquire_write (void)
 Conditionally acquire the write lock (i.e., won't block).
int tryacquire (void)
 Conditionally acquire the write lock (i.e., won't block).
void dump (void) const
 Dump the state of an object.

Detailed Description

template<class ACE_LOCK>
class ACE_Write_Guard< ACE_LOCK >

This class is similar to class ACE_Guard, though it acquires/releases a write lock automatically (naturally, the <ACE_LOCK> it is instantiated with must support the appropriate API).

Definition at line 119 of file Guard_T.h.


Constructor & Destructor Documentation

template<class ACE_LOCK >
ACE_Write_Guard< ACE_LOCK >::ACE_Write_Guard ( ACE_LOCK &  m  )  [inline]

Implicitly and automatically acquire a write lock.

Definition at line 87 of file Guard_T.inl.

  : ACE_Guard<ACE_LOCK> (&m)
{
  this->acquire_write ();
}

template<class ACE_LOCK >
ACE_Write_Guard< ACE_LOCK >::ACE_Write_Guard ( ACE_LOCK &  m,
bool  block 
) [inline]

Implicitly and automatically acquire (or try to acquire) a write lock.

Definition at line 118 of file Guard_T.inl.

  : ACE_Guard<ACE_LOCK> (&m)
{
  if (block)
    this->acquire_write ();
  else
    this->tryacquire_write ();
}


Member Function Documentation

template<class ACE_LOCK >
int ACE_Write_Guard< ACE_LOCK >::acquire ( void   )  [inline]

Explicitly acquire the write lock.

Reimplemented from ACE_Guard< ACE_LOCK >.

Definition at line 100 of file Guard_T.inl.

{
  return this->owner_ = this->lock_->acquire_write ();
}

template<class ACE_LOCK >
int ACE_Write_Guard< ACE_LOCK >::acquire_write ( void   )  [inline]

Explicitly acquire the write lock.

Definition at line 94 of file Guard_T.inl.

{
  return this->owner_ = this->lock_->acquire_write ();
}

template<class ACE_LOCK >
void ACE_Write_Guard< ACE_LOCK >::dump ( void   )  const

Dump the state of an object.

Reimplemented from ACE_Guard< ACE_LOCK >.

Definition at line 42 of file Guard_T.cpp.

{
#if defined (ACE_HAS_DUMP)
// ACE_TRACE ("ACE_Write_Guard<ACE_LOCK>::dump");
  ACE_Guard<ACE_LOCK>::dump ();
#endif /* ACE_HAS_DUMP */
}

template<class ACE_LOCK >
int ACE_Write_Guard< ACE_LOCK >::tryacquire ( void   )  [inline]

Conditionally acquire the write lock (i.e., won't block).

Reimplemented from ACE_Guard< ACE_LOCK >.

Definition at line 112 of file Guard_T.inl.

{
  return this->owner_ = this->lock_->tryacquire_write ();
}

template<class ACE_LOCK >
int ACE_Write_Guard< ACE_LOCK >::tryacquire_write ( void   )  [inline]

Conditionally acquire the write lock (i.e., won't block).

Definition at line 106 of file Guard_T.inl.

{
  return this->owner_ = this->lock_->tryacquire_write ();
}


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines