SHOGUN
v1.1.0
|
00001 /* 00002 * This program is free software; you can redistribute it and/or modify 00003 * it under the terms of the GNU General Public License as published by 00004 * the Free Software Foundation; either version 3 of the License, or 00005 * (at your option) any later version. 00006 * 00007 * Written (W) 2010 Soeren Sonnenburg 00008 * Copyright (C) 2010 Berlin Institute of Technology 00009 */ 00010 #ifndef __SERIALIZABLE_JSON_READER_00_H__ 00011 #define __SERIALIZABLE_JSON_READER_00_H__ 00012 00013 #include <shogun/lib/config.h> 00014 #ifdef HAVE_JSON 00015 00016 #include <shogun/io/SerializableJsonFile.h> 00017 00018 namespace shogun 00019 { 00020 #define IGNORE_IN_CLASSLIST 00021 IGNORE_IN_CLASSLIST class SerializableJsonReader00 00022 :public CSerializableFile::TSerializableReader { 00023 CSerializableJsonFile* m_file; 00024 00025 public: 00026 explicit SerializableJsonReader00(CSerializableJsonFile* file); 00027 virtual ~SerializableJsonReader00(); 00028 00030 inline virtual const char* get_name() const { 00031 return "SerializableJsonReader00"; 00032 } 00033 00034 virtual bool read_scalar_wrapped( 00035 const TSGDataType* type, void* param); 00036 00037 virtual bool read_cont_begin_wrapped( 00038 const TSGDataType* type, index_t* len_read_y, 00039 index_t* len_read_x); 00040 virtual bool read_cont_end_wrapped( 00041 const TSGDataType* type, index_t len_read_y, 00042 index_t len_read_x); 00043 00044 virtual bool read_string_begin_wrapped( 00045 const TSGDataType* type, index_t* length); 00046 virtual bool read_string_end_wrapped( 00047 const TSGDataType* type, index_t length); 00048 00049 virtual bool read_stringentry_begin_wrapped( 00050 const TSGDataType* type, index_t y); 00051 virtual bool read_stringentry_end_wrapped( 00052 const TSGDataType* type, index_t y); 00053 00054 virtual bool read_sparse_begin_wrapped( 00055 const TSGDataType* type, index_t* vec_index, 00056 index_t* length); 00057 virtual bool read_sparse_end_wrapped( 00058 const TSGDataType* type, index_t* vec_index, 00059 index_t length); 00060 00061 virtual bool read_sparseentry_begin_wrapped( 00062 const TSGDataType* type, SGSparseVectorEntry<char>* first_entry, 00063 index_t* feat_index, index_t y); 00064 virtual bool read_sparseentry_end_wrapped( 00065 const TSGDataType* type, SGSparseVectorEntry<char>* first_entry, 00066 index_t* feat_index, index_t y); 00067 00068 virtual bool read_item_begin_wrapped( 00069 const TSGDataType* type, index_t y, index_t x); 00070 virtual bool read_item_end_wrapped( 00071 const TSGDataType* type, index_t y, index_t x); 00072 00073 virtual bool read_sgserializable_begin_wrapped( 00074 const TSGDataType* type, char* sgserializable_name, 00075 EPrimitiveType* generic); 00076 virtual bool read_sgserializable_end_wrapped( 00077 const TSGDataType* type, const char* sgserializable_name, 00078 EPrimitiveType generic); 00079 00080 virtual bool read_type_begin_wrapped( 00081 const TSGDataType* type, const char* name, 00082 const char* prefix); 00083 virtual bool read_type_end_wrapped( 00084 const TSGDataType* type, const char* name, 00085 const char* prefix); 00086 }; 00087 } 00088 00089 #endif /* HAVE_JSON */ 00090 #endif /* __SERIALIZABLE_JSON_READER_00_H__ */