The IGF90 class encapsulates the SEPlib90 data structure and its algebraic operations within a C++ framework. The C++ framework provides an interface to the HCL library, and thus allows the use of the HCL solvers on SEPlib90 data structures. The IGF90 class defines the vector operations of a SEPlib90 data set (its member functions), and has a vector space (its data member), an IGF90Space, which is an opaque handle (a pointer) to the Fortran90 structure that defines the header and grid information of the irregularly-sampled data set. The header information contains the irregular geometry and the grid information contains the mapping information between a specified grid and the geometry.
Nearly all the member functions of the IGF90 class operate on this opaque handle. Those member functions in turn call appropriate Fortran90 routines to do the actual work. The Fortran90 data structure is not accessed within C++; rather, the handle is merely passed around in the C++ world, while the actual computation occurs in the alternate Fortran90 universe.