automatic commit
[folded-ctf.git] / shared.h
1 /*
2  *  folded-ctf is an implementation of the folded hierarchy of
3  *  classifiers for object detection, developed by Francois Fleuret
4  *  and Donald Geman.
5  *
6  *  Copyright (c) 2008 Idiap Research Institute, http://www.idiap.ch/
7  *  Written by Francois Fleuret <francois.fleuret@idiap.ch>
8  *
9  *  This file is part of folded-ctf.
10  *
11  *  folded-ctf is free software: you can redistribute it and/or modify
12  *  it under the terms of the GNU General Public License as published
13  *  by the Free Software Foundation, either version 3 of the License,
14  *  or (at your option) any later version.
15  *
16  *  folded-ctf is distributed in the hope that it will be useful, but
17  *  WITHOUT ANY WARRANTY; without even the implied warranty of
18  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
19  *  General Public License for more details.
20  *
21  *  You should have received a copy of the GNU General Public License
22  *  along with folded-ctf.  If not, see <http://www.gnu.org/licenses/>.
23  *
24  */
25
26 /*
27
28   A tiny class to implement shared objects and lazy deletion. When you
29   create a reference to such an object, call grab(), and when you
30   destroy that reference, call release() which will delete it if no
31   reference remains. Never delete it yourself!
32
33  */
34
35 #ifndef SHARED_H
36 #define SHARED_H
37
38 #include "misc.h"
39
40 class Shared {
41   int _nb_refs;
42 public:
43   Shared();
44   virtual ~Shared();
45   void grab();
46   void release();
47 };
48
49 #endif