[svn-r8602] Purpose:

Code update

Description:
    Update C++ wrappers to use new ID reference counting mechanisms.

Platforms tested:
    FreeBSD 4.9 (sleipnir) w/C++
    Too focused to require h5committest
This commit is contained in:
Quincey Koziol 2004-06-01 09:47:19 -05:00
parent 1ec351813b
commit 2ca10d0ace
33 changed files with 1603 additions and 1883 deletions

File diff suppressed because it is too large Load Diff

View File

@ -15,7 +15,6 @@
#include <string>
#include "H5Include.h"
#include "H5RefCounter.h"
#include "H5Exception.h"
#include "H5IdComponent.h"
#include "H5PropList.h"

View File

@ -15,7 +15,6 @@
#include <string>
#include "H5Include.h"
#include "H5RefCounter.h"
#include "H5Exception.h"
#include "H5IdComponent.h"
#include "H5PropList.h"

View File

@ -21,9 +21,7 @@
#include "H5Include.h"
#include "H5Exception.h"
#include "H5RefCounter.h"
#include "H5IdComponent.h"
#include "H5Idtemplates.h"
#include "H5PropList.h"
#include "H5Object.h"
#include "H5AbstractDs.h"
@ -276,8 +274,9 @@ Attribute::~Attribute()
{
// The attribute id will be closed properly
try {
resetIdComponent( this ); }
catch (Exception close_error) { // thrown by p_close
decRefCount();
}
catch (Exception close_error) {
cerr << "Attribute::~Attribute - " << close_error.getDetailMsg() << endl;
}
}

View File

@ -15,7 +15,6 @@
#include <string>
#include "H5Include.h"
#include "H5RefCounter.h"
#include "H5Exception.h"
#include "H5IdComponent.h"
#include "H5PropList.h"

View File

@ -15,7 +15,6 @@
#include <string>
#include "H5Include.h"
#include "H5RefCounter.h"
#include "H5Exception.h"
#include "H5IdComponent.h"
#include "H5PropList.h"

View File

@ -17,7 +17,6 @@
#define _H5CPP_H
#include "H5Include.h"
#include "H5RefCounter.h"
#include "H5Exception.h"
#include "H5IdComponent.h"
#include "H5DataSpace.h"

View File

@ -20,10 +20,8 @@
#endif
#include "H5Include.h"
#include "H5RefCounter.h"
#include "H5Exception.h"
#include "H5IdComponent.h"
#include "H5Idtemplates.h"
#include "H5PropList.h"
#include "H5Object.h"
#include "H5PropList.h"
@ -506,8 +504,9 @@ DataSet::~DataSet()
{
// The dataset id will be closed properly
try {
resetIdComponent( this ); }
catch (Exception close_error) { // thrown by p_close
decRefCount();
}
catch (Exception close_error) {
cerr << "DataSet::~DataSet - " << close_error.getDetailMsg() << endl;
}
}

View File

@ -21,9 +21,7 @@
#include "H5Include.h"
#include "H5Exception.h"
#include "H5RefCounter.h"
#include "H5IdComponent.h"
#include "H5Idtemplates.h"
#include "H5DataSpace.h"
#ifndef H5_NO_NAMESPACE
@ -103,22 +101,20 @@ void DataSpace::copy( const DataSpace& like_space )
{
// reset the identifier of this instance - send 'this' in so that
// H5Sclose can be called appropriately
try {
resetIdComponent( this ); }
catch (Exception close_error) { // thrown by p_close
throw DataSpaceIException("DataSpace::copy", close_error.getDetailMsg());
}
if( id != H5S_ALL ) { // not a constant, should call H5Sclose
try {
decRefCount();
}
catch (Exception close_error) {
throw DataSpaceIException("DataSpace::copy", close_error.getDetailMsg());
}
}
// call C routine to copy the dataspace
id = H5Scopy( like_space.getId() );
// new ref counter for this id
ref_count = new RefCounter;
if( id <= 0 )
{
throw DataSpaceIException("DataSpace::copy", "H5Scopy failed");
}
}
//--------------------------------------------------------------------------
@ -541,28 +537,6 @@ void DataSpace::selectHyperslab( H5S_seloper_t op, const hsize_t *count, const h
}
}
//--------------------------------------------------------------------------
// Function: DataSpace::p_close (private)
///\brief Closes the dataspace if it is not a constant
///\exception H5::FileIException
///\note
/// This function will be obsolete because its functionality
/// is recently handled by the C library layer.
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
void DataSpace::p_close() const
{
hid_t space_id = id;
if( space_id != H5S_ALL ) // not a constant, should call H5Sclose
{
herr_t ret_value = H5Sclose( space_id );
if( ret_value < 0 )
{
throw DataSpaceIException(0, "H5Sclose failed");
}
}
}
//--------------------------------------------------------------------------
// Function: DataSpace destructor
///\brief Properly terminates access to this dataspace.
@ -571,11 +545,14 @@ void DataSpace::p_close() const
DataSpace::~DataSpace()
{
// The dataspace id will be closed properly
try {
resetIdComponent( this ); }
catch (Exception close_error) { // thrown by p_close
cerr << "DataSpace::~DataSpace - " << close_error.getDetailMsg() << endl;
}
if( id != H5S_ALL ) { // not a constant, should call H5Sclose
try {
decRefCount();
}
catch (Exception close_error) {
cerr << "DataSpace::~DataSpace - " << close_error.getDetailMsg() << endl;
}
}
}
#ifndef H5_NO_NAMESPACE

View File

@ -103,9 +103,6 @@ class H5_DLLCPP DataSpace : public IdComponent {
// or uses a default id to create a default dataspace object
DataSpace( const hid_t space_id );
// Used by the API to close the dataspace
void p_close() const;
// Default constructor
DataSpace();

View File

@ -20,10 +20,8 @@
#endif
#include "H5Include.h"
#include "H5RefCounter.h"
#include "H5Exception.h"
#include "H5IdComponent.h"
#include "H5Idtemplates.h"
#include "H5PropList.h"
#include "H5Object.h"
#include "H5DataSpace.h"
@ -99,22 +97,20 @@ void DataType::copy( const DataType& like_type )
{
// reset the identifier of this instance, H5Tclose will be called
// if needed
try {
resetIdComponent( this ); }
catch (Exception close_error) { // thrown by p_close
throw DataTypeIException("DataType::copy", close_error.getDetailMsg());
if( is_predtype == false ) {
try {
decRefCount();
}
catch (Exception close_error) {
throw DataTypeIException("DataType::copy", close_error.getDetailMsg());
}
}
// call C routine to copy the datatype
id = H5Tcopy( like_type.getId() );
// new reference counter for this id
ref_count = new RefCounter;
if( id <= 0 )
{
throw DataTypeIException("DataType::copy", "H5Tcopy failed");
}
}
//--------------------------------------------------------------------------
@ -596,28 +592,6 @@ DataSpace DataType::getRegion(void *ref, H5R_type_t ref_type) const
return(dataspace);
}
//--------------------------------------------------------------------------
// Function: DataType::p_close (private)
///\brief Closes this datatype.
///\exception H5::DataTypeIException
///\note
/// This function will be obsolete because its functionality
/// is recently handled by the C library layer.
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
void DataType::p_close() const
{
// If this datatype is not a predefined type, call H5Tclose on it.
if( is_predtype == false )
{
herr_t ret_value = H5Tclose( id );
if( ret_value < 0 )
{
throw DataTypeIException(0, "H5Tclose failed");
}
}
}
//--------------------------------------------------------------------------
// Function: DataType destructor
///\brief Properly terminates access to this datatype.
@ -626,10 +600,13 @@ void DataType::p_close() const
DataType::~DataType()
{
// The datatype id will be closed properly
try {
resetIdComponent( this ); }
catch (Exception close_error) { // thrown by p_close
cerr << "DataType::~DataType - " << close_error.getDetailMsg() << endl;
if( is_predtype == false ) {
try {
decRefCount();
}
catch (Exception close_error) {
cerr << "DataType::~DataType - " << close_error.getDetailMsg() << endl;
}
}
}

View File

@ -100,9 +100,6 @@ class H5_DLLCPP DataType : public H5Object {
// Retrieves a dataspace with the region pointed to selected.
DataSpace getRegion(void *ref, H5R_type_t ref_type = H5R_DATASET_REGION) const;
// Used by the API to appropriately close a datatype
void p_close() const;
// Creates a copy of an existing DataType using its id
DataType( const hid_t type_id, bool predtype = false );

View File

@ -15,7 +15,6 @@
#include <string>
#include "H5Include.h"
#include "H5RefCounter.h"
#include "H5Exception.h"
#include "H5IdComponent.h"
#include "H5PropList.h"

View File

@ -15,7 +15,6 @@
#include <string>
#include "H5Include.h"
#include "H5RefCounter.h"
#include "H5Exception.h"
#include "H5IdComponent.h"
#include "H5PropList.h"

View File

@ -15,7 +15,6 @@
#include <string>
#include "H5Include.h"
#include "H5RefCounter.h"
#include "H5Exception.h"
#include "H5IdComponent.h"
#include "H5PropList.h"

View File

@ -15,7 +15,6 @@
#include <string>
#include "H5Include.h"
#include "H5RefCounter.h"
#include "H5Exception.h"
#include "H5IdComponent.h"
#include "H5PropList.h"

View File

@ -15,7 +15,6 @@
#include <string>
#include "H5Include.h"
#include "H5RefCounter.h"
#include "H5Exception.h"
#include "H5IdComponent.h"
#include "H5PropList.h"

View File

@ -20,10 +20,8 @@
#endif
#include "H5Include.h"
#include "H5RefCounter.h"
#include "H5Exception.h"
#include "H5IdComponent.h"
#include "H5Idtemplates.h"
#include "H5PropList.h"
#include "H5Object.h"
#include "H5FaccProp.h"
@ -191,8 +189,9 @@ void H5File::reopen()
// reset the identifier of this H5File - send 'this' in so that
// H5Fclose can be called appropriately
try {
resetIdComponent( this ); }
catch (Exception close_error) { // thrown by p_close
decRefCount();
}
catch (Exception close_error) {
throw FileIException("H5File::reopen", close_error.getDetailMsg());
}
@ -200,9 +199,7 @@ void H5File::reopen()
// does id need to be closed later? which id to be the parameter?
id = H5Freopen( id );
if( id <= 0 ) // Raise exception when H5Freopen returns a neg value
{
throw FileIException("H5File::reopen", "H5Freopen failed");
}
}
//--------------------------------------------------------------------------
@ -532,8 +529,9 @@ H5File::~H5File()
{
// The HDF5 file id will be closed properly
try {
resetIdComponent( this ); }
catch (Exception close_error) { // thrown by p_close
decRefCount();
}
catch (Exception close_error) {
cerr << "H5File::~H5File - " << close_error.getDetailMsg() << endl;
}
}

View File

@ -15,7 +15,6 @@
#include <string>
#include "H5Include.h"
#include "H5RefCounter.h"
#include "H5Exception.h"
#include "H5IdComponent.h"
#include "H5PropList.h"

View File

@ -20,10 +20,8 @@
#endif
#include "H5Include.h"
#include "H5RefCounter.h"
#include "H5Exception.h"
#include "H5IdComponent.h"
#include "H5Idtemplates.h"
#include "H5PropList.h"
#include "H5Object.h"
#include "H5AbstractDs.h"
@ -194,23 +192,6 @@ void* Group::Reference(const char* name) const
{
return(p_reference(name, -1, H5R_OBJECT));
}
//--------------------------------------------------------------------------
// Function: Group::p_close (private)
///\brief Closes this group.
///\exception H5::GroupIException
///\note
/// This function will be obsolete because its functionality
/// is recently handled by the C library layer.
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
void Group::p_close() const
{
herr_t ret_value = H5Gclose( id );
if( ret_value < 0 )
{
throw GroupIException(0, "H5Gclose failed");
}
}
//--------------------------------------------------------------------------
// Function: Group::getObjType
@ -275,8 +256,9 @@ Group::~Group()
{
// The group id will be closed properly
try {
resetIdComponent( this ); }
catch (Exception close_error) { // thrown by p_close
decRefCount();
}
catch (Exception close_error) {
cerr << "Group::~Group - " << close_error.getDetailMsg() << endl;
}
}

View File

@ -62,10 +62,6 @@ class H5_DLLCPP Group : public H5Object, public CommonFG {
// Throw group exception
virtual void throwException(const string func_name, const string msg) const;
// Used by the API to appropriately close a group
void p_close() const;
virtual ~Group();
// Creates a copy of an existing Group using its id

View File

@ -15,11 +15,9 @@
#include <string>
#include "H5Include.h"
#include "H5RefCounter.h"
#include "H5Exception.h"
#include "H5Library.h"
#include "H5IdComponent.h"
#include "H5Idtemplates.h"
#ifndef H5_NO_NAMESPACE
namespace H5 {
@ -32,8 +30,6 @@ namespace H5 {
//--------------------------------------------------------------------------
IdComponent::IdComponent() : id( -1 )
{
// starts counting object references
ref_count = new RefCounter;
}
//--------------------------------------------------------------------------
@ -46,8 +42,6 @@ IdComponent::IdComponent() : id( -1 )
IdComponent::IdComponent( const hid_t h5_id ) : id( h5_id )
{
// starts counting object references
ref_count = new RefCounter;
}
//--------------------------------------------------------------------------
@ -59,8 +53,7 @@ IdComponent::IdComponent( const hid_t h5_id ) : id( h5_id )
IdComponent::IdComponent( const IdComponent& original )
{
id = original.id;
ref_count = original.ref_count; // points to the same ref counter
ref_count->increment(); // increment number of references to this id
H5Iinc_ref(id); // increment number of references to this id
}
//--------------------------------------------------------------------------
@ -68,14 +61,19 @@ IdComponent::IdComponent( const IdComponent& original )
///\brief Increment id reference counter.
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
void IdComponent::incRefCount() { ref_count->increment(); }
void IdComponent::incRefCount() { H5Iinc_ref(id); }
//--------------------------------------------------------------------------
// Function: IdComponent::decRefCount
///\brief Decrement id reference counter.
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
void IdComponent::decRefCount() { ref_count->decrement(); }
void IdComponent::decRefCount()
{
if(id>0)
if(H5Idec_ref(id)<0)
throw IdComponentException("IdComponent::decRefCount", "decrementing object ref count failed");
}
//--------------------------------------------------------------------------
// Function: IdComponent::getCounter
@ -83,22 +81,7 @@ void IdComponent::decRefCount() { ref_count->decrement(); }
///\return Reference count
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
int IdComponent::getCounter() { return( ref_count->getCounter()); }
//--------------------------------------------------------------------------
// Function: IdComponent::noReference
///\brief Decrements the reference counter then determines if there
/// are no more reference to this object.
///\return true if there are no more reference to this object, and false,
/// otherwise
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
bool IdComponent::noReference()
{
if( ref_count->getCounter() > 0 )
ref_count->decrement();
return( ref_count->getCounter() == 0 ? true:false );
}
int IdComponent::getCounter() { return( H5Iget_ref(id)); }
//--------------------------------------------------------------------------
// Function: IdComponent::operator=
@ -116,20 +99,14 @@ bool IdComponent::noReference()
//--------------------------------------------------------------------------
IdComponent& IdComponent::operator=( const IdComponent& rhs )
{
// reset the identifier of this object - resetIdComponent will call the
// appropriate H5xclose to close the id
try {
resetIdComponent( this ); }
catch (Exception close_error) { // thrown by p_close
throw IdComponentException("IdComponent::operator=", close_error.getDetailMsg());
}
// reset the identifier of this object, call appropriate H5Xclose
decRefCount();
// copy the data members from the rhs object
id = rhs.id;
ref_count = rhs.ref_count; // points to the same ref counter
// increment the reference counter
ref_count->increment();
H5Iinc_ref(id);
return( *this );
}
@ -149,16 +126,9 @@ IdComponent& IdComponent::operator=( const IdComponent& rhs )
void IdComponent::setId( hid_t new_id )
{
// reset the identifier of this object, call appropriate H5Xclose
try {
resetIdComponent( this ); }
catch (Exception close_error) { // thrown by p_close
throw IdComponentException("IdComponent::setId", close_error.getDetailMsg());
}
decRefCount();
id = new_id;
// starts counting object references
ref_count = new RefCounter;
}
//--------------------------------------------------------------------------
@ -172,17 +142,6 @@ hid_t IdComponent::getId () const
return( id );
}
//--------------------------------------------------------------------------
// Function: IdComponent::reset
///\brief Reset the reference counter of this object.
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
void IdComponent::reset ()
{
delete ref_count;
ref_count = NULL;
}
//--------------------------------------------------------------------------
// Function: IdComponent destructor
///\brief Noop destructor.

View File

@ -29,10 +29,6 @@ class H5_DLLCPP IdComponent {
// before setting new id to control reference count
void setId( hid_t new_id );
// Pure virtual function so appropriate close function can
// be called by subclasses' for the corresponding object
virtual void p_close() const = 0;
// Creates an object to hold an HDF5 identifier
IdComponent( const hid_t h5_id );
@ -51,10 +47,6 @@ class H5_DLLCPP IdComponent {
// Get the reference counter to this identifier
int getCounter();
// Decrements the reference counter then determines if there are no more
// reference to this object
bool noReference();
// Assignment operator
IdComponent& operator=( const IdComponent& rhs );
@ -66,8 +58,6 @@ class H5_DLLCPP IdComponent {
protected:
hid_t id; // HDF5 object id
RefCounter* ref_count; // used to keep track of the
// number of copies of an object
// Default constructor
IdComponent();

View File

@ -1,47 +0,0 @@
// C++ informative line for the emacs editor: -*- C++ -*-
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* Copyright by the Board of Trustees of the University of Illinois. *
* All rights reserved. *
* *
* This file is part of HDF5. The full HDF5 copyright notice, including *
* terms governing use, modification, and redistribution, is contained in *
* the files COPYING and Copyright.html. COPYING can be found at the root *
* of the source code distribution tree; Copyright.html can be found at the *
* root level of an installed copy of the electronic HDF5 document set and *
* is linked from the top-level documents page. It can also be found at *
* http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html. If you do not have *
* access to either file, you may request a copy from hdfhelp@ncsa.uiuc.edu. *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
#ifndef _H5Idtemplates_h
#define _H5Idtemplates_h
#include "H5IdComponent.h"
#ifndef H5_NO_NAMESPACE
namespace H5 {
#endif
// Older compilers (baldric) don't support template member functions
// and IdComponent::reset is one; so at this time, the resetId is not
// a member function so it can be template to work around that problem.
template <class Type>
H5_DLLCPP void resetIdComponent(
Type* obj ) // pointer to object to be reset
{
if( obj->noReference()) // ref count of this object is decremented here
{
if( obj->getId() > 0 )
{
obj->p_close(); // which p_close depends on whom this
// IdComponent object belongs to
}
obj->reset(); // delete ref_count from IdComponent
}
}
#ifndef H5_NO_NAMESPACE
}
#endif
#endif

View File

@ -15,7 +15,6 @@
#include <string>
#include "H5Include.h"
#include "H5RefCounter.h"
#include "H5Exception.h"
#include "H5IdComponent.h"
#include "H5PropList.h"

View File

@ -15,10 +15,8 @@
#include <string>
#include "H5Include.h"
#include "H5RefCounter.h"
#include "H5Exception.h"
#include "H5IdComponent.h"
#include "H5Idtemplates.h"
#include "H5PropList.h"
#include "H5Object.h"
#include "H5DataType.h"

View File

@ -15,7 +15,6 @@
#include <string>
#include "H5Include.h"
#include "H5RefCounter.h"
#include "H5Exception.h"
#include "H5IdComponent.h"
#include "H5PropList.h"

View File

@ -20,10 +20,8 @@
#endif
#include "H5Include.h"
#include "H5RefCounter.h"
#include "H5Exception.h"
#include "H5IdComponent.h"
#include "H5Idtemplates.h"
#include "H5PropList.h"
#ifndef H5_NO_NAMESPACE
@ -89,21 +87,17 @@ void PropList::copy( const PropList& like_plist )
// reset the identifier of this PropList - send 'this' in so that
// H5Pclose can be called appropriately
try {
resetIdComponent( this ); }
catch (Exception close_error) { // thrown by p_close
decRefCount();
}
catch (Exception close_error) {
throw PropListIException("PropList::copy", close_error.getDetailMsg());
}
// call C routine to copy the property list
id = H5Pcopy( like_plist.getId() );
// points to the same ref counter
ref_count = new RefCounter;
if( id <= 0 )
{
throw PropListIException("PropList::copy", "H5Pcopy failed");
}
}
//--------------------------------------------------------------------------
@ -571,9 +565,10 @@ PropList::~PropList()
{
// The property list id will be closed properly
try {
resetIdComponent( this ); }
catch (Exception close_error) { // thrown by p_close
cerr << "PropList::~PropList" << close_error.getDetailMsg() << endl;
decRefCount();
}
catch (Exception close_error) {
cerr << "PropList::~PropList - " << close_error.getDetailMsg() << endl;
}
}

View File

@ -1,49 +0,0 @@
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* Copyright by the Board of Trustees of the University of Illinois. *
* All rights reserved. *
* *
* This file is part of HDF5. The full HDF5 copyright notice, including *
* terms governing use, modification, and redistribution, is contained in *
* the files COPYING and Copyright.html. COPYING can be found at the root *
* of the source code distribution tree; Copyright.html can be found at the *
* root level of an installed copy of the electronic HDF5 document set and *
* is linked from the top-level documents page. It can also be found at *
* http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html. If you do not have *
* access to either file, you may request a copy from hdfhelp@ncsa.uiuc.edu. *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
#include "H5Include.h"
#include "H5RefCounter.h"
#ifndef H5_NO_NAMESPACE
namespace H5 {
#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

View File

@ -1,60 +0,0 @@
// C++ informative line for the emacs editor: -*- C++ -*-
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* Copyright by the Board of Trustees of the University of Illinois. *
* All rights reserved. *
* *
* This file is part of HDF5. The full HDF5 copyright notice, including *
* terms governing use, modification, and redistribution, is contained in *
* the files COPYING and Copyright.html. COPYING can be found at the root *
* of the source code distribution tree; Copyright.html can be found at the *
* root level of an installed copy of the electronic HDF5 document set and *
* is linked from the top-level documents page. It can also be found at *
* http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html. If you do not have *
* access to either file, you may request a copy from hdfhelp@ncsa.uiuc.edu. *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
#ifndef _H5RefCounter_H
#define _H5RefCounter_H
#ifndef H5_NO_NAMESPACE
namespace H5 {
#endif
// define bool type for platforms that don't support bool yet
// Note: it is added here because most of the C++ library source
// files include this header file
#ifdef BOOL_NOTDEFINED
#ifdef false
#undef false
#endif
#ifdef true
#undef true
#endif
typedef int bool;
const bool false = 0;
const bool true = 1;
#endif
class H5_DLLCPP 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

View File

@ -15,7 +15,6 @@
#include <string>
#include "H5Include.h"
#include "H5RefCounter.h"
#include "H5Exception.h"
#include "H5IdComponent.h"
#include "H5PropList.h"

View File

@ -32,7 +32,7 @@ CPPFLAGS=-I. -I$(hdf5_builddir) -I$(hdf5_srcdir) @CPPFLAGS@
LIB=libhdf5_cpp.la
## Source and object files for the library
LIB_SRC=H5Exception.cpp H5RefCounter.cpp H5IdComponent.cpp H5Library.cpp \
LIB_SRC=H5Exception.cpp H5IdComponent.cpp H5Library.cpp \
H5Attribute.cpp H5Object.cpp H5PropList.cpp H5FaccProp.cpp \
H5FcreatProp.cpp H5DcreatProp.cpp H5DxferProp.cpp H5DataType.cpp \
H5DataSpace.cpp H5AbstractDs.cpp H5AtomType.cpp H5PredType.cpp \
@ -45,7 +45,7 @@ PUB_HDR=H5Cpp.h H5AbstractDs.h H5AtomType.h H5Attribute.h H5Classes.h
H5DcreatProp.h H5DxferProp.h H5EnumType.h H5Exception.h H5FaccProp.h \
H5FcreatProp.h H5File.h H5FloatType.h H5Group.h H5IdComponent.h \
H5Include.h H5IntType.h H5Library.h H5Object.h H5PredType.h \
H5PropList.h H5RefCounter.h H5StrType.h
H5PropList.h H5StrType.h
PUB_PROGS=h5c++
ARFLAGS=rs

View File

@ -1,339 +1,336 @@
## This file is machine generated on GNU systems.
## Only temporary changes may be made here.
dsets.lo: \
$(top_srcdir)/c++/test/dsets.cpp \
$(top_srcdir)/c++/src/H5Cpp.h \
$(top_srcdir)/c++/src/H5Include.h \
$(top_srcdir)/src/H5api_adpt.h \
$(top_srcdir)/src/H5Ipublic.h \
$(top_srcdir)/src/H5Apublic.h \
$(top_srcdir)/src/H5ACpublic.h \
$(top_srcdir)/src/H5Bpublic.h \
$(top_srcdir)/src/H5Dpublic.h \
$(top_srcdir)/src/H5Epublic.h \
$(top_srcdir)/src/H5Epubgen.h \
$(top_srcdir)/src/H5Fpublic.h \
$(top_srcdir)/src/H5FDpublic.h \
$(top_srcdir)/src/H5FPpublic.h \
$(top_srcdir)/src/H5Gpublic.h \
$(top_srcdir)/src/H5Opublic.h \
$(top_srcdir)/src/H5HGpublic.h \
$(top_srcdir)/src/H5HLpublic.h \
$(top_srcdir)/src/H5MMpublic.h \
$(top_srcdir)/src/H5Ppublic.h \
$(top_srcdir)/src/H5Zpublic.h \
$(top_srcdir)/src/H5Rpublic.h \
$(top_srcdir)/src/H5Spublic.h \
$(top_srcdir)/src/H5Tpublic.h \
$(top_srcdir)/src/H5FDcore.h \
$(top_srcdir)/src/H5FDfamily.h \
$(top_srcdir)/src/H5FDfphdf5.h \
$(top_srcdir)/src/H5FDmpio.h \
$(top_srcdir)/src/H5FDgass.h \
$(top_srcdir)/src/H5FDlog.h \
$(top_srcdir)/src/H5FDmpiposix.h \
$(top_srcdir)/src/H5FDmulti.h \
$(top_srcdir)/src/H5FDsec2.h \
$(top_srcdir)/src/H5FDsrb.h \
$(top_srcdir)/src/H5FDstdio.h \
$(top_srcdir)/src/H5FDstream.h \
$(top_srcdir)/c++/src/H5RefCounter.h \
$(top_srcdir)/c++/src/H5Exception.h \
$(top_srcdir)/c++/src/H5IdComponent.h \
$(top_srcdir)/c++/src/H5DataSpace.h \
$(top_srcdir)/c++/src/H5PropList.h \
$(top_srcdir)/c++/src/H5Object.h \
$(top_srcdir)/c++/src/H5Classes.h \
$(top_srcdir)/c++/src/H5AbstractDs.h \
$(top_srcdir)/c++/src/H5Attribute.h \
$(top_srcdir)/c++/src/H5DataType.h \
$(top_srcdir)/c++/src/H5DcreatProp.h \
$(top_srcdir)/c++/src/H5DxferProp.h \
$(top_srcdir)/c++/src/H5FaccProp.h \
$(top_srcdir)/c++/src/H5FcreatProp.h \
$(top_srcdir)/c++/src/H5AtomType.h \
$(top_srcdir)/c++/src/H5PredType.h \
$(top_srcdir)/c++/src/H5EnumType.h \
$(top_srcdir)/c++/src/H5IntType.h \
$(top_srcdir)/c++/src/H5FloatType.h \
$(top_srcdir)/c++/src/H5StrType.h \
$(top_srcdir)/c++/src/H5CompType.h \
$(top_srcdir)/c++/src/H5DataSet.h \
$(top_srcdir)/c++/src/H5CommonFG.h \
$(top_srcdir)/c++/src/H5Group.h \
$(top_srcdir)/c++/src/H5File.h \
$(top_srcdir)/c++/src/H5Library.h \
$(top_srcdir)/test/h5test.h \
$(top_srcdir)/src/H5private.h \
$(top_srcdir)/src/H5MPprivate.h \
$(top_srcdir)/src/H5FSprivate.h \
$(top_srcdir)/src/H5Tpkg.h \
$(top_srcdir)/src/H5Tprivate.h \
$(top_srcdir)/src/H5Gprivate.h \
$(top_srcdir)/src/H5Bprivate.h \
$(top_srcdir)/src/H5ACprivate.h \
$(top_srcdir)/src/H5Fprivate.h \
$(top_srcdir)/src/H5RSprivate.h \
$(top_srcdir)/src/H5Rprivate.h \
$(top_srcdir)/test/testhdf5.h \
$(top_srcdir)/src/H5Eprivate.h \
$(top_srcdir)/c++/test/h5cpputil.h
testhdf5.lo: \
$(top_srcdir)/c++/test/testhdf5.cpp \
$(top_srcdir)/test/testhdf5.h \
$(top_srcdir)/src/H5private.h \
$(top_srcdir)/src/H5public.h \
$(top_builddir)/src/H5pubconf.h \
$(top_srcdir)/src/H5api_adpt.h \
$(top_srcdir)/src/H5MPprivate.h \
$(top_srcdir)/src/H5FSprivate.h \
$(top_srcdir)/src/H5Eprivate.h \
$(top_srcdir)/src/H5Epublic.h \
$(top_srcdir)/src/H5Ipublic.h \
$(top_srcdir)/src/H5Epubgen.h \
$(top_srcdir)/c++/src/H5Cpp.h \
$(top_srcdir)/c++/src/H5Include.h \
$(top_srcdir)/src/H5Apublic.h \
$(top_srcdir)/src/H5ACpublic.h \
$(top_srcdir)/src/H5Bpublic.h \
$(top_srcdir)/src/H5Dpublic.h \
$(top_srcdir)/src/H5Fpublic.h \
$(top_srcdir)/src/H5FDpublic.h \
$(top_srcdir)/src/H5FPpublic.h \
$(top_srcdir)/src/H5Gpublic.h \
$(top_srcdir)/src/H5Opublic.h \
$(top_srcdir)/src/H5HGpublic.h \
$(top_srcdir)/src/H5HLpublic.h \
$(top_srcdir)/src/H5MMpublic.h \
$(top_srcdir)/src/H5Ppublic.h \
$(top_srcdir)/src/H5Zpublic.h \
$(top_srcdir)/src/H5Rpublic.h \
$(top_srcdir)/src/H5Spublic.h \
$(top_srcdir)/src/H5Tpublic.h \
$(top_srcdir)/src/H5FDcore.h \
$(top_srcdir)/src/H5FDfamily.h \
$(top_srcdir)/src/H5FDfphdf5.h \
$(top_srcdir)/src/H5FDmpio.h \
$(top_srcdir)/src/H5FDgass.h \
$(top_srcdir)/src/H5FDlog.h \
$(top_srcdir)/src/H5FDmpiposix.h \
$(top_srcdir)/src/H5FDmulti.h \
$(top_srcdir)/src/H5FDsec2.h \
$(top_srcdir)/src/H5FDsrb.h \
$(top_srcdir)/src/H5FDstdio.h \
$(top_srcdir)/src/H5FDstream.h \
$(top_srcdir)/c++/src/H5RefCounter.h \
$(top_srcdir)/c++/src/H5Exception.h \
$(top_srcdir)/c++/src/H5IdComponent.h \
$(top_srcdir)/c++/src/H5DataSpace.h \
$(top_srcdir)/c++/src/H5PropList.h \
$(top_srcdir)/c++/src/H5Object.h \
$(top_srcdir)/c++/src/H5Classes.h \
$(top_srcdir)/c++/src/H5AbstractDs.h \
$(top_srcdir)/c++/src/H5Attribute.h \
$(top_srcdir)/c++/src/H5DataType.h \
$(top_srcdir)/c++/src/H5DcreatProp.h \
$(top_srcdir)/c++/src/H5DxferProp.h \
$(top_srcdir)/c++/src/H5FaccProp.h \
$(top_srcdir)/c++/src/H5FcreatProp.h \
$(top_srcdir)/c++/src/H5AtomType.h \
$(top_srcdir)/c++/src/H5PredType.h \
$(top_srcdir)/c++/src/H5EnumType.h \
$(top_srcdir)/c++/src/H5IntType.h \
$(top_srcdir)/c++/src/H5FloatType.h \
$(top_srcdir)/c++/src/H5StrType.h \
$(top_srcdir)/c++/src/H5CompType.h \
$(top_srcdir)/c++/src/H5DataSet.h \
$(top_srcdir)/c++/src/H5CommonFG.h \
$(top_srcdir)/c++/src/H5Group.h \
$(top_srcdir)/c++/src/H5File.h \
$(top_srcdir)/c++/src/H5Library.h \
$(top_srcdir)/c++/test/h5cpputil.h
tfile.lo: \
$(top_srcdir)/c++/test/tfile.cpp \
$(top_srcdir)/c++/src/H5Cpp.h \
$(top_srcdir)/c++/src/H5Include.h \
$(top_srcdir)/src/H5api_adpt.h \
$(top_srcdir)/src/H5Ipublic.h \
$(top_srcdir)/src/H5Apublic.h \
$(top_srcdir)/src/H5ACpublic.h \
$(top_srcdir)/src/H5Bpublic.h \
$(top_srcdir)/src/H5Dpublic.h \
$(top_srcdir)/src/H5Epublic.h \
$(top_srcdir)/src/H5Epubgen.h \
$(top_srcdir)/src/H5Fpublic.h \
$(top_srcdir)/src/H5FDpublic.h \
$(top_srcdir)/src/H5FPpublic.h \
$(top_srcdir)/src/H5Gpublic.h \
$(top_srcdir)/src/H5Opublic.h \
$(top_srcdir)/src/H5HGpublic.h \
$(top_srcdir)/src/H5HLpublic.h \
$(top_srcdir)/src/H5MMpublic.h \
$(top_srcdir)/src/H5Ppublic.h \
$(top_srcdir)/src/H5Zpublic.h \
$(top_srcdir)/src/H5Rpublic.h \
$(top_srcdir)/src/H5Spublic.h \
$(top_srcdir)/src/H5Tpublic.h \
$(top_srcdir)/src/H5FDcore.h \
$(top_srcdir)/src/H5FDfamily.h \
$(top_srcdir)/src/H5FDfphdf5.h \
$(top_srcdir)/src/H5FDmpio.h \
$(top_srcdir)/src/H5FDgass.h \
$(top_srcdir)/src/H5FDlog.h \
$(top_srcdir)/src/H5FDmpiposix.h \
$(top_srcdir)/src/H5FDmulti.h \
$(top_srcdir)/src/H5FDsec2.h \
$(top_srcdir)/src/H5FDsrb.h \
$(top_srcdir)/src/H5FDstdio.h \
$(top_srcdir)/src/H5FDstream.h \
$(top_srcdir)/c++/src/H5RefCounter.h \
$(top_srcdir)/c++/src/H5Exception.h \
$(top_srcdir)/c++/src/H5IdComponent.h \
$(top_srcdir)/c++/src/H5DataSpace.h \
$(top_srcdir)/c++/src/H5PropList.h \
$(top_srcdir)/c++/src/H5Object.h \
$(top_srcdir)/c++/src/H5Classes.h \
$(top_srcdir)/c++/src/H5AbstractDs.h \
$(top_srcdir)/c++/src/H5Attribute.h \
$(top_srcdir)/c++/src/H5DataType.h \
$(top_srcdir)/c++/src/H5DcreatProp.h \
$(top_srcdir)/c++/src/H5DxferProp.h \
$(top_srcdir)/c++/src/H5FaccProp.h \
$(top_srcdir)/c++/src/H5FcreatProp.h \
$(top_srcdir)/c++/src/H5AtomType.h \
$(top_srcdir)/c++/src/H5PredType.h \
$(top_srcdir)/c++/src/H5EnumType.h \
$(top_srcdir)/c++/src/H5IntType.h \
$(top_srcdir)/c++/src/H5FloatType.h \
$(top_srcdir)/c++/src/H5StrType.h \
$(top_srcdir)/c++/src/H5CompType.h \
$(top_srcdir)/c++/src/H5DataSet.h \
$(top_srcdir)/c++/src/H5CommonFG.h \
$(top_srcdir)/c++/src/H5Group.h \
$(top_srcdir)/c++/src/H5File.h \
$(top_srcdir)/c++/src/H5Library.h \
$(top_srcdir)/test/testhdf5.h \
$(top_srcdir)/src/H5private.h \
$(top_srcdir)/src/H5MPprivate.h \
$(top_srcdir)/src/H5FSprivate.h \
$(top_srcdir)/src/H5Eprivate.h
th5s.lo: \
$(top_srcdir)/c++/test/th5s.cpp \
$(top_srcdir)/c++/src/H5Cpp.h \
$(top_srcdir)/c++/src/H5Include.h \
$(top_srcdir)/src/H5api_adpt.h \
$(top_srcdir)/src/H5Ipublic.h \
$(top_srcdir)/src/H5Apublic.h \
$(top_srcdir)/src/H5ACpublic.h \
$(top_srcdir)/src/H5Bpublic.h \
$(top_srcdir)/src/H5Dpublic.h \
$(top_srcdir)/src/H5Epublic.h \
$(top_srcdir)/src/H5Epubgen.h \
$(top_srcdir)/src/H5Fpublic.h \
$(top_srcdir)/src/H5FDpublic.h \
$(top_srcdir)/src/H5FPpublic.h \
$(top_srcdir)/src/H5Gpublic.h \
$(top_srcdir)/src/H5Opublic.h \
$(top_srcdir)/src/H5HGpublic.h \
$(top_srcdir)/src/H5HLpublic.h \
$(top_srcdir)/src/H5MMpublic.h \
$(top_srcdir)/src/H5Ppublic.h \
$(top_srcdir)/src/H5Zpublic.h \
$(top_srcdir)/src/H5Rpublic.h \
$(top_srcdir)/src/H5Spublic.h \
$(top_srcdir)/src/H5Tpublic.h \
$(top_srcdir)/src/H5FDcore.h \
$(top_srcdir)/src/H5FDfamily.h \
$(top_srcdir)/src/H5FDfphdf5.h \
$(top_srcdir)/src/H5FDmpio.h \
$(top_srcdir)/src/H5FDgass.h \
$(top_srcdir)/src/H5FDlog.h \
$(top_srcdir)/src/H5FDmpiposix.h \
$(top_srcdir)/src/H5FDmulti.h \
$(top_srcdir)/src/H5FDsec2.h \
$(top_srcdir)/src/H5FDsrb.h \
$(top_srcdir)/src/H5FDstdio.h \
$(top_srcdir)/src/H5FDstream.h \
$(top_srcdir)/c++/src/H5RefCounter.h \
$(top_srcdir)/c++/src/H5Exception.h \
$(top_srcdir)/c++/src/H5IdComponent.h \
$(top_srcdir)/c++/src/H5DataSpace.h \
$(top_srcdir)/c++/src/H5PropList.h \
$(top_srcdir)/c++/src/H5Object.h \
$(top_srcdir)/c++/src/H5Classes.h \
$(top_srcdir)/c++/src/H5AbstractDs.h \
$(top_srcdir)/c++/src/H5Attribute.h \
$(top_srcdir)/c++/src/H5DataType.h \
$(top_srcdir)/c++/src/H5DcreatProp.h \
$(top_srcdir)/c++/src/H5DxferProp.h \
$(top_srcdir)/c++/src/H5FaccProp.h \
$(top_srcdir)/c++/src/H5FcreatProp.h \
$(top_srcdir)/c++/src/H5AtomType.h \
$(top_srcdir)/c++/src/H5PredType.h \
$(top_srcdir)/c++/src/H5EnumType.h \
$(top_srcdir)/c++/src/H5IntType.h \
$(top_srcdir)/c++/src/H5FloatType.h \
$(top_srcdir)/c++/src/H5StrType.h \
$(top_srcdir)/c++/src/H5CompType.h \
$(top_srcdir)/c++/src/H5DataSet.h \
$(top_srcdir)/c++/src/H5CommonFG.h \
$(top_srcdir)/c++/src/H5Group.h \
$(top_srcdir)/c++/src/H5File.h \
$(top_srcdir)/c++/src/H5Library.h \
$(top_srcdir)/test/testhdf5.h \
$(top_srcdir)/src/H5private.h \
$(top_srcdir)/src/H5MPprivate.h \
$(top_srcdir)/src/H5FSprivate.h \
$(top_srcdir)/src/H5Eprivate.h
h5cpputil.lo: \
$(top_srcdir)/c++/test/h5cpputil.cpp \
$(top_srcdir)/c++/test/h5cpputil.h \
$(top_srcdir)/test/h5test.h \
$(top_srcdir)/src/hdf5.h \
$(top_srcdir)/src/H5public.h \
$(top_builddir)/src/H5pubconf.h \
$(top_srcdir)/src/H5api_adpt.h \
$(top_srcdir)/src/H5Ipublic.h \
$(top_srcdir)/src/H5Apublic.h \
$(top_srcdir)/src/H5ACpublic.h \
$(top_srcdir)/src/H5Bpublic.h \
$(top_srcdir)/src/H5Dpublic.h \
$(top_srcdir)/src/H5Epublic.h \
$(top_srcdir)/src/H5Epubgen.h \
$(top_srcdir)/src/H5Fpublic.h \
$(top_srcdir)/src/H5FDpublic.h \
$(top_srcdir)/src/H5FPpublic.h \
$(top_srcdir)/src/H5Gpublic.h \
$(top_srcdir)/src/H5Opublic.h \
$(top_srcdir)/src/H5HGpublic.h \
$(top_srcdir)/src/H5HLpublic.h \
$(top_srcdir)/src/H5MMpublic.h \
$(top_srcdir)/src/H5Ppublic.h \
$(top_srcdir)/src/H5Zpublic.h \
$(top_srcdir)/src/H5Rpublic.h \
$(top_srcdir)/src/H5Spublic.h \
$(top_srcdir)/src/H5Tpublic.h \
$(top_srcdir)/src/H5FDcore.h \
$(top_srcdir)/src/H5FDfamily.h \
$(top_srcdir)/src/H5FDfphdf5.h \
$(top_srcdir)/src/H5FDmpio.h \
$(top_srcdir)/src/H5FDgass.h \
$(top_srcdir)/src/H5FDlog.h \
$(top_srcdir)/src/H5FDmpiposix.h \
$(top_srcdir)/src/H5FDmulti.h \
$(top_srcdir)/src/H5FDsec2.h \
$(top_srcdir)/src/H5FDsrb.h \
$(top_srcdir)/src/H5FDstdio.h \
$(top_srcdir)/src/H5FDstream.h \
$(top_srcdir)/src/H5private.h \
$(top_srcdir)/src/H5MPprivate.h \
$(top_srcdir)/src/H5FSprivate.h \
$(top_srcdir)/src/H5Tpkg.h \
$(top_srcdir)/src/H5Tprivate.h \
$(top_srcdir)/src/H5Gprivate.h \
$(top_srcdir)/src/H5Bprivate.h \
$(top_srcdir)/src/H5ACprivate.h \
$(top_srcdir)/src/H5Fprivate.h \
$(top_srcdir)/src/H5RSprivate.h \
$(top_srcdir)/src/H5Rprivate.h
dsets.o: \
../../../hdf5/./c++/test/dsets.cpp \
../../../hdf5/c++/test/../src/H5Cpp.h \
../../../hdf5/c++/test/../src/H5Include.h \
../../../hdf5/src/hdf5.h \
../../../hdf5/src/H5public.h \
../../src/H5pubconf.h \
../../../hdf5/src/H5api_adpt.h \
../../../hdf5/src/H5Apublic.h \
../../../hdf5/src/H5Ipublic.h \
../../../hdf5/src/H5ACpublic.h \
../../../hdf5/src/H5Bpublic.h \
../../../hdf5/src/H5Dpublic.h \
../../../hdf5/src/H5Epublic.h \
../../../hdf5/src/H5Epubgen.h \
../../../hdf5/src/H5Fpublic.h \
../../../hdf5/src/H5FDpublic.h \
../../../hdf5/src/H5FPpublic.h \
../../../hdf5/src/H5Gpublic.h \
../../../hdf5/src/H5Opublic.h \
../../../hdf5/src/H5HGpublic.h \
../../../hdf5/src/H5HLpublic.h \
../../../hdf5/src/H5MMpublic.h \
../../../hdf5/src/H5Ppublic.h \
../../../hdf5/src/H5Tpublic.h \
../../../hdf5/src/H5Zpublic.h \
../../../hdf5/src/H5Rpublic.h \
../../../hdf5/src/H5Spublic.h \
../../../hdf5/src/H5FDcore.h \
../../../hdf5/src/H5FDfamily.h \
../../../hdf5/src/H5FDgass.h \
../../../hdf5/src/H5FDlog.h \
../../../hdf5/src/H5FDmpi.h \
../../../hdf5/src/H5FDfphdf5.h \
../../../hdf5/src/H5FDmpio.h \
../../../hdf5/src/H5FDmpiposix.h \
../../../hdf5/src/H5FDmulti.h \
../../../hdf5/src/H5FDsec2.h \
../../../hdf5/src/H5FDsrb.h \
../../../hdf5/src/H5FDstdio.h \
../../../hdf5/src/H5FDstream.h \
../../../hdf5/c++/test/../src/H5Exception.h \
../../../hdf5/c++/test/../src/H5IdComponent.h \
../../../hdf5/c++/test/../src/H5DataSpace.h \
../../../hdf5/c++/test/../src/H5PropList.h \
../../../hdf5/c++/test/../src/H5Object.h \
../../../hdf5/c++/test/../src/H5Classes.h \
../../../hdf5/c++/test/../src/H5AbstractDs.h \
../../../hdf5/c++/test/../src/H5Attribute.h \
../../../hdf5/c++/test/../src/H5DataType.h \
../../../hdf5/c++/test/../src/H5DcreatProp.h \
../../../hdf5/c++/test/../src/H5DxferProp.h \
../../../hdf5/c++/test/../src/H5FaccProp.h \
../../../hdf5/c++/test/../src/H5FcreatProp.h \
../../../hdf5/c++/test/../src/H5AtomType.h \
../../../hdf5/c++/test/../src/H5PredType.h \
../../../hdf5/c++/test/../src/H5EnumType.h \
../../../hdf5/c++/test/../src/H5IntType.h \
../../../hdf5/c++/test/../src/H5FloatType.h \
../../../hdf5/c++/test/../src/H5StrType.h \
../../../hdf5/c++/test/../src/H5CompType.h \
../../../hdf5/c++/test/../src/H5DataSet.h \
../../../hdf5/c++/test/../src/H5CommonFG.h \
../../../hdf5/c++/test/../src/H5Group.h \
../../../hdf5/c++/test/../src/H5File.h \
../../../hdf5/c++/test/../src/H5Library.h \
../../../hdf5/test/h5test.h \
../../../hdf5/src/H5private.h \
../../../hdf5/src/H5MPprivate.h \
../../../hdf5/src/H5FSprivate.h \
../../../hdf5/test/testhdf5.h \
../../../hdf5/src/H5Eprivate.h \
../../../hdf5/c++/test/h5cpputil.h
testhdf5.o: \
../../../hdf5/./c++/test/testhdf5.cpp \
../../../hdf5/test/testhdf5.h \
../../../hdf5/src/H5private.h \
../../../hdf5/src/H5public.h \
../../src/H5pubconf.h \
../../../hdf5/src/H5api_adpt.h \
../../../hdf5/src/H5MPprivate.h \
../../../hdf5/src/H5FSprivate.h \
../../../hdf5/src/H5Eprivate.h \
../../../hdf5/src/H5Epublic.h \
../../../hdf5/src/H5Ipublic.h \
../../../hdf5/src/H5Epubgen.h \
../../../hdf5/test/h5test.h \
../../../hdf5/src/hdf5.h \
../../../hdf5/src/H5Apublic.h \
../../../hdf5/src/H5ACpublic.h \
../../../hdf5/src/H5Bpublic.h \
../../../hdf5/src/H5Dpublic.h \
../../../hdf5/src/H5Fpublic.h \
../../../hdf5/src/H5FDpublic.h \
../../../hdf5/src/H5FPpublic.h \
../../../hdf5/src/H5Gpublic.h \
../../../hdf5/src/H5Opublic.h \
../../../hdf5/src/H5HGpublic.h \
../../../hdf5/src/H5HLpublic.h \
../../../hdf5/src/H5MMpublic.h \
../../../hdf5/src/H5Ppublic.h \
../../../hdf5/src/H5Tpublic.h \
../../../hdf5/src/H5Zpublic.h \
../../../hdf5/src/H5Rpublic.h \
../../../hdf5/src/H5Spublic.h \
../../../hdf5/src/H5FDcore.h \
../../../hdf5/src/H5FDfamily.h \
../../../hdf5/src/H5FDgass.h \
../../../hdf5/src/H5FDlog.h \
../../../hdf5/src/H5FDmpi.h \
../../../hdf5/src/H5FDfphdf5.h \
../../../hdf5/src/H5FDmpio.h \
../../../hdf5/src/H5FDmpiposix.h \
../../../hdf5/src/H5FDmulti.h \
../../../hdf5/src/H5FDsec2.h \
../../../hdf5/src/H5FDsrb.h \
../../../hdf5/src/H5FDstdio.h \
../../../hdf5/src/H5FDstream.h \
../../../hdf5/c++/test/../src/H5Cpp.h \
../../../hdf5/c++/test/../src/H5Include.h \
../../../hdf5/c++/test/../src/H5Exception.h \
../../../hdf5/c++/test/../src/H5IdComponent.h \
../../../hdf5/c++/test/../src/H5DataSpace.h \
../../../hdf5/c++/test/../src/H5PropList.h \
../../../hdf5/c++/test/../src/H5Object.h \
../../../hdf5/c++/test/../src/H5Classes.h \
../../../hdf5/c++/test/../src/H5AbstractDs.h \
../../../hdf5/c++/test/../src/H5Attribute.h \
../../../hdf5/c++/test/../src/H5DataType.h \
../../../hdf5/c++/test/../src/H5DcreatProp.h \
../../../hdf5/c++/test/../src/H5DxferProp.h \
../../../hdf5/c++/test/../src/H5FaccProp.h \
../../../hdf5/c++/test/../src/H5FcreatProp.h \
../../../hdf5/c++/test/../src/H5AtomType.h \
../../../hdf5/c++/test/../src/H5PredType.h \
../../../hdf5/c++/test/../src/H5EnumType.h \
../../../hdf5/c++/test/../src/H5IntType.h \
../../../hdf5/c++/test/../src/H5FloatType.h \
../../../hdf5/c++/test/../src/H5StrType.h \
../../../hdf5/c++/test/../src/H5CompType.h \
../../../hdf5/c++/test/../src/H5DataSet.h \
../../../hdf5/c++/test/../src/H5CommonFG.h \
../../../hdf5/c++/test/../src/H5Group.h \
../../../hdf5/c++/test/../src/H5File.h \
../../../hdf5/c++/test/../src/H5Library.h
tfile.o: \
../../../hdf5/./c++/test/tfile.cpp \
../../../hdf5/c++/test/../src/H5Cpp.h \
../../../hdf5/c++/test/../src/H5Include.h \
../../../hdf5/src/hdf5.h \
../../../hdf5/src/H5public.h \
../../src/H5pubconf.h \
../../../hdf5/src/H5api_adpt.h \
../../../hdf5/src/H5Apublic.h \
../../../hdf5/src/H5Ipublic.h \
../../../hdf5/src/H5ACpublic.h \
../../../hdf5/src/H5Bpublic.h \
../../../hdf5/src/H5Dpublic.h \
../../../hdf5/src/H5Epublic.h \
../../../hdf5/src/H5Epubgen.h \
../../../hdf5/src/H5Fpublic.h \
../../../hdf5/src/H5FDpublic.h \
../../../hdf5/src/H5FPpublic.h \
../../../hdf5/src/H5Gpublic.h \
../../../hdf5/src/H5Opublic.h \
../../../hdf5/src/H5HGpublic.h \
../../../hdf5/src/H5HLpublic.h \
../../../hdf5/src/H5MMpublic.h \
../../../hdf5/src/H5Ppublic.h \
../../../hdf5/src/H5Tpublic.h \
../../../hdf5/src/H5Zpublic.h \
../../../hdf5/src/H5Rpublic.h \
../../../hdf5/src/H5Spublic.h \
../../../hdf5/src/H5FDcore.h \
../../../hdf5/src/H5FDfamily.h \
../../../hdf5/src/H5FDgass.h \
../../../hdf5/src/H5FDlog.h \
../../../hdf5/src/H5FDmpi.h \
../../../hdf5/src/H5FDfphdf5.h \
../../../hdf5/src/H5FDmpio.h \
../../../hdf5/src/H5FDmpiposix.h \
../../../hdf5/src/H5FDmulti.h \
../../../hdf5/src/H5FDsec2.h \
../../../hdf5/src/H5FDsrb.h \
../../../hdf5/src/H5FDstdio.h \
../../../hdf5/src/H5FDstream.h \
../../../hdf5/c++/test/../src/H5Exception.h \
../../../hdf5/c++/test/../src/H5IdComponent.h \
../../../hdf5/c++/test/../src/H5DataSpace.h \
../../../hdf5/c++/test/../src/H5PropList.h \
../../../hdf5/c++/test/../src/H5Object.h \
../../../hdf5/c++/test/../src/H5Classes.h \
../../../hdf5/c++/test/../src/H5AbstractDs.h \
../../../hdf5/c++/test/../src/H5Attribute.h \
../../../hdf5/c++/test/../src/H5DataType.h \
../../../hdf5/c++/test/../src/H5DcreatProp.h \
../../../hdf5/c++/test/../src/H5DxferProp.h \
../../../hdf5/c++/test/../src/H5FaccProp.h \
../../../hdf5/c++/test/../src/H5FcreatProp.h \
../../../hdf5/c++/test/../src/H5AtomType.h \
../../../hdf5/c++/test/../src/H5PredType.h \
../../../hdf5/c++/test/../src/H5EnumType.h \
../../../hdf5/c++/test/../src/H5IntType.h \
../../../hdf5/c++/test/../src/H5FloatType.h \
../../../hdf5/c++/test/../src/H5StrType.h \
../../../hdf5/c++/test/../src/H5CompType.h \
../../../hdf5/c++/test/../src/H5DataSet.h \
../../../hdf5/c++/test/../src/H5CommonFG.h \
../../../hdf5/c++/test/../src/H5Group.h \
../../../hdf5/c++/test/../src/H5File.h \
../../../hdf5/c++/test/../src/H5Library.h \
../../../hdf5/test/testhdf5.h \
../../../hdf5/src/H5private.h \
../../../hdf5/src/H5MPprivate.h \
../../../hdf5/src/H5FSprivate.h \
../../../hdf5/src/H5Eprivate.h \
../../../hdf5/test/h5test.h
th5s.o: \
../../../hdf5/./c++/test/th5s.cpp \
../../../hdf5/c++/test/../src/H5Cpp.h \
../../../hdf5/c++/test/../src/H5Include.h \
../../../hdf5/src/hdf5.h \
../../../hdf5/src/H5public.h \
../../src/H5pubconf.h \
../../../hdf5/src/H5api_adpt.h \
../../../hdf5/src/H5Apublic.h \
../../../hdf5/src/H5Ipublic.h \
../../../hdf5/src/H5ACpublic.h \
../../../hdf5/src/H5Bpublic.h \
../../../hdf5/src/H5Dpublic.h \
../../../hdf5/src/H5Epublic.h \
../../../hdf5/src/H5Epubgen.h \
../../../hdf5/src/H5Fpublic.h \
../../../hdf5/src/H5FDpublic.h \
../../../hdf5/src/H5FPpublic.h \
../../../hdf5/src/H5Gpublic.h \
../../../hdf5/src/H5Opublic.h \
../../../hdf5/src/H5HGpublic.h \
../../../hdf5/src/H5HLpublic.h \
../../../hdf5/src/H5MMpublic.h \
../../../hdf5/src/H5Ppublic.h \
../../../hdf5/src/H5Tpublic.h \
../../../hdf5/src/H5Zpublic.h \
../../../hdf5/src/H5Rpublic.h \
../../../hdf5/src/H5Spublic.h \
../../../hdf5/src/H5FDcore.h \
../../../hdf5/src/H5FDfamily.h \
../../../hdf5/src/H5FDgass.h \
../../../hdf5/src/H5FDlog.h \
../../../hdf5/src/H5FDmpi.h \
../../../hdf5/src/H5FDfphdf5.h \
../../../hdf5/src/H5FDmpio.h \
../../../hdf5/src/H5FDmpiposix.h \
../../../hdf5/src/H5FDmulti.h \
../../../hdf5/src/H5FDsec2.h \
../../../hdf5/src/H5FDsrb.h \
../../../hdf5/src/H5FDstdio.h \
../../../hdf5/src/H5FDstream.h \
../../../hdf5/c++/test/../src/H5Exception.h \
../../../hdf5/c++/test/../src/H5IdComponent.h \
../../../hdf5/c++/test/../src/H5DataSpace.h \
../../../hdf5/c++/test/../src/H5PropList.h \
../../../hdf5/c++/test/../src/H5Object.h \
../../../hdf5/c++/test/../src/H5Classes.h \
../../../hdf5/c++/test/../src/H5AbstractDs.h \
../../../hdf5/c++/test/../src/H5Attribute.h \
../../../hdf5/c++/test/../src/H5DataType.h \
../../../hdf5/c++/test/../src/H5DcreatProp.h \
../../../hdf5/c++/test/../src/H5DxferProp.h \
../../../hdf5/c++/test/../src/H5FaccProp.h \
../../../hdf5/c++/test/../src/H5FcreatProp.h \
../../../hdf5/c++/test/../src/H5AtomType.h \
../../../hdf5/c++/test/../src/H5PredType.h \
../../../hdf5/c++/test/../src/H5EnumType.h \
../../../hdf5/c++/test/../src/H5IntType.h \
../../../hdf5/c++/test/../src/H5FloatType.h \
../../../hdf5/c++/test/../src/H5StrType.h \
../../../hdf5/c++/test/../src/H5CompType.h \
../../../hdf5/c++/test/../src/H5DataSet.h \
../../../hdf5/c++/test/../src/H5CommonFG.h \
../../../hdf5/c++/test/../src/H5Group.h \
../../../hdf5/c++/test/../src/H5File.h \
../../../hdf5/c++/test/../src/H5Library.h \
../../../hdf5/test/testhdf5.h \
../../../hdf5/src/H5private.h \
../../../hdf5/src/H5MPprivate.h \
../../../hdf5/src/H5FSprivate.h \
../../../hdf5/src/H5Eprivate.h \
../../../hdf5/test/h5test.h
h5cpputil.o: \
../../../hdf5/./c++/test/h5cpputil.cpp \
../../../hdf5/c++/test/h5cpputil.h \
../../../hdf5/test/h5test.h \
../../../hdf5/src/hdf5.h \
../../../hdf5/src/H5public.h \
../../src/H5pubconf.h \
../../../hdf5/src/H5api_adpt.h \
../../../hdf5/src/H5Apublic.h \
../../../hdf5/src/H5Ipublic.h \
../../../hdf5/src/H5ACpublic.h \
../../../hdf5/src/H5Bpublic.h \
../../../hdf5/src/H5Dpublic.h \
../../../hdf5/src/H5Epublic.h \
../../../hdf5/src/H5Epubgen.h \
../../../hdf5/src/H5Fpublic.h \
../../../hdf5/src/H5FDpublic.h \
../../../hdf5/src/H5FPpublic.h \
../../../hdf5/src/H5Gpublic.h \
../../../hdf5/src/H5Opublic.h \
../../../hdf5/src/H5HGpublic.h \
../../../hdf5/src/H5HLpublic.h \
../../../hdf5/src/H5MMpublic.h \
../../../hdf5/src/H5Ppublic.h \
../../../hdf5/src/H5Tpublic.h \
../../../hdf5/src/H5Zpublic.h \
../../../hdf5/src/H5Rpublic.h \
../../../hdf5/src/H5Spublic.h \
../../../hdf5/src/H5FDcore.h \
../../../hdf5/src/H5FDfamily.h \
../../../hdf5/src/H5FDgass.h \
../../../hdf5/src/H5FDlog.h \
../../../hdf5/src/H5FDmpi.h \
../../../hdf5/src/H5FDfphdf5.h \
../../../hdf5/src/H5FDmpio.h \
../../../hdf5/src/H5FDmpiposix.h \
../../../hdf5/src/H5FDmulti.h \
../../../hdf5/src/H5FDsec2.h \
../../../hdf5/src/H5FDsrb.h \
../../../hdf5/src/H5FDstdio.h \
../../../hdf5/src/H5FDstream.h \
../../../hdf5/src/H5private.h \
../../../hdf5/src/H5MPprivate.h \
../../../hdf5/src/H5FSprivate.h