Fawkes API Fawkes Development Version
refc_rwlock.cpp
1
2/***************************************************************************
3 * refc_rwlock.cpp - Read Write Lock with reference counter
4 *
5 * Generated: Fri Oct 27 17:28:04 2006
6 * Copyright 2006 Tim Niemueller [www.niemueller.de]
7 *
8 ****************************************************************************/
9
10/* This program is free software; you can redistribute it and/or modify
11 * it under the terms of the GNU General Public License as published by
12 * the Free Software Foundation; either version 2 of the License, or
13 * (at your option) any later version. A runtime exception applies to
14 * this software (see LICENSE.GPL_WRE file mentioned below for details).
15 *
16 * This program is distributed in the hope that it will be useful,
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 * GNU Library General Public License for more details.
20 *
21 * Read the full text in the LICENSE.GPL_WRE file in the doc directory.
22 */
23
24#include <core/threading/refc_rwlock.h>
25
26namespace fawkes {
27
28/** @class RefCountRWLock core/threading/refc_rwlock.h
29 * Read/write lock with reference counting.
30 * This class is a combination of ReadWriteLock and RefCount. A reference count
31 * is maintained for the class to allow for automatic destruction when the last
32 * user calls unref(). The class otherwise acts as a normal ReadWriteLock, you
33 * just should not delete the instance but rather unref() it.
34 * @see ReadWriteLock
35 * @see RefCount
36 * @ingroup Threading
37 * @ingroup FCL
38 * @author Tim Niemueller
39 */
40
41/** Constructor.
42 * @param policy Policy, see ReadWriteLock::ReadWriteLock() for more info on this.
43 */
45: ReadWriteLock(policy), RefCount()
46{
47}
48
49/** Destructor */
51{
52}
53
54} // end namespace fawkes
Read/write lock to allow multiple readers but only a single writer on the resource at a time.
ReadWriteLockPolicy
The policy to use for the read/write lock.
RefCountRWLock(ReadWriteLock::ReadWriteLockPolicy policy=ReadWriteLock::RWLockPolicyPreferWriter)
Constructor.
Definition: refc_rwlock.cpp:44
virtual ~RefCountRWLock()
Destructor.
Definition: refc_rwlock.cpp:50
Reference counting base class.
Definition: refcount.h:32
Fawkes library namespace.