00001 // Element_Tree.i,v 1.2 2002/01/24 21:00:01 nanbor Exp 00002 00003 ACEXML_INLINE 00004 ACEXML_Element_Tree_Node::ACEXML_Element_Tree_Node () 00005 : next_ (0) 00006 { 00007 } 00008 00009 ACEXML_INLINE ACEXML_Element_Tree_Node * 00010 ACEXML_Element_Tree_Node::next () 00011 { 00012 return this->next_; 00013 } 00014 00015 ACEXML_INLINE void 00016 ACEXML_Element_Tree_Node::next (ACEXML_Element_Tree_Node * n) 00017 { 00018 this->next_ = n; 00019 } 00020 00021 ACEXML_INLINE 00022 ACEXML_Element_Tree_Name_Node::ACEXML_Element_Tree_Name_Node (const ACEXML_Char *name, 00023 int release) 00024 : name_ (name, 0, release) 00025 { 00026 } 00027 00028 ACEXML_INLINE void 00029 ACEXML_Element_Tree_Name_Node::set (const ACEXML_Char *name, 00030 int release) 00031 { 00032 this->name_.set (name, release); 00033 } 00034 00035 ACEXML_INLINE 00036 ACEXML_Element_Tree_List_Node::ACEXML_Element_Tree_List_Node (void) 00037 : type_ (SEQUENCE), 00038 head_ (0), 00039 tail_ (0), 00040 pop_next_ (0) 00041 { 00042 } 00043 00044 ACEXML_INLINE ACEXML_Element_Tree_List_Node::LIST_TYPE 00045 ACEXML_Element_Tree_List_Node::get (void) 00046 { 00047 return this->type_; 00048 } 00049 00050 ACEXML_INLINE int 00051 ACEXML_Element_Tree_List_Node::set (ACEXML_Element_Tree_List_Node::LIST_TYPE type) 00052 { 00053 this->type_ = type; 00054 return 0; 00055 } 00056 00057 ACEXML_INLINE 00058 ACEXML_Element_Tree_List_Stack::ACEXML_Element_Tree_List_Stack (void) 00059 : top_ (0) 00060 { 00061 } 00062 00063 ACEXML_INLINE ACEXML_Element_Tree_List_Node * 00064 ACEXML_Element_Tree_List_Stack::top () 00065 { 00066 return this->top_; 00067 } 00068 00069 ACEXML_INLINE void 00070 ACEXML_Element_Tree_List_Stack::push (ACEXML_Element_Tree_List_Node *n) 00071 { 00072 n->pop_next_ = this->top_; 00073 this->top_ = n; 00074 } 00075 00076 ACEXML_INLINE ACEXML_Element_Tree_List_Node * 00077 ACEXML_Element_Tree_List_Stack::pop () 00078 { 00079 if (this->top_ != 0) 00080 { 00081 ACEXML_Element_Tree_List_Node *ptr = this->top_; 00082 this->top_ = this->top_->pop_next_; 00083 return ptr; 00084 } 00085 return 0; 00086 } 00087 00088 ACEXML_INLINE int 00089 ACEXML_Element_Tree_List_Stack::empty () 00090 { 00091 return this->top_ == 0; 00092 }