Merge pull request #2301 from sonndinh/remove-dup-reactor-functions
[ACE_TAO.git] / TAO / TAO_IDL / be_include / be_structure.h
blobcb3014abab636fbdc02f7508a0183aaf676bce37
1 /* -*- c++ -*- */
3 //=============================================================================
4 /**
5 * @file be_structure.h
7 * Extension of class AST_Structure that provides additional means for C++
8 * mapping.
10 * @author Copyright 1994-1995 by Sun Microsystems
11 * @author Inc. and Aniruddha Gokhale
13 //=============================================================================
15 #ifndef BE_STRUCTURE_H
16 #define BE_STRUCTURE_H
18 #include "be_scope.h"
19 #include "be_type.h"
20 #include "ast_structure.h"
22 class be_visitor;
24 class be_structure : public virtual AST_Structure,
25 public virtual be_scope,
26 public virtual be_type
28 public:
29 be_structure (UTL_ScopedName *n,
30 bool local,
31 bool abstract);
33 be_structure (AST_Decl::NodeType nt,
34 UTL_ScopedName *n,
35 bool local,
36 bool abstract);
38 /// Copy BE-specific values when redefining struct or union
39 /// from a forward declaration.
40 virtual void redefine (AST_Structure *from);
42 /// Overridden from class be_type.
43 virtual void gen_ostream_operator (TAO_OutStream *os,
44 bool use_underscore);
46 /// Cleanup method.
47 virtual void destroy ();
49 /// Visiting.
50 virtual int accept (be_visitor *visitor);
53 #endif