BIE |
/home/weinberg/src/BIE/include/RecordBuffer.h00001 // This is really -*- C++ -*- 00002 00003 #ifndef RecordBuffer_h 00004 #define RecordBuffer_h 00005 00006 #include <string> 00007 #include <vector> 00008 00009 #include "Serializable.h" 00010 00011 00012 #include "RecordType.h" 00013 #include "BasicType.h" 00014 #include "TypedBuffer.h" 00015 00016 using namespace std; 00017 00018 namespace BIE { 00019 00020 //+ CLICLASS RecordBuffer 00027 class RecordBuffer: public Serializable { 00028 00029 public: 00030 //+ CLICONSTR 00032 RecordBuffer(); 00033 00034 //+ CLICONSTR RecordType* 00036 RecordBuffer(RecordType * rt); 00037 00039 ~RecordBuffer(); 00040 00041 //+ CLIMETHOD RecordBuffer* deleteField string 00043 RecordBuffer * deleteField (string fieldname); 00044 00045 //+ CLIMETHOD RecordBuffer* deleteField int 00047 RecordBuffer * deleteField (int fieldindex); 00048 00049 //+ CLIMETHOD RecordBuffer* deleteRange int int 00051 RecordBuffer * deleteRange (int startfield, int endfield); 00052 00053 //+ CLIMETHOD RecordBuffer* insertField int string BasicType* 00057 RecordBuffer * insertField (int position, string name, BasicType * type); 00058 00059 //+ CLIMETHOD RecordBuffer* insertRecord int RecordBuffer* 00064 RecordBuffer * insertRecord(int position, RecordBuffer * insertRecord); 00065 00066 //+ CLIMETHOD RecordBuffer* selectFields RecordType* 00070 RecordBuffer * selectFields(RecordType * selection); 00071 00072 //+ CLIMETHOD RecordBuffer* selectFields vector<int>* 00076 RecordBuffer * selectFields(vector<int>* selection); 00077 00078 //+ CLIMETHOD RecordBuffer* selectFields vector<string>* 00082 RecordBuffer * selectFields(vector<string>* selection); 00083 00084 //+ CLIMETHOD RecordBuffer* renameField string string 00087 RecordBuffer * renameField(string oldname, string newname); 00088 00089 //+ CLIMETHOD RecordBuffer* renameField int string 00092 RecordBuffer * renameField(int fieldindex, string newname); 00093 00094 //+ CLIMETHOD RecordBuffer* moveField string int 00097 RecordBuffer * moveField(string fieldname, int newposition); 00098 00099 //+ CLIMETHOD RecordBuffer* moveField int int 00102 RecordBuffer * moveField(int oldposition, int newposition); 00103 00104 //+ CLIMETHOD TypedBuffer* getFieldBuffer int 00106 TypedBuffer * getFieldBuffer(int fieldindex); 00107 00108 //+ CLIMETHOD TypedBuffer* getFieldBuffer int 00110 TypedBuffer * getFieldBuffer(string fieldname); 00111 00119 string getStringValue(int fieldindex); 00120 int getIntValue (int fieldindex); 00121 double getRealValue (int fieldindex); 00122 bool getBoolValue (int fieldindex); 00123 string getStringValue(string fieldname); 00124 int getIntValue (string fieldname); 00125 double getRealValue (string fieldname); 00126 bool getBoolValue (string fieldname); 00127 00128 vector<int> getIntArrayValue(int fieldindex); 00129 vector<double> getRealArrayValue(int fieldindex); 00130 vector<bool> getBoolArrayValue(int fieldindex); 00131 00133 00140 void setStringValue(int fieldindex, string value); 00141 void setIntValue (int fieldindex, int value); 00142 void setRealValue (int fieldindex, double value); 00143 void setBoolValue (int fieldindex, bool value); 00144 void setStringValue(string fieldname, string value); 00145 void setIntValue (string fieldname, int value); 00146 void setRealValue (string fieldname, double value); 00147 void setBoolValue (string fieldname, bool value); 00148 00149 void setIntArrayValue(int fieldindex, vector<int>); 00150 void setRealArrayValue(int fieldindex, vector<double>); 00151 void setBoolArrayValue(int fieldindex, vector<bool>); 00153 00154 //+ CLIMETHOD bool hasValue string 00156 bool hasValue(string fieldname); 00157 00158 //+ CLIMETHOD bool hasValue int 00160 bool hasValue(int fieldindex); 00161 00162 //+ CLIMETHOD bool hasValue 00164 bool hasValue(); 00165 00166 //+ CLIMETHOD void reset 00168 void reset(); 00169 00170 //+ CLIMETHOD int getFieldIndex string 00172 int getFieldIndex(string fieldname); 00173 00174 //+ CLIMETHOD string getFieldName int 00176 string getFieldName(int fieldindex); 00177 00178 //+ CLIMETHOD bool isValidFieldIndex int 00180 bool isValidFieldIndex(int fieldindex); 00181 00182 //+ CLIMETHOD bool isValidFieldName string 00184 bool isValidFieldName(string fieldname); 00185 00186 //+ CLIMETHOD BasicType* getFieldType int 00188 BasicType * getFieldType(int fieldindex); 00189 00190 //+ CLIMETHOD BasicType* getFieldType string 00192 BasicType * getFieldType(string fieldindex); 00193 00194 //+ CLIMETHOD int numFields 00196 int numFields(); 00197 00198 //+ CLIMETHOD string toString 00200 string toString(); 00201 00202 //+ CLIMETHOD RecordType* getType 00204 RecordType * getType(); 00205 00206 private: 00208 vector<TypedBuffer *> record_buffers; 00209 00211 RecordType * record_type; 00212 00213 // AUTO GENERATED BY ../persistence/autopersist.py 00214 private: 00215 friend class boost::serialization::access; 00216 template<class Archive> 00217 void serialize(Archive & ar, const unsigned int version) { 00218 this->pre_serialize(ar, version); 00219 try { 00220 ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(Serializable); 00221 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00222 } 00223 try { 00224 ar & BOOST_SERIALIZATION_NVP(record_buffers); 00225 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00226 } 00227 try { 00228 ar & BOOST_SERIALIZATION_NVP(record_type); 00229 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00230 } 00231 this->post_serialize(ar, version); 00232 } 00233 00234 }; 00235 00236 } // namespace BIE 00237 BIE_CLASS_TYPE_INFO(BIE::RecordBuffer) 00238 BIE_CLASS_EXPORT_KEY(BIE::RecordBuffer) 00239 #endif Send suggestions, questions, and feedback to WEINBERG at ASTRO dot UMASS dot EDU. Documentation generated at Fri Mar 26 00:35:10 2010 by
|