Changes to attempt to silence bcc64x
[ACE_TAO.git] / TAO / TAO_IDL / be_include / be_array.h
blob02a0ffdf6be3aac26d64ce8418238951c6c6ee96
2 //=============================================================================
3 /**
4 * @file be_array.h
6 * Extension of class AST_Array that provides additional means for C++
7 * mapping.
9 * @author Copyright 1994-1995 by Sun Microsystems
10 * @author Inc. and Aniruddha Gokhale
12 //=============================================================================
14 #ifndef BE_ARRAY_H
15 #define BE_ARRAY_H
17 #include "be_type.h"
18 #include "ast_array.h"
20 class UTL_ExprList;
21 class TAO_OutStream;
22 class be_visitor;
24 class be_array : public virtual AST_Array,
25 public virtual be_type
27 public:
28 be_array (UTL_ScopedName *n,
29 unsigned long ndims,
30 UTL_ExprList *dims,
31 bool local,
32 bool abstract);
34 ~be_array () override = default;
36 /// Generate dimensions. If slice == 1, generate dimensions for the slice
37 /// definition.
38 int gen_dimensions (TAO_OutStream *os,
39 unsigned short slice = 0);
41 /// Overridden from class be_type.
42 void gen_ostream_operator (TAO_OutStream *os,
43 bool use_underscore) override;
44 void gen_member_ostream_operator (TAO_OutStream *os,
45 const char *instance_name,
46 bool use_underscore,
47 bool accessor) override;
49 // Visiting.
50 int accept (be_visitor *visitor) override;
52 // Cleanup.
53 void destroy () override;
55 protected:
56 /// Create a name for us.
57 virtual int create_name ();
59 void compute_tc_name () override;
62 #endif