Removed the definition of basename, which confuses an existing system one.
[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 version 3 as
13  *  published by the Free Software Foundation.
14  *
15  *  folded-ctf is distributed in the hope that it will be useful, but
16  *  WITHOUT ANY WARRANTY; without even the implied warranty of
17  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
18  *  General Public License for more details.
19  *
20  *  You should have received a copy of the GNU General Public License
21  *  along with folded-ctf.  If not, see <http://www.gnu.org/licenses/>.
22  *
23  */
24
25 /*
26
27   A tiny class to implement shared objects and lazy deletion. When you
28   create a reference to such an object, call grab(), and when you
29   destroy that reference, call release() which will delete it if no
30   reference remains. Never delete it yourself!
31
32  */
33
34 #ifndef SHARED_H
35 #define SHARED_H
36
37 #include "misc.h"
38
39 class Shared {
40   int _nb_refs;
41 public:
42   Shared();
43   virtual ~Shared();
44   void grab();
45   void release();
46 };
47
48 #endif