00001 #ifndef ODLPARSER_H 00002 #define ODLPARSER_H 00003 00004 #include <string> 00005 #include <iostream> 00006 #include <algorithm> 00007 #include <fstream> 00008 00009 #include "odldefs.h" 00010 #include "odltree.h" 00011 #include "odlelement.h" 00012 00013 class ODLParser { 00014 protected: 00015 ODLTree mTop; 00016 std::string mODLData; 00017 00018 std::string::size_type jpos; 00019 std::string::size_type ipos; 00020 00021 std::string ucase( const std::string &str ); 00022 std::string trim( const std::string &str ); 00023 bool parse( ODLTree &tree ); 00024 00025 int _uint_min( unsigned int v1, unsigned int v2 ) { 00026 return( v1 < v2 ) ? v1 : v2; 00027 } 00028 00029 public: 00030 ODLParser( const std::string &odldata ); 00031 00032 const ODLTree * getObject( const std::string &objname ) { 00033 return getObject( mTop, objname ); 00034 } 00035 00036 const ODLTree * getObject( const ODLTree& tree, 00037 const std::string &objname ) const; 00038 00039 const ODLTree * getGroup( const std::string &objname ) { 00040 return getGroup( mTop, objname ); 00041 } 00042 00043 const ODLTree * getGroup( const ODLTree& tree, 00044 const std::string &grpname ) const; 00045 00046 ODLTree& top( ) { 00047 return mTop; 00048 } 00049 00050 }; 00051 00052 #endif 00053 00054 00055 00056
Home |
Search |
Disclaimers & Privacy |
Contact Us GLIMSView Maintainer: dsoltesz@usgs.gov |