diff options
author | Binh-Minh Ribler <bmribler@hdfgroup.org> | 2000-12-07 00:04:08 (GMT) |
---|---|---|
committer | Binh-Minh Ribler <bmribler@hdfgroup.org> | 2000-12-07 00:04:08 (GMT) |
commit | f148ff3caf533e9f6029798617f0a8087bcd6c05 (patch) | |
tree | 00bb6ca4d0e50aa0e591eed6a0d739c04c93c5e7 /c++/src/H5RefCounter.cpp | |
parent | 7df8cd5cfe22372f603ea058334647fe4017008e (diff) | |
download | hdf5-f148ff3caf533e9f6029798617f0a8087bcd6c05.zip hdf5-f148ff3caf533e9f6029798617f0a8087bcd6c05.tar.gz hdf5-f148ff3caf533e9f6029798617f0a8087bcd6c05.tar.bz2 |
[svn-r3080]
Purpose:
Support portability
Description:
I forgot that source file extension .C will not work on Windows.
Solution:
Changed all source file from *.C to *.cpp for portability.
Platforms tested:
arabica (sparc-sun-solaris 2.7)
Diffstat (limited to 'c++/src/H5RefCounter.cpp')
-rw-r--r-- | c++/src/H5RefCounter.cpp | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/c++/src/H5RefCounter.cpp b/c++/src/H5RefCounter.cpp new file mode 100644 index 0000000..6167642 --- /dev/null +++ b/c++/src/H5RefCounter.cpp @@ -0,0 +1,35 @@ +#include "H5RefCounter.h" + +#ifndef H5_NO_NAMESPACE +namespace H5 { +using namespace std; +#endif + +// Creates a reference counter to be used by an HDF5 object +RefCounter::RefCounter() : counter(1) { } + +// Returns the current value of the reference counter +int RefCounter::getCounter () const { return counter; } + +// Increments the reference counter as a copy of the object that uses +// this counter is created. +void RefCounter::increment() { counter++; } + +// Decrements the reference counter as a copy of the object that uses +// this counter is destroyed. +void RefCounter::decrement() { counter--; } + +// Decrements the reference counter then determines if there are no more +// reference to the object that uses this counter +bool RefCounter::noReference() +{ + if( counter > 0 ) + counter--; + return( counter == 0 ? true:false ); +} + +RefCounter::~RefCounter() {} + +#ifndef H5_NO_NAMESPACE +} // end namespace +#endif |