HDF5 C++ API Reference Manual

 

 

 

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

H5PredType.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 // PredType holds the definition of all the HDF5 predefined datatypes. 00017 // These types can only be made copy of, not created by H5Tcreate or 00018 // closed by H5Tclose. They are treated as constants. 00020 00021 #ifndef _H5PredType_H 00022 #define _H5PredType_H 00023 00024 #ifndef H5_NO_NAMESPACE 00025 namespace H5 { 00026 #endif 00027 00028 class H5_DLLCPP PredType : public AtomType { 00029 public: 00030 // Makes a copy of the predefined type and stores the new 00031 // id in the left hand side object. 00032 PredType& operator=( const PredType& rhs ); 00033 00034 // Returns the HDF5 predefined type id. 00035 virtual hid_t getId() const; 00036 00037 // Default destructor 00038 virtual ~PredType(); 00039 00040 // Declaration of predefined types; their definition is in H5PredType.cpp 00041 static const PredType STD_I8BE; 00042 static const PredType STD_I8LE; 00043 static const PredType STD_I16BE; 00044 static const PredType STD_I16LE; 00045 static const PredType STD_I32BE; 00046 static const PredType STD_I32LE; 00047 static const PredType STD_I64BE; 00048 static const PredType STD_I64LE; 00049 static const PredType STD_U8BE; 00050 static const PredType STD_U8LE; 00051 static const PredType STD_U16BE; 00052 static const PredType STD_U16LE; 00053 static const PredType STD_U32BE; 00054 static const PredType STD_U32LE; 00055 static const PredType STD_U64BE; 00056 static const PredType STD_U64LE; 00057 static const PredType STD_B8BE; 00058 static const PredType STD_B8LE; 00059 static const PredType STD_B16BE; 00060 static const PredType STD_B16LE; 00061 static const PredType STD_B32BE; 00062 static const PredType STD_B32LE; 00063 static const PredType STD_B64BE; 00064 static const PredType STD_B64LE; 00065 static const PredType STD_REF_OBJ; 00066 static const PredType STD_REF_DSETREG; 00067 00068 static const PredType C_S1; 00069 static const PredType FORTRAN_S1; 00070 00071 static const PredType IEEE_F32BE; 00072 static const PredType IEEE_F32LE; 00073 static const PredType IEEE_F64BE; 00074 static const PredType IEEE_F64LE; 00075 00076 static const PredType UNIX_D32BE; 00077 static const PredType UNIX_D32LE; 00078 static const PredType UNIX_D64BE; 00079 static const PredType UNIX_D64LE; 00080 00081 static const PredType INTEL_I8; 00082 static const PredType INTEL_I16; 00083 static const PredType INTEL_I32; 00084 static const PredType INTEL_I64; 00085 static const PredType INTEL_U8; 00086 static const PredType INTEL_U16; 00087 static const PredType INTEL_U32; 00088 static const PredType INTEL_U64; 00089 static const PredType INTEL_B8; 00090 static const PredType INTEL_B16; 00091 static const PredType INTEL_B32; 00092 static const PredType INTEL_B64; 00093 static const PredType INTEL_F32; 00094 static const PredType INTEL_F64; 00095 00096 static const PredType ALPHA_I8; 00097 static const PredType ALPHA_I16; 00098 static const PredType ALPHA_I32; 00099 static const PredType ALPHA_I64; 00100 static const PredType ALPHA_U8; 00101 static const PredType ALPHA_U16; 00102 static const PredType ALPHA_U32; 00103 static const PredType ALPHA_U64; 00104 static const PredType ALPHA_B8; 00105 static const PredType ALPHA_B16; 00106 static const PredType ALPHA_B32; 00107 static const PredType ALPHA_B64; 00108 static const PredType ALPHA_F32; 00109 static const PredType ALPHA_F64; 00110 00111 static const PredType MIPS_I8; 00112 static const PredType MIPS_I16; 00113 static const PredType MIPS_I32; 00114 static const PredType MIPS_I64; 00115 static const PredType MIPS_U8; 00116 static const PredType MIPS_U16; 00117 static const PredType MIPS_U32; 00118 static const PredType MIPS_U64; 00119 static const PredType MIPS_B8; 00120 static const PredType MIPS_B16; 00121 static const PredType MIPS_B32; 00122 static const PredType MIPS_B64; 00123 static const PredType MIPS_F32; 00124 static const PredType MIPS_F64; 00125 00126 static const PredType NATIVE_CHAR; 00127 static const PredType NATIVE_SCHAR; 00128 static const PredType NATIVE_UCHAR; 00129 static const PredType NATIVE_SHORT; 00130 static const PredType NATIVE_USHORT; 00131 static const PredType NATIVE_INT; 00132 static const PredType NATIVE_UINT; 00133 static const PredType NATIVE_LONG; 00134 static const PredType NATIVE_ULONG; 00135 static const PredType NATIVE_LLONG; 00136 static const PredType NATIVE_ULLONG; 00137 static const PredType NATIVE_FLOAT; 00138 static const PredType NATIVE_DOUBLE; 00139 static const PredType NATIVE_LDOUBLE; 00140 static const PredType NATIVE_B8; 00141 static const PredType NATIVE_B16; 00142 static const PredType NATIVE_B32; 00143 static const PredType NATIVE_B64; 00144 static const PredType NATIVE_OPAQUE; 00145 static const PredType NATIVE_HSIZE; 00146 static const PredType NATIVE_HSSIZE; 00147 static const PredType NATIVE_HERR; 00148 static const PredType NATIVE_HBOOL; 00149 00150 static const PredType NATIVE_INT8; 00151 static const PredType NATIVE_UINT8; 00152 static const PredType NATIVE_INT_LEAST8; 00153 static const PredType NATIVE_UINT_LEAST8; 00154 static const PredType NATIVE_INT_FAST8; 00155 static const PredType NATIVE_UINT_FAST8; 00156 00157 static const PredType NATIVE_INT16; 00158 static const PredType NATIVE_UINT16; 00159 static const PredType NATIVE_INT_LEAST16; 00160 static const PredType NATIVE_UINT_LEAST16; 00161 static const PredType NATIVE_INT_FAST16; 00162 static const PredType NATIVE_UINT_FAST16; 00163 00164 static const PredType NATIVE_INT32; 00165 static const PredType NATIVE_UINT32; 00166 static const PredType NATIVE_INT_LEAST32; 00167 static const PredType NATIVE_UINT_LEAST32; 00168 static const PredType NATIVE_INT_FAST32; 00169 static const PredType NATIVE_UINT_FAST32; 00170 00171 static const PredType NATIVE_INT64; 00172 static const PredType NATIVE_UINT64; 00173 static const PredType NATIVE_INT_LEAST64; 00174 static const PredType NATIVE_UINT_LEAST64; 00175 static const PredType NATIVE_INT_FAST64; 00176 static const PredType NATIVE_UINT_FAST64; 00177 00178 #ifndef DOXYGEN_SHOULD_SKIP_THIS 00179 // These dummy functions do not inherit from DataType - they'll 00180 // throw a DataTypeIException if invoked. 00181 void commit( H5Object& loc, const string& name ); 00182 void commit( H5Object& loc, const char* name ); 00183 bool committed(); 00184 #endif // DOXYGEN_SHOULD_SKIP_THIS 00185 00186 private: 00187 // added this to work around the atexit/global destructor problem 00188 // temporarily - it'll prevent the use of atexit to clean up 00189 static const PredType NotAtexit; // not working yet 00190 00191 // This enum type is used by this class only to handle the 00192 // global PredType objects. These values will ensure that the 00193 // application receives an appropriate and uptodated id for an 00194 // HDF5 predefined type; particularly usefull when the application 00195 // closes and opens the library again. 00196 enum predefined_types { 00197 00198 INVALID = 0, E_C_S1 = 1, E_FORTRAN_S1, 00199 00200 E_STD_I8BE, E_STD_I8LE, E_STD_I16BE, E_STD_I16LE, E_STD_I32BE, 00201 E_STD_I32LE, E_STD_I64BE, E_STD_I64LE, E_STD_U8BE, E_STD_U8LE, 00202 E_STD_U16BE, E_STD_U16LE, E_STD_U32BE, E_STD_U32LE, E_STD_U64BE, 00203 E_STD_U64LE, E_STD_B8BE, E_STD_B8LE, E_STD_B16BE, E_STD_B16LE, 00204 E_STD_B32BE, E_STD_B32LE, E_STD_B64BE, E_STD_B64LE, E_STD_REF_OBJ, 00205 E_STD_REF_DSETREG, 00206 00207 E_IEEE_F32BE, E_IEEE_F32LE, E_IEEE_F64BE, E_IEEE_F64LE, 00208 00209 E_UNIX_D32BE, E_UNIX_D32LE, E_UNIX_D64BE, E_UNIX_D64LE, 00210 00211 E_INTEL_I8, E_INTEL_I16, E_INTEL_I32, E_INTEL_I64, E_INTEL_U8, 00212 E_INTEL_U16, E_INTEL_U32, E_INTEL_U64, E_INTEL_B8, E_INTEL_B16, 00213 E_INTEL_B32, E_INTEL_B64, E_INTEL_F32, E_INTEL_F64, 00214 00215 E_ALPHA_I8, E_ALPHA_I16, E_ALPHA_I32, E_ALPHA_I64, E_ALPHA_U8, 00216 E_ALPHA_U16, E_ALPHA_U32, E_ALPHA_U64, E_ALPHA_B8, E_ALPHA_B16, 00217 E_ALPHA_B32, E_ALPHA_B64, E_ALPHA_F32, E_ALPHA_F64, 00218 00219 E_MIPS_I8, E_MIPS_I16, E_MIPS_I32, E_MIPS_I64, E_MIPS_U8, 00220 E_MIPS_U16, E_MIPS_U32, E_MIPS_U64, E_MIPS_B8, E_MIPS_B16, 00221 E_MIPS_B32, E_MIPS_B64, E_MIPS_F32, E_MIPS_F64, 00222 00223 E_NATIVE_CHAR, E_NATIVE_INT, E_NATIVE_FLOAT, E_NATIVE_SCHAR, 00224 E_NATIVE_UCHAR, E_NATIVE_SHORT, E_NATIVE_USHORT, E_NATIVE_UINT, 00225 E_NATIVE_LONG, E_NATIVE_ULONG, E_NATIVE_LLONG, E_NATIVE_ULLONG, 00226 E_NATIVE_DOUBLE, E_NATIVE_LDOUBLE, E_NATIVE_B8, E_NATIVE_B16, 00227 E_NATIVE_B32, E_NATIVE_B64, E_NATIVE_OPAQUE, E_NATIVE_HSIZE, 00228 E_NATIVE_HSSIZE, E_NATIVE_HERR, E_NATIVE_HBOOL, E_NATIVE_INT8, 00229 E_NATIVE_UINT8, E_NATIVE_INT_LEAST8, E_NATIVE_UINT_LEAST8, 00230 E_NATIVE_INT_FAST8, E_NATIVE_UINT_FAST8, E_NATIVE_INT16, 00231 E_NATIVE_UINT16, E_NATIVE_INT_LEAST16, E_NATIVE_UINT_LEAST16, 00232 E_NATIVE_INT_FAST16, E_NATIVE_UINT_FAST16, E_NATIVE_INT32, 00233 E_NATIVE_UINT32, E_NATIVE_INT_LEAST32, E_NATIVE_UINT_LEAST32, 00234 E_NATIVE_INT_FAST32, E_NATIVE_UINT_FAST32, E_NATIVE_INT64, 00235 E_NATIVE_UINT64, E_NATIVE_INT_LEAST64, E_NATIVE_UINT_LEAST64, 00236 E_NATIVE_INT_FAST64, E_NATIVE_UINT_FAST64 00237 }; 00238 00239 protected: 00240 #ifndef DOXYGEN_SHOULD_SKIP_THIS 00241 // Default constructor 00242 PredType(); 00243 00244 // Creates a pre-defined type using an HDF5 pre-defined constant 00245 PredType( const hid_t predtype_id ); // used by the library only 00246 00247 // Copy constructor - makes copy of the original object 00248 PredType( const PredType& original ); 00249 00250 #endif // DOXYGEN_SHOULD_SKIP_THIS 00251 00252 }; 00253 #ifndef H5_NO_NAMESPACE 00254 } 00255 #endif 00256 #endif

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