/usr/include/hdf5/serial/H5DataSpace.h is in libhdf5-dev 1.8.16+docs-4ubuntu1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 | // C++ informative line for the emacs editor: -*- C++ -*-
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* Copyright by The HDF Group. *
* 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://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have *
* access to either file, you may request a copy from help@hdfgroup.org. *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
#ifndef __H5DataSpace_H
#define __H5DataSpace_H
#ifndef H5_NO_NAMESPACE
namespace H5 {
#endif
//! Class DataSpace operates on HDF5 dataspaces.
class H5_DLLCPP DataSpace : public IdComponent {
public:
///\brief Default DataSpace objects
static const DataSpace& ALL;
// Creates a dataspace object given the space type
DataSpace(H5S_class_t type = H5S_SCALAR);
// Creates a simple dataspace
DataSpace(int rank, const hsize_t * dims, const hsize_t * maxdims = NULL);
// Creates a DataSpace object using an existing dataspace id.
DataSpace(const hid_t space_id);
// Copy constructor: makes a copy of the original DataSpace object.
DataSpace(const DataSpace& original);
// Assignment operator
DataSpace& operator=( const DataSpace& rhs );
// Closes this dataspace.
virtual void close();
// Makes copy of an existing dataspace.
void copy(const DataSpace& like_space);
// Copies the extent of this dataspace.
void extentCopy(const DataSpace& dest_space) const;
// Kept for backward compatibility only.
void extentCopy(DataSpace& dest_space) const;
// Gets the bounding box containing the current selection.
void getSelectBounds( hsize_t* start, hsize_t* end ) const;
// Gets the number of element points in the current selection.
hssize_t getSelectElemNpoints() const;
// Retrieves the list of element points currently selected.
void getSelectElemPointlist( hsize_t startpoint, hsize_t numpoints, hsize_t *buf ) const;
// Gets the list of hyperslab blocks currently selected.
void getSelectHyperBlocklist( hsize_t startblock, hsize_t numblocks, hsize_t *buf ) const;
// Get number of hyperslab blocks.
hssize_t getSelectHyperNblocks() const;
// Gets the number of elements in this dataspace selection.
hssize_t getSelectNpoints() const;
// Retrieves dataspace dimension size and maximum size.
int getSimpleExtentDims( hsize_t *dims, hsize_t *maxdims = NULL ) const;
// Gets the dimensionality of this dataspace.
int getSimpleExtentNdims() const;
// Gets the number of elements in this dataspace.
// 12/05/00 - changed return type to hssize_t from hsize_t - C API
hssize_t getSimpleExtentNpoints() const;
// Gets the current class of this dataspace.
H5S_class_t getSimpleExtentType() const;
// Determines if this dataspace is a simple one.
bool isSimple() const;
// Sets the offset of this simple dataspace.
void offsetSimple( const hssize_t* offset ) const;
// Selects the entire dataspace.
void selectAll() const;
// Selects array elements to be included in the selection for
// this dataspace.
void selectElements( H5S_seloper_t op, const size_t num_elements, const hsize_t *coord) const;
// Selects a hyperslab region to add to the current selected region.
void selectHyperslab( H5S_seloper_t op, const hsize_t *count, const hsize_t *start, const hsize_t *stride = NULL, const hsize_t *block = NULL ) const;
// Resets the selection region to include no elements.
void selectNone() const;
// Verifies that the selection is within the extent of the dataspace.
bool selectValid() const;
// Removes the extent from this dataspace.
void setExtentNone() const;
// Sets or resets the size of this dataspace.
void setExtentSimple( int rank, const hsize_t *current_size, const hsize_t *maximum_size = NULL ) const;
///\brief Returns this class name.
virtual H5std_string fromClass () const { return("DataSpace"); }
// Gets the dataspace id.
virtual hid_t getId() const;
// Deletes the global constant
static void deleteConstants();
// Destructor: properly terminates access to this dataspace.
virtual ~DataSpace();
#ifndef DOXYGEN_SHOULD_SKIP_THIS
protected:
// Sets the dataspace id.
virtual void p_setId(const hid_t new_id);
#endif // DOXYGEN_SHOULD_SKIP_THIS
private:
hid_t id; // HDF5 dataspace id
#ifndef DOXYGEN_SHOULD_SKIP_THIS
static DataSpace* ALL_;
// Creates the global constant
static DataSpace* getConstant();
// Friend function to set DataSpace id. For library use only.
friend void f_DataSpace_setId(DataSpace *dspace, hid_t new_id);
#endif // DOXYGEN_SHOULD_SKIP_THIS
};
#ifndef H5_NO_NAMESPACE
}
#endif
#endif // __H5DataSpace_H
|