ParsingFunctions.h

Go to the documentation of this file.
00001 //---------------------------------------------------------------------------
00002 #ifndef ParsingFunctionsH
00003 #define ParsingFunctionsH
00004 //---------------------------------------------------------------------------
00005  #include "DataTypes.h"
00006 
00007 #include <xercesc/dom/dom.hpp>
00008 
00009 class clTreePopulation;
00010 
00011 #include <fstream.h>
00012 
00075  void FillSpeciesSpecificValue(xercesc::DOMElement *p_oParent, char *cTagName,
00076        char *cSubTagName, floatVal *p_array, int iNumSpecies,
00077        clTreePopulation *p_oPop, bool bRequired);
00078 
00120  void FillSpeciesSpecificValue(xercesc::DOMElement *p_oParent, char *cTagName,
00121        char *cSubTagName, intVal *p_array, int iNumSpecies,
00122        clTreePopulation *p_oPop, bool bRequired);
00123 
00124 
00168  void FillSpeciesSpecificValue(xercesc::DOMElement *p_oParent, char *cTagName,
00169        char *cSubTagName, boolVal *p_array, int iNumSpecies,
00170        clTreePopulation *p_oPop, bool bRequired);
00171 
00172 
00214  void FillSpeciesSpecificValue(xercesc::DOMElement *p_oParent, char *cTagName,
00215        char *cSubTagName, float *p_fArray, clTreePopulation *p_oPop,
00216        bool bRequired);
00217 
00259 void FillSpeciesSpecificValue(xercesc::DOMElement *p_oParent, char *cTagName,
00260      char *cSubTagName, int *p_iArray, clTreePopulation *p_oPop,
00261      bool bRequired);
00262 
00273  short int GetNodeSpeciesCode(xercesc::DOMNode *p_oDocNode, clTreePopulation *p_oPop);
00274 
00294  void FillSingleValue(xercesc::DOMElement *p_oParent, char *cTagName,
00295                                       int *p_iValToFill, bool bRequired);
00296 
00320  void FillSingleValue(xercesc::DOMElement *p_oParent, char *cTagName,
00321                                     float *p_fValToFill, bool bRequired);
00322 
00344  void FillSingleValue(xercesc::DOMElement *p_oParent, char *cTagName,
00345                             char *p_cValToFill, int iMaxSize, bool bRequired);
00346 
00368  void FillSingleValue(xercesc::DOMElement *p_oParent, char *cTagName,
00369                                bool *p_bValToFill, bool bRequired);
00370 
00376 // void WriteXMLNode(DOMNode *p_oNode, char* cFile);
00377 
00382  class clStreamBufSwapper
00383  {
00384    public:
00385 
00392      clStreamBufSwapper(ostream & orig, fstream & replacement)
00393         : buf_(orig.rdbuf()), str_(orig)
00394      { orig.rdbuf(replacement.rdbuf()); }
00395 
00400      ~clStreamBufSwapper() { str_.rdbuf(buf_); }
00401    private:
00402      std::streambuf * buf_; 
00403      std::ostream & str_; 
00404  } ;
00405 
00406 
00407 //---------------------------------------------------------------------------
00408 #endif

Generated on Thu Jan 26 13:44:34 2006 for SORTIE Core C++ Documentation by  doxygen 1.4.6-NO