Fundamental Types


Table 5.1: SIDL Types
SIDL TYPE SIZE (BITS)
bool 1
char 8
int 32
long 64
float 32
double 64
fcomplex 64
dcomplex 128
opaque 64
string varies
enum 32
interface varies
class varies
array$<$Type,Dim$>$ varies

Table 5.1 briefly shows the different data types that are supported in Babel. Refer to each chapter for the language specific bindings for each SIDL type. The ``S'' in SIDL stands for ``Scientific.'' This emphasis is reflected in the fundametal support for complex numbers (fcomplex and dcomplex) and dynamic multidimensional arrays (array$<$Type,Dim$>$).

C++ developers looking at the SIDL syntax for arrays, might think that SIDL is a templated IDL, but this is not so. Although the syntax for SIDL arrays looks like a template, it is specific only to the array type. Developers cannot create templated classes or methods in SIDL.
\begin{rationale}
Although C++ templates are a very powerful programming
mechan...
... have to add babel C++ bindings on a compiler by compiler basis.
\end{rationale}

Discussion of the various types is broken up into sections. Numeric types such as bool, char, int, long, float, double, fcomplex, and dcomplex are discussed in SubSection 5.3. Discussion of strings is found in SubSection 5.3. A brief justification for the opaque type is in SubSection 5.3. Information about enumerated types is presented in SubSection 5.3 which concludes our discussion of fundamental types and this section. Information about extended types such as Interfaces and Classes (Section 5.6) and Arrays (Section [*] follow thereafter.



Subsections


babel-0.9.4
users_guide Last Modified 2004-08-17

http://www.llnl.gov/CASC/components
components@llnl.gov