HDF5 C++ API Reference Manual

 

 

 

Main Page | Namespace List | Class Hierarchy | Class List | File List | Class Members | Examples

H5DataSpace.h

Go to the documentation of this file.
00001 // C++ informative line for the emacs editor: -*- C++ -*- 00002 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00003 * Copyright by the Board of Trustees of the University of Illinois. * 00004 * All rights reserved. * 00005 * * 00006 * This file is part of HDF5. The full HDF5 copyright notice, including * 00007 * terms governing use, modification, and redistribution, is contained in * 00008 * the files COPYING and Copyright.html. COPYING can be found at the root * 00009 * of the source code distribution tree; Copyright.html can be found at the * 00010 * root level of an installed copy of the electronic HDF5 document set and * 00011 * is linked from the top-level documents page. It can also be found at * 00012 * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html. If you do not have * 00013 * access to either file, you may request a copy from hdfhelp@ncsa.uiuc.edu. * 00014 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ 00015 00016 #ifndef _H5DataSpace_H 00017 #define _H5DataSpace_H 00018 00019 #ifndef H5_NO_NAMESPACE 00020 namespace H5 { 00021 #endif 00022 00023 class H5_DLLCPP DataSpace : public IdComponent { 00024 public: 00025 // Default DataSpace objects 00026 static const DataSpace ALL; 00027 00028 // Creates a dataspace object given the space type 00029 DataSpace(H5S_class_t type = H5S_SCALAR); 00030 00031 // Creates a simple dataspace 00032 DataSpace(int rank, const hsize_t * dims, const hsize_t * maxdims = NULL); 00033 00034 // Assignment operator 00035 DataSpace& operator=( const DataSpace& rhs ); 00036 00037 // Makes copy of an existing dataspace. 00038 void copy(const DataSpace& like_space); 00039 00040 // Copies the extent of this dataspace. 00041 void extentCopy( DataSpace& dest_space ) const; 00042 00043 // Gets the bounding box containing the current selection. 00044 void getSelectBounds( hssize_t* start, hssize_t* end ) const; 00045 00046 // Gets the number of element points in the current selection. 00047 hssize_t getSelectElemNpoints() const; 00048 00049 // Retrieves the list of element points currently selected. 00050 void getSelectElemPointlist( hsize_t startpoint, hsize_t numpoints, hsize_t *buf ) const; 00051 00052 // Gets the list of hyperslab blocks currently selected. 00053 void getSelectHyperBlocklist( hsize_t startblock, hsize_t numblocks, hsize_t *buf ) const; 00054 00055 // Get number of hyperslab blocks. 00056 hssize_t getSelectHyperNblocks() const; 00057 00058 // Gets the number of elements in this dataspace selection. 00059 hssize_t getSelectNpoints() const; 00060 00061 // Retrieves dataspace dimension size and maximum size. 00062 int getSimpleExtentDims( hsize_t *dims, hsize_t *maxdims = NULL ) const; 00063 00064 // Gets the dimensionality of this dataspace. 00065 int getSimpleExtentNdims() const; 00066 00067 // Gets the number of elements in this dataspace. 00068 // 12/05/00 - changed return type to hssize_t from hsize_t - C API 00069 hssize_t getSimpleExtentNpoints() const; 00070 00071 // Gets the current class of this dataspace. 00072 H5S_class_t getSimpleExtentType() const; 00073 00074 // Determines if this dataspace is a simple one. 00075 bool isSimple() const; 00076 00077 // Sets the offset of this simple dataspace. 00078 void offsetSimple( const hssize_t* offset ) const; 00079 00080 // Selects the entire dataspace. 00081 void selectAll() const; 00082 00083 // Selects array elements to be included in the selection for 00084 // this dataspace. 00085 void selectElements( H5S_seloper_t op, const size_t num_elements, const hssize_t *coord[ ] ) const; 00086 00087 // Selects a hyperslab region to add to the current selected region. 00088 void selectHyperslab( H5S_seloper_t op, const hsize_t *count, const hssize_t *start, const hsize_t *stride = NULL, const hsize_t *block = NULL ) const; 00089 00090 // Resets the selection region to include no elements. 00091 void selectNone() const; 00092 00093 // Verifies that the selection is within the extent of the dataspace. 00094 bool selectValid() const; 00095 00096 // Removes the extent from this dataspace. 00097 void setExtentNone() const; 00098 00099 // Sets or resets the size of this dataspace. 00100 void setExtentSimple( int rank, const hsize_t *current_size, const hsize_t *maximum_size = NULL ) const; 00101 00102 // Creates a DataSpace object using an existing dataspace id. 00103 DataSpace(const hid_t space_id); 00104 00105 // Default constructor 00106 DataSpace(); 00107 00108 // Copy constructor: makes a copy of the original DataSpace object. 00109 DataSpace(const DataSpace& original); 00110 00111 #ifndef DOXYGEN_SHOULD_SKIP_THIS 00112 // Used by the API to close the dataspace 00113 void p_close() const; 00114 #endif // DOXYGEN_SHOULD_SKIP_THIS 00115 00116 // Destructor: properly terminates access to this dataspace. 00117 virtual ~DataSpace(); 00118 }; 00119 #ifndef H5_NO_NAMESPACE 00120 } 00121 #endif 00122 #endif

Generated on Thu Aug 5 00:22:37 2004 by doxygen 1.3.7-20040718