CPN
Computational Process Networks
Main Page
Namespaces
Classes
Files
File List
File Members
include
cpn
utils
AutoUnlock.h
Go to the documentation of this file.
1
//=============================================================================
2
// Computational Process Networks class library
3
// Copyright (C) 1997-2006 Gregory E. Allen and The University of Texas
4
//
5
// This library is free software; you can redistribute it and/or modify it
6
// under the terms of the GNU Library General Public License as published
7
// by the Free Software Foundation; either version 2 of the License, or
8
// (at your option) any later version.
9
//
10
// This library is distributed in the hope that it will be useful,
11
// but WITHOUT ANY WARRANTY; without even the implied warranty of
12
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13
// Library General Public License for more details.
14
//
15
// The GNU Public License is available in the file LICENSE, or you
16
// can write to the Free Software Foundation, Inc., 59 Temple Place -
17
// Suite 330, Boston, MA 02111-1307, USA, or you can find it on the
18
// World Wide Web at http://www.fsf.org.
19
//=============================================================================
23
#ifndef AUTOUNLOCK_H
24
#define AUTOUNLOCK_H
25
#pragma once
26
#include <
cpn/common.h
>
27
28
template
<
typename
lockable>
29
struct
AutoUnlock
{
30
AutoUnlock
(lockable &l) :
lock
(l) {
lock
.Unlock(); }
31
~AutoUnlock
() {
lock
.Lock(); }
32
lockable &
lock
;
33
};
34
#endif
AutoUnlock::lock
lockable & lock
Definition:
AutoUnlock.h:32
AutoUnlock::AutoUnlock
AutoUnlock(lockable &l)
Definition:
AutoUnlock.h:30
AutoUnlock::~AutoUnlock
~AutoUnlock()
Definition:
AutoUnlock.h:31
AutoUnlock
Definition:
AutoUnlock.h:29
common.h
Generated by
1.8.5