[omniORB] Corba union waste of space?

Duncan Grisby duncan at grisby.org
Mon Dec 8 11:18:55 GMT 2008


On Thursday 4 December, Michael Teske wrote:

[...]
> This seems like a bug (waste of space) to me or is there any reason
> that the string members do not go into the union? Our real-life used
> union has even more types... As I mentioned in an earlier post, we're
> porting our system from orbacus, which uses pointers here so they fit
> into the C++ union data type (I suppose the complex types are not
> allowed in a C++union?).

The String_members cannot go in the union, because you can't put such
things in a C++ union. It certainly would be possible to store pointers
to String_members (and other complex types) instead, and they could go
in the union. I'd welcome a patch that did that.

The place to start attacking it is to look in
src/lib/omniORB/omniidl_be/cxx/header/template.py which defines the
templates that go in the C++ headers. From there, search the code for
the places that use the templates. I'm afraid that some of the C++
back-end code is rather ugly...

Cheers,

Duncan.

-- 
 -- Duncan Grisby         --
  -- duncan at grisby.org     --
   -- http://www.grisby.org --



More information about the omniORB-list mailing list