casa  $Rev:20696$
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes
casa::HDF5File Class Reference

A class representing an HDF5 file. More...

#include <HDF5File.h>

Inheritance diagram for casa::HDF5File:
casa::HDF5Object

List of all members.

Public Member Functions

 HDF5File (const String &name, ByteIO::OpenOption=ByteIO::Old)
 Create an HDF5 file object with the given file name (possible tilde or environment variables in it will be expanded).
 ~HDF5File ()
 The destructor closes the file and deletes it when it was opened using ByteIO::Scratch or ByteIO::Delete.
void reopenRW ()
 Reopen the underlying file for read/write access.
Bool isWritable () const
 Is the file writable?
Bool isOpenedForDelete () const
 Is the file opened for delete?
Bool isClosed () const
 Is the file temporarily closed?
virtual void close ()
 Close the file (temporarily).
void reopen ()
 Reopen the file if closed (which may change the HID).
void flush ()
 Flush the data to disk.
size_t getChunkCacheSize () const
 Get or set the chunk cache size (in bytes).
void setChunkCacheSize (size_t nbytes)

Static Public Member Functions

static Bool isHDF5 (const String &name)
 Test if the file with the given name is an HDF5 file.

Private Member Functions

void doOpen ()
 
     

 HDF5File (const HDF5File &that)
 Copy constructor cannot be used.
HDF5Fileoperator= (const HDF5File &that)
 Assignment cannot be used.

Private Attributes

ByteIO::OpenOption itsOption
String itsName
Bool itsDelete

Detailed Description

A class representing an HDF5 file.

Intended use:

Public interface

Review Status

Test programs:
tHDF5File

Prerequisite

Synopsis

This class wraps the HDF5 functions to open, create, or close an HDF5 file. If the file is opened as readonly, it is possible to reopen it for read/write (provided the user has the correct privileges). It is also possible to temporarily close the file and reopen it later.
Note: It is ensured that the class and the static function isHDF5 are also defined if HDF5 is not compiled in;

Motivation

It was overkill to use the HDF5 C++ interface. Instead little wrappers have been written. HDF5File can be embedded in a shared pointer making it possible to share an HDF5 file amongst various HDF5Array objects.

Definition at line 67 of file HDF5File.h.


Constructor & Destructor Documentation

casa::HDF5File::HDF5File ( const String name,
ByteIO::OpenOption  = ByteIO::Old 
) [explicit]

Create an HDF5 file object with the given file name (possible tilde or environment variables in it will be expanded).

The ByteIO option determines if the file will be created, opened for input and/or output, or possibly deleted by the destructor.

The destructor closes the file and deletes it when it was opened using ByteIO::Scratch or ByteIO::Delete.

casa::HDF5File::HDF5File ( const HDF5File that) [private]

Copy constructor cannot be used.


Member Function Documentation

virtual void casa::HDF5File::close ( ) [virtual]

Close the file (temporarily).

Note it will not delete the file; that is only done by the destructor.

Implements casa::HDF5Object.

void casa::HDF5File::doOpen ( ) [private]

     

Open or create the file.

Flush the data to disk.

Get or set the chunk cache size (in bytes).

Note that all data sets in a file share the cache.

Bool casa::HDF5File::isClosed ( ) const [inline]

Is the file temporarily closed?

Definition at line 99 of file HDF5File.h.

References casa::HDF5Object::getHid().

static Bool casa::HDF5File::isHDF5 ( const String name) [static]

Test if the file with the given name is an HDF5 file.

Is the file opened for delete?

Definition at line 95 of file HDF5File.h.

References itsDelete.

Bool casa::HDF5File::isWritable ( ) const [inline]

Is the file writable?

Definition at line 91 of file HDF5File.h.

References itsOption, and casa::ByteIO::Update.

HDF5File& casa::HDF5File::operator= ( const HDF5File that) [private]

Assignment cannot be used.

Reopen the file if closed (which may change the HID).

Reopen the underlying file for read/write access.

Nothing will be done if the stream is writable already. Otherwise it will be reopened and an exception will be thrown if it is not possible to reopen it for read/write access.

void casa::HDF5File::setChunkCacheSize ( size_t  nbytes)

Member Data Documentation

Definition at line 127 of file HDF5File.h.

Referenced by isOpenedForDelete().

Reimplemented from casa::HDF5Object.

Definition at line 126 of file HDF5File.h.

Definition at line 125 of file HDF5File.h.

Referenced by isWritable().


The documentation for this class was generated from the following file: