The process of creating a buffer. The C wrapper may create an additional function for each wrapped function. This function has additional arguments needed for the Fortran interface to pass the metadata of the argument such as the size.
The wrapper with a C API. When wrapping C++, the C wrapper will be C++ code but functions will use
extern "C"block to allow them to be called from C and Fortran using the
Holds a pointer to a C++ class instance and some memory management flags. The name was inspired by the Python
Fortran functions which call the C wrapper functions.
A collection of C++ declarations wrapped at the same time. This creates a Fortran or Python module.
Integer or real of any size.
A Fortran derived type which contains a capsule and type-bound functions to provide a Fortran object-oriented interface similar to a C++ class. Similar to a PyObject struct in Python.
A block of code which implements the wrapper. It is generated by Shroud but can be replaced with a user provided implementation. A splicer also provides a place to insert code into a generated file a well defined places. This allows user provided code to be preserved when regenerating wrappers.