00001 // C++ informative line for the emacs editor: -*- C++ -*- 00002 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00003 * Copyright by The HDF Group. * 00004 * Copyright by the Board of Trustees of the University of Illinois. * 00005 * All rights reserved. * 00006 * * 00007 * This file is part of HDF5. The full HDF5 copyright notice, including * 00008 * terms governing use, modification, and redistribution, is contained in * 00009 * the files COPYING and Copyright.html. COPYING can be found at the root * 00010 * of the source code distribution tree; Copyright.html can be found at the * 00011 * root level of an installed copy of the electronic HDF5 document set and * 00012 * is linked from the top-level documents page. It can also be found at * 00013 * http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have * 00014 * access to either file, you may request a copy from help@hdfgroup.org. * 00015 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ 00016 00017 // Class ArrayType inherits from DataType and provides wrappers for the 00018 // HDF5 C's Array Datatypes. 00019 00020 #ifndef _H5ArrayType_H 00021 #define _H5ArrayType_H 00022 00023 #ifndef H5_NO_NAMESPACE 00024 namespace H5 { 00025 #endif 00026 00027 class H5_DLLCPP ArrayType : public DataType { 00028 public: 00029 // Constructor that creates a new array data type based on the 00030 // specified base type. 00031 ArrayType(const DataType& base_type, int ndims, const hsize_t* dims); 00032 00033 // Returns the number of dimensions of this array datatype. 00034 int getArrayNDims(); 00035 00036 // Returns the sizes of dimensions of this array datatype. 00037 int getArrayDims(hsize_t* dims); 00038 00040 virtual H5std_string fromClass () const { return("ArrayType"); } 00041 00042 // Copy constructor: makes copy of the original object. 00043 ArrayType( const ArrayType& original ); 00044 00045 // Constructor that takes an existing id 00046 ArrayType( const hid_t existing_id ); 00047 00048 // Noop destructor 00049 virtual ~ArrayType(); 00050 00051 protected: 00052 // Default constructor 00053 ArrayType(); 00054 00055 private: 00056 int rank; // Rank of the array 00057 hsize_t* dimensions; // Sizes of the array dimensions 00058 }; 00059 #ifndef H5_NO_NAMESPACE 00060 } 00061 #endif 00062 #endif