00001
00002
00003
00004
00005
00006
00007
00008
00010
00011 #define sw_cbl_codetree_codenode_h
00012
00013 #include <cbl/codetree/element.h>
00014 #include
00015
00016 namespace cbl {
00017 namespace codetree {
00018
00023 class TCodeNode : public TElement {
00024 #if 0
00025 public:
00026 typedef std::deque TNodeList;
00027 typedef TNodeList::iterator iterator;
00028 typedef TNodeList::const_iterator const_iterator;
00029 typedef TNodeList::size_type size_type;
00030
00031 private:
00032 TNodeList FChildren;
00033
00034 protected:
00035 void addChild(TCodeNode *);
00036 void replaceChild(TCodeNode *AOld, TCodeNode *ANew);
00037 TCodeNode *setChild(size_type AIndex, TCodeNode *);
00038 void resize(size_type ASize);
00039
00040 TCodeNode *operator[](size_type AIndex);
00041 const TCodeNode *operator[](size_type AIndex) const;
00042
00043 TCodeNode(symbols::TModuleSym *AOwner);
00044 public:
00045
00046
00047 iterator begin();
00048 iterator end();
00049
00050 const_iterator begin() const;
00051 const_iterator end() const;
00052
00053 size_type size() const;
00054 #else
00055 protected:
00056 TCodeNode(symbols::TModuleSym *AOwner);
00057 #endif
00058 };
00059
00060 }
00061 }
00062
00063 #endif