summaryrefslogtreecommitdiffstats
path: root/c++/src/H5RefCounter.h
diff options
context:
space:
mode:
Diffstat (limited to 'c++/src/H5RefCounter.h')
-rw-r--r--c++/src/H5RefCounter.h29
1 files changed, 29 insertions, 0 deletions
diff --git a/c++/src/H5RefCounter.h b/c++/src/H5RefCounter.h
new file mode 100644
index 0000000..dec1b3c
--- /dev/null
+++ b/c++/src/H5RefCounter.h
@@ -0,0 +1,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