1 /*
2     Scan Tailor - Interactive post-processing tool for scanned pages.
3     Copyright (C) 2007-2008  Joseph Artsimovich <joseph_a@mail.ru>
4 
5     This program is free software: you can redistribute it and/or modify
6     it under the terms of the GNU General Public License as published by
7     the Free Software Foundation, either version 3 of the License, or
8     (at your option) any later version.
9 
10     This program 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
13     GNU General Public License for more details.
14 
15     You should have received a copy of the GNU General Public License
16     along with this program.  If not, see <http://www.gnu.org/licenses/>.
17  */
18 
19 #ifndef SCOPEDINCDEC_H_
20 #define SCOPEDINCDEC_H_
21 
22 #ifdef HAVE_CONFIG_H
23 #include <config.h>
24 #endif
25 
26 template <class T>
27 class ScopedIncDec {
28  public:
ScopedIncDec(T & counter)29   explicit ScopedIncDec(T& counter) : m_counter(counter) { ++counter; }
30 
~ScopedIncDec()31   ~ScopedIncDec() { --m_counter; }
32 
33  private:
34   T& m_counter;
35 };
36 
37 
38 #endif
39