00001
00002
00003
00004
00005
00006
00007 #include "skAlist.h"
00008
00009 const int MAXBUFFER=20000;
00010
00011
00012 EXTERN_TEMPLATE template class CLASSEXPORT skTAList<skTreeNode>;
00013
00017 class CLASSEXPORT skTreeNodeList : public skTAList<skTreeNode>
00018 {
00019 public:
00021 skTreeNodeList();
00025 skTreeNodeList(const skTreeNodeList& list);
00027 virtual ~skTreeNodeList();
00032 skTreeNode * findItem(const skString& label) const;
00038 skTreeNode * findItem(const skString& label,const skString& data) const;
00043 skTreeNode * nthElt(USize i) const;
00047 skTreeNodeList& operator=(const skTreeNodeList& list);
00048 };
00049
00050 #define USECLASSBUFFER
00051
00052 class P_TreeNodeReader
00053 {
00054 public:
00055 #ifdef STREAMS_ENABLED
00056
00057 P_TreeNodeReader(istream& in);
00058 #endif
00059 enum Lexeme { L_IDENT, L_TEXT, L_LBRACE, L_RBRACE, L_EOF, L_ERROR };
00061 void grabBuffer();
00063 void error(const skString& msg);
00067
00069
00072
00074
00079
00085
00087
00089
00091
00093
00095
00097
00100
00103
00106
00108
00110