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
array$<$ $>$ varies
rarray$<$Type,Dim$>($index variables$)$ 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 fundamental 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, dcomplex, strings, as well as information about enumerated types and the opaque type are all covered in this Subsection 5.3.

Information about extended types such as Interfaces and Classes along with the methods they contain are described in Section 5.7, and Section 5.4 covers Array.



Subsections


babel-1.4.0
users_guide Last Modified 2008-10-16

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