00001 // $Header: /nfs/slac/g/glast/ground/cvs/xmlUtil/xmlUtil/id/DictValidVisitor.h,v 1.2 2002/06/04 22:43:59 jrb Exp $ 00002 #ifndef XMLUTIL_DICTVALIDVISITOR_H 00003 #define XMLUTIL_DICTVALIDVISITOR_H 00004 00005 #include "xmlUtil/id/DictVisitor.h" 00006 00007 namespace xmlUtil { 00008 00009 class DictValidVisitor : public DictVisitor { 00010 public: 00011 DictValidVisitor() : m_dict(0), m_state(eReady) {} 00012 bool visitDict(); 00013 00014 virtual bool visitDict(IdDict *dict); 00015 virtual bool visitNode(DictNode *node); 00016 00017 virtual bool visitField(DictField *) {return true;} 00018 virtual bool visitFieldMan(DictFieldMan *) {return true;} 00019 00020 bool wasValid() {return (m_state == eValid); } 00021 00022 private: 00023 enum State {eReady, eValid, eInvalid}; 00024 IdDict* m_dict; 00025 State m_state; 00026 00027 }; 00028 } 00029 00030 #endif
1.2.13.1 written by Dimitri van Heesch,
© 1997-2001