ardour
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
libs
pbd
pbd
unwind.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2012 Paul Davis
3
4
This program is free software; you can redistribute it and/or modify
5
it under the terms of the GNU General Public License as published by
6
the Free Software Foundation; either version 2 of the License, or
7
(at your option) any later version.
8
9
This program is distributed in the hope that it will be useful,
10
but WITHOUT ANY WARRANTY; without even the implied warranty of
11
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
GNU General Public License for more details.
13
14
You should have received a copy of the GNU General Public License
15
along with this program; if not, write to the Free Software
16
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
17
18
*/
19
20
#ifndef __libpbd_unwinder_h__
21
#define __libpbd_unwinder_h__
22
23
#include "
pbd/libpbd_visibility.h
"
24
25
namespace
PBD
{
26
27
template
<
typename
T>
28
class
/*LIBPBD_API*/
Unwinder
{
29
public
:
30
Unwinder
(T& var, T new_val) :
_var
(var),
_old_val
(var) { var = new_val; }
31
~Unwinder
() {
_var
=
_old_val
; }
32
33
private
:
34
T&
_var
;
35
T
_old_val
;
36
};
37
38
}
39
40
#endif
/* __libpbd_unwinder_h__ */
PBD::Unwinder
Definition:
unwind.h:28
PBD::Unwinder::_old_val
T _old_val
Definition:
unwind.h:35
PBD::Unwinder::~Unwinder
~Unwinder()
Definition:
unwind.h:31
PBD::Unwinder::_var
T & _var
Definition:
unwind.h:34
PBD::Unwinder::Unwinder
Unwinder(T &var, T new_val)
Definition:
unwind.h:30
PBD
Definition:
debug.h:30
libpbd_visibility.h
Generated on Sun May 24 2015 12:15:08 for ardour by
1.8.8