⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 element_tree.h

📁 ACE自适配通信环境(ADAPTIVE Communication Environment)是可以自由使用、开放源码的面向对象(OO)框架(Framework)
💻 H
字号:
// -*- C++ -*-//=============================================================================/** *  @file    Element_Tree.h * *  Element_Tree.h,v 1.6 2003/07/19 19:04:10 dhinton Exp * *  @author Nanbor Wang <nanbor@cs.wustl.edu> *///=============================================================================#ifndef _ACEXML_ELEMENT_TREE_H_#define _ACEXML_ELEMENT_TREE_H_#include /**/ "ace/pre.h"#include "ACEXML/parser/debug_validator/Debug_DTD_Manager_Export.h"#if !defined (ACE_LACKS_PRAGMA_ONCE)#pragma once#endif /* ACE_LACKS_PRAGMA_ONCE */#include "ACEXML/common/XML_Types.h"/** * @class ACEXML_Element_Tree_Node Element_Tree.h "parser/debug_validator/Element_Tree.h" * * @brief An abstract base class for describing DTD child element definition. * * @sa ACEXML_Element_Tree_Name_Node, ACEXML_Element_Tree_List_Node */class ACEXML_DEBUG_DTD_MANAGER_Export ACEXML_Element_Tree_Node{public:  /// Default constructor.  ACEXML_Element_Tree_Node ();  /// Destructor  virtual ~ACEXML_Element_Tree_Node ();  /// Accessor for next element in chain  ACEXML_Element_Tree_Node *next ();  void next (ACEXML_Element_Tree_Node *n);  /// Displaying the content.  virtual void dump () = 0;  ACE_ALLOC_HOOK_DECLARE;protected:  ACEXML_Element_Tree_Node *next_;};/** * @class ACEXML_Element_Tree_Name_Node Element_Tree.h "parser/debug_validator/Element_Tree.h" * * @brief An abstract base class for describing a name node in a DTD child * element definition. * * @sa ACEXML_Element_Tree_Node, ACEXML_Element_Tree_List_Node */class ACEXML_DEBUG_DTD_MANAGER_Export ACEXML_Element_Tree_Name_Node  : public ACEXML_Element_Tree_Node{public:  /// Constructor.  ACEXML_Element_Tree_Name_Node (const ACEXML_Char *name,                                 int release = 1);  /// Change the name of this node.  void set (const ACEXML_Char *name,            int release = 1);  virtual void dump ();  ACE_ALLOC_HOOK_DECLARE;protected:  ACEXML_String name_;};class ACEXML_Element_Tree_List_Stack;/** * @class ACEXML_Element_Tree_List_Node Element_Tree.h "parser/debug_validator/Element_Tree.h" * * @brief An abstract base class for describing a node list in a DTD child * element definition. * * @sa ACEXML_Element_Tree_Node, ACEXML_Element_Tree_Name_Node */class ACEXML_DEBUG_DTD_MANAGER_Export ACEXML_Element_Tree_List_Node  : public ACEXML_Element_Tree_Node{public:  friend class ACEXML_Element_Tree_List_Stack;  typedef enum {    SEQUENCE,    CHOICE  } LIST_TYPE;  /// Default constructor.  ACEXML_Element_Tree_List_Node (void);  /// Destructor.  virtual ~ACEXML_Element_Tree_List_Node (void);  /// Insert a new ACEXML_Element_Tree_Node into the list.  int insert (ACEXML_Element_Tree_Node *node);  /// Get/set the type of list.  LIST_TYPE get (void);  int set (LIST_TYPE type);  virtual void dump ();  ACE_ALLOC_HOOK_DECLARE;protected:  LIST_TYPE type_;  ACEXML_Element_Tree_Node *head_;  ACEXML_Element_Tree_Node *tail_;  ACEXML_Element_Tree_List_Node *pop_next_;};/** * @class ACEXML_Element_Tree_List_Stack Element_Tree.h "parser/debug_validator/Element_Tree.h" * * @brief A class for managing a stack of ACEXML_Element_Tree_List_Node's. * * @sa ACEXML_Element_Tree_List_Node */class ACEXML_DEBUG_DTD_MANAGER_Export ACEXML_Element_Tree_List_Stack{public:  ACEXML_Element_Tree_List_Stack ();  void push (ACEXML_Element_Tree_List_Node *n);  ACEXML_Element_Tree_List_Node *pop (void);  ACEXML_Element_Tree_List_Node *top (void);  int empty (void);  ACE_ALLOC_HOOK_DECLARE;protected:  ACEXML_Element_Tree_List_Node *top_;};#if defined (__ACEXML_INLINE__)# include "ACEXML/parser/debug_validator/Element_Tree.i"#endif /* __ACEXML_INLINE__ */#include /**/ "ace/post.h"#endif /* _ACEXML_ELEMENT_TREE_H_ */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -