10 #ifndef __HDF5_FILE_H__ 
   11 #define __HDF5_FILE_H__ 
   24 template <
class ST> 
class SGString;
 
   25 template <
class ST> 
class SGSparseVector;
 
   34 #define IGNORE_IN_CLASSLIST 
   47     CHDF5File(
char* fname, 
char rw=
'r', 
const char* name=NULL);
 
   52 #ifndef SWIG // SWIG should skip this 
   60     virtual void get_vector(
bool*& vector, int32_t& len);
 
   61     virtual void get_vector(int8_t*& vector, int32_t& len);
 
   62     virtual void get_vector(uint8_t*& vector, int32_t& len);
 
   63     virtual void get_vector(
char*& vector, int32_t& len);
 
   64     virtual void get_vector(int32_t*& vector, int32_t& len);
 
   65     virtual void get_vector(uint32_t*& vector, int32_t& len);
 
   66     virtual void get_vector(
float64_t*& vector, int32_t& len);
 
   67     virtual void get_vector(
float32_t*& vector, int32_t& len);
 
   68     virtual void get_vector(
floatmax_t*& vector, int32_t& len);
 
   69     virtual void get_vector(int16_t*& vector, int32_t& len);
 
   70     virtual void get_vector(uint16_t*& vector, int32_t& len);
 
   71     virtual void get_vector(int64_t*& vector, int32_t& len);
 
   72     virtual void get_vector(uint64_t*& vector, int32_t& len);
 
   83     virtual void get_matrix(
 
   84             bool*& matrix, int32_t& num_feat, int32_t& num_vec);
 
   85     virtual void get_matrix(
 
   86             uint8_t*& matrix, int32_t& num_feat, int32_t& num_vec);
 
   87     virtual void get_matrix(
 
   88             char*& matrix, int32_t& num_feat, int32_t& num_vec);
 
   89     virtual void get_matrix(
 
   90             int32_t*& matrix, int32_t& num_feat, int32_t& num_vec);
 
   91     virtual void get_matrix(
 
   92             uint32_t*& matrix, int32_t& num_feat, int32_t& num_vec);
 
   93     virtual void get_matrix(
 
   94             int64_t*& matrix, int32_t& num_feat, int32_t& num_vec);
 
   95     virtual void get_matrix(
 
   96             uint64_t*& matrix, int32_t& num_feat, int32_t& num_vec);
 
   97     virtual void get_matrix(
 
   98             float32_t*& matrix, int32_t& num_feat, int32_t& num_vec);
 
   99     virtual void get_matrix(
 
  100             float64_t*& matrix, int32_t& num_feat, int32_t& num_vec);
 
  101     virtual void get_matrix(
 
  102             floatmax_t*& matrix, int32_t& num_feat, int32_t& num_vec);
 
  103     virtual void get_matrix(
 
  104             int16_t*& matrix, int32_t& num_feat, int32_t& num_vec);
 
  105     virtual void get_matrix(
 
  106             uint16_t*& matrix, int32_t& num_feat, int32_t& num_vec);
 
  118     virtual void get_sparse_matrix(
 
  119             SGSparseVector<bool>*& matrix, int32_t& num_feat, int32_t& num_vec);
 
  120     virtual void get_sparse_matrix(
 
  121             SGSparseVector<int8_t>*& matrix, int32_t& num_feat, int32_t& num_vec);
 
  122     virtual void get_sparse_matrix(
 
  123             SGSparseVector<uint8_t>*& matrix, int32_t& num_feat, int32_t& num_vec);
 
  124     virtual void get_sparse_matrix(
 
  125             SGSparseVector<char>*& matrix, int32_t& num_feat, int32_t& num_vec);
 
  126     virtual void get_sparse_matrix(
 
  127             SGSparseVector<int32_t>*& matrix, int32_t& num_feat, int32_t& num_vec);
 
  128     virtual void get_sparse_matrix(
 
  129             SGSparseVector<uint32_t>*& matrix, int32_t& num_feat, int32_t& num_vec);
 
  130     virtual void get_sparse_matrix(
 
  131             SGSparseVector<int64_t>*& matrix, int32_t& num_feat, int32_t& num_vec);
 
  132     virtual void get_sparse_matrix(
 
  133             SGSparseVector<uint64_t>*& matrix, int32_t& num_feat, int32_t& num_vec);
 
  134     virtual void get_sparse_matrix(
 
  135             SGSparseVector<int16_t>*& matrix, int32_t& num_feat, int32_t& num_vec);
 
  136     virtual void get_sparse_matrix(
 
  137             SGSparseVector<uint16_t>*& matrix, int32_t& num_feat, int32_t& num_vec);
 
  138     virtual void get_sparse_matrix(
 
  139             SGSparseVector<float32_t>*& matrix, int32_t& num_feat, int32_t& num_vec);
 
  140     virtual void get_sparse_matrix(
 
  141             SGSparseVector<float64_t>*& matrix, int32_t& num_feat, int32_t& num_vec);
 
  142     virtual void get_sparse_matrix(
 
  143             SGSparseVector<floatmax_t>*& matrix, int32_t& num_feat, int32_t& num_vec);
 
  155     virtual void get_string_list(
 
  156             SGString<bool>*& strings, int32_t& num_str,
 
  157             int32_t& max_string_len);
 
  158     virtual void get_string_list(
 
  159             SGString<int8_t>*& strings, int32_t& num_str,
 
  160             int32_t& max_string_len);
 
  161     virtual void get_string_list(
 
  162             SGString<uint8_t>*& strings, int32_t& num_str,
 
  163             int32_t& max_string_len);
 
  164     virtual void get_string_list(
 
  165             SGString<char>*& strings, int32_t& num_str,
 
  166             int32_t& max_string_len);
 
  167     virtual void get_string_list(
 
  168             SGString<int32_t>*& strings, int32_t& num_str,
 
  169             int32_t& max_string_len);
 
  170     virtual void get_string_list(
 
  171             SGString<uint32_t>*& strings, int32_t& num_str,
 
  172             int32_t& max_string_len);
 
  173     virtual void get_string_list(
 
  174             SGString<int16_t>*& strings, int32_t& num_str,
 
  175             int32_t& max_string_len);
 
  176     virtual void get_string_list(
 
  177             SGString<uint16_t>*& strings, int32_t& num_str,
 
  178             int32_t& max_string_len);
 
  179     virtual void get_string_list(
 
  180             SGString<int64_t>*& strings, int32_t& num_str,
 
  181             int32_t& max_string_len);
 
  182     virtual void get_string_list(
 
  183             SGString<uint64_t>*& strings, int32_t& num_str,
 
  184             int32_t& max_string_len);
 
  185     virtual void get_string_list(
 
  186             SGString<float32_t>*& strings, int32_t& num_str,
 
  187             int32_t& max_string_len);
 
  188     virtual void get_string_list(
 
  189             SGString<float64_t>*& strings, int32_t& num_str,
 
  190             int32_t& max_string_len);
 
  191     virtual void get_string_list(
 
  192             SGString<floatmax_t>*& strings, int32_t& num_str,
 
  193             int32_t& max_string_len);
 
  203     virtual void set_vector(
const bool* vector, int32_t len);
 
  204     virtual void set_vector(
const int8_t* vector, int32_t len);
 
  205     virtual void set_vector(
const uint8_t* vector, int32_t len);
 
  206     virtual void set_vector(
const char* vector, int32_t len);
 
  207     virtual void set_vector(
const int32_t* vector, int32_t len);
 
  208     virtual void set_vector(
const uint32_t* vector, int32_t len);
 
  209     virtual void set_vector(
const float32_t* vector, int32_t len);
 
  210     virtual void set_vector(
const float64_t* vector, int32_t len);
 
  211     virtual void set_vector(
const floatmax_t* vector, int32_t len);
 
  212     virtual void set_vector(
const int16_t* vector, int32_t len);
 
  213     virtual void set_vector(
const uint16_t* vector, int32_t len);
 
  214     virtual void set_vector(
const int64_t* vector, int32_t len);
 
  215     virtual void set_vector(
const uint64_t* vector, int32_t len);
 
  226     virtual void set_matrix(
 
  227             const bool* matrix, int32_t num_feat, int32_t num_vec);
 
  228     virtual void set_matrix(
 
  229             const int8_t* matrix, int32_t num_feat, int32_t num_vec);
 
  230     virtual void set_matrix(
 
  231             const uint8_t* matrix, int32_t num_feat, int32_t num_vec);
 
  232     virtual void set_matrix(
 
  233             const char* matrix, int32_t num_feat, int32_t num_vec);
 
  234     virtual void set_matrix(
 
  235             const int32_t* matrix, int32_t num_feat, int32_t num_vec);
 
  236     virtual void set_matrix(
 
  237             const uint32_t* matrix, int32_t num_feat, int32_t num_vec);
 
  238     virtual void set_matrix(
 
  239             const int64_t* matrix, int32_t num_feat, int32_t num_vec);
 
  240     virtual void set_matrix(
 
  241             const uint64_t* matrix, int32_t num_feat, int32_t num_vec);
 
  242     virtual void set_matrix(
 
  243             const float32_t* matrix, int32_t num_feat, int32_t num_vec);
 
  244     virtual void set_matrix(
 
  245             const float64_t* matrix, int32_t num_feat, int32_t num_vec);
 
  246     virtual void set_matrix(
 
  247             const floatmax_t* matrix, int32_t num_feat, int32_t num_vec);
 
  248     virtual void set_matrix(
 
  249             const int16_t* matrix, int32_t num_feat, int32_t num_vec);
 
  250     virtual void set_matrix(
 
  251             const uint16_t* matrix, int32_t num_feat, int32_t num_vec);
 
  261     virtual void set_sparse_matrix(
 
  262             const SGSparseVector<bool>* matrix, int32_t num_feat, int32_t num_vec);
 
  263     virtual void set_sparse_matrix(
 
  264             const SGSparseVector<int8_t>* matrix, int32_t num_feat, int32_t num_vec);
 
  265     virtual void set_sparse_matrix(
 
  266             const SGSparseVector<uint8_t>* matrix, int32_t num_feat, int32_t num_vec);
 
  267     virtual void set_sparse_matrix(
 
  268             const SGSparseVector<char>* matrix, int32_t num_feat, int32_t num_vec);
 
  269     virtual void set_sparse_matrix(
 
  270             const SGSparseVector<int32_t>* matrix, int32_t num_feat, int32_t num_vec);
 
  271     virtual void set_sparse_matrix(
 
  272             const SGSparseVector<uint32_t>* matrix, int32_t num_feat, int32_t num_vec);
 
  273     virtual void set_sparse_matrix(
 
  274             const SGSparseVector<int64_t>* matrix, int32_t num_feat, int32_t num_vec);
 
  275     virtual void set_sparse_matrix(
 
  276             const SGSparseVector<uint64_t>* matrix, int32_t num_feat, int32_t num_vec);
 
  277     virtual void set_sparse_matrix(
 
  278             const SGSparseVector<int16_t>* matrix, int32_t num_feat, int32_t num_vec);
 
  279     virtual void set_sparse_matrix(
 
  280             const SGSparseVector<uint16_t>* matrix, int32_t num_feat, int32_t num_vec);
 
  281     virtual void set_sparse_matrix(
 
  282             const SGSparseVector<float32_t>* matrix, int32_t num_feat, int32_t num_vec);
 
  283     virtual void set_sparse_matrix(
 
  284             const SGSparseVector<float64_t>* matrix, int32_t num_feat, int32_t num_vec);
 
  285     virtual void set_sparse_matrix(
 
  286             const SGSparseVector<floatmax_t>* matrix, int32_t num_feat, int32_t num_vec);
 
  298     virtual void set_string_list(
 
  299             const SGString<bool>* strings, int32_t num_str);
 
  300     virtual void set_string_list(
 
  301             const SGString<int8_t>* strings, int32_t num_str);
 
  302     virtual void set_string_list(
 
  303             const SGString<uint8_t>* strings, int32_t num_str);
 
  304     virtual void set_string_list(
 
  305             const SGString<char>* strings, int32_t num_str);
 
  306     virtual void set_string_list(
 
  307             const SGString<int32_t>* strings, int32_t num_str);
 
  308     virtual void set_string_list(
 
  309             const SGString<uint32_t>* strings, int32_t num_str);
 
  310     virtual void set_string_list(
 
  311             const SGString<int16_t>* strings, int32_t num_str);
 
  312     virtual void set_string_list(
 
  313             const SGString<uint16_t>* strings, int32_t num_str);
 
  314     virtual void set_string_list(
 
  315             const SGString<int64_t>* strings, int32_t num_str);
 
  316     virtual void set_string_list(
 
  317             const SGString<uint64_t>* strings, int32_t num_str);
 
  318     virtual void set_string_list(
 
  319             const SGString<float32_t>* strings, int32_t num_str);
 
  320     virtual void set_string_list(
 
  321             const SGString<float64_t>* strings, int32_t num_str);
 
  322     virtual void set_string_list(
 
  323             const SGString<floatmax_t>* strings, int32_t num_str);
 
  326     virtual void get_matrix(int8_t*&, int32_t&, int32_t&)
 
  338     virtual void set_int8_matrix(
const int8_t*, int32_t, int32_t)
 
  350 #endif // #ifndef SWIG // SWIG should skip this 
  353     virtual const char* get_name()
 const { 
return "HDF5File"; }
 
  357     void get_boolean_type();
 
  367     hid_t get_compatible_type(H5T_class_t t_class,
 
  368                               const TSGDataType* datatype);
 
  377     void get_dims(hid_t dataset, int32_t*& dims, int32_t& ndims, int64_t& total_elements);
 
  380     void create_group_hierarchy();
 
  390 #endif //__HDF5_FILE_H__ 
#define SG_NOTIMPLEMENTED
 
all of classes and functions are contained in the shogun namespace 
 
#define IGNORE_IN_CLASSLIST
 
template class SGSparseVector The assumtion is that the stored SGSparseVectorEntry* vector is orde...