summaryrefslogtreecommitdiff
path: root/ACE/TAO/TAO_IDL/be_include/be_structure.h
diff options
context:
space:
mode:
Diffstat (limited to 'ACE/TAO/TAO_IDL/be_include/be_structure.h')
-rw-r--r--ACE/TAO/TAO_IDL/be_include/be_structure.h63
1 files changed, 63 insertions, 0 deletions
diff --git a/ACE/TAO/TAO_IDL/be_include/be_structure.h b/ACE/TAO/TAO_IDL/be_include/be_structure.h
new file mode 100644
index 00000000000..f78f8b6762a
--- /dev/null
+++ b/ACE/TAO/TAO_IDL/be_include/be_structure.h
@@ -0,0 +1,63 @@
+/* -*- c++ -*- */
+// $Id$
+
+// ============================================================================
+//
+// = LIBRARY
+// TAO IDL
+//
+// = FILENAME
+// be_structure.h
+//
+// = DESCRIPTION
+// Extension of class AST_Structure that provides additional means for C++
+// mapping.
+//
+// = AUTHOR
+// Copyright 1994-1995 by Sun Microsystems, Inc.
+// and
+// Aniruddha Gokhale
+//
+// ============================================================================
+
+#ifndef BE_STRUCTURE_H
+#define BE_STRUCTURE_H
+
+#include "be_scope.h"
+#include "be_type.h"
+#include "ast_structure.h"
+
+class be_visitor;
+
+class be_structure : public virtual AST_Structure,
+ public virtual be_scope,
+ public virtual be_type
+{
+public:
+ be_structure (void);
+
+ be_structure (UTL_ScopedName *n,
+ bool local,
+ bool abstract);
+
+ virtual void redefine (AST_Structure *from);
+ // Copy BE-specific values when redefining struct or union
+ // from a forward declaration.
+
+ virtual void gen_ostream_operator (TAO_OutStream *os,
+ bool use_underscore);
+ // Overridden from class be_type.
+
+ virtual void destroy (void);
+ // Cleanup method.
+
+ virtual int accept (be_visitor *visitor);
+ // Visiting.
+
+ // Narrowing.
+
+ DEF_NARROW_FROM_DECL (be_structure);
+ DEF_NARROW_FROM_SCOPE (be_structure);
+};
+
+#endif