Pointer '*' types

In addition to the base CORBA types, SOM IDL permits the use of pointer types ('*'). As well as increasing the range of base types available to the SOM IDL programmer, using pointer types also permits the construction of more complex data types, including self-referential and mutually recursive structures and unions.

If self-referential structures and unions are required, then, instead of using the CORBA approach for IDL sequences, such as the following:

   struct X {
       ...
       sequence <X> self;
       ...
   };

it is possible to use the more typical C/C++ approach. For example:

   struct X {
       ...
       X *self;
       ...
   };

SOM IDL does not permit an explicit '*' in sequence declarations. If a sequence is required for a pointer type, then it is necessary to typedef the pointer type before use. For example:

   sequence <long *> long_star_seq;        // error.

   typedef long * long_star;
   sequence <long_star> long_star_seq;      // OK.


[Back: Extensions to CORBA IDL permitted by SOM IDL]
[Next: Unsigned types]