[omniORB] omni3.0.2: string sequence _var lacks const operator[]
   
    randy.shoup@tumbleweed.com
     
    randy.shoup@tumbleweed.com
       
    Fri, 22 Dec 2000 13:39:20 -0800
    
    
  
We have been using omni2.* for a while, and now we are looking into
moving to omni3.  I encountered the following problem:
We have the following in our IDL:
	typedef sequence<string> StringArray;
omni2 mapped StringArray in the following way:
  typedef _CORBA_Unbounded_Sequence<CORBA::String_member > StringArray;
  typedef _CORBA_Sequence_Var<StringArray, CORBA::String_member >
StringArray_var;
StringArray_var ended up with an operator[] const.  And we made use of
the fact in our code that we could extract elements from a const
StringArray_var.
However, omni3 maps these types to new classes:
  class StringArray : public _CORBA_Unbounded_Sequence__String {
	...
  class StringArray_var {
	...
and does not generate an operator[] const.  The only
StringArray_var::operator[] is
    inline _CORBA_String_element operator [] (_CORBA_ULong s) {
      return (*_pd_seq)[s];
    }
which is non-const.
Because it seems to use the StringArray directly, and *that* class has
an operator[] const, why does the StringArray_var not have an operator[]
const?
Is this a bug, or a CORBA 2.3 mapping change?
Thanks,
-- Randy
_________________________________________________________________  
Randy Shoup                                     (650)216-2038  
Senior Architect                                rshoup@tumbleweed.com  
Tumbleweed Communications Corporation