summaryrefslogtreecommitdiffstats
path: root/c++/src/H5RefCounter.h
blob: dec1b3c1373e2da5aaf7aecdb3155088195cc4fb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#ifndef _H5RefCounter_H
#define _H5RefCounter_H

#ifndef H5_NO_NAMESPACE
namespace H5 {
#endif

class RefCounter {
   public:
	// Creates a reference counter to be used by an HDF5 object
	RefCounter();

        int getCounter () const;
        void increment();
        void decrement();

	// this bool function is used to determine whether to close an
	// HDF5 object when there are no more reference to that object
	bool noReference();

	~RefCounter();

   private:
	int counter; // keeps track of number of copies of an object
};
#ifndef H5_NO_NAMESPACE
}
#endif
#endif