Op

All operations in SAL are passed around by subclasses of Op classes. Op classes are templates, with parameters for argument and return types. There are different Op classes with different numbers of arguments and void/non-void return types. An op provides a "call" function of the proper signature.

Base classes:

Application specific code inherits from these base classes as appropriate. To make your code more readable, there is a tool that will set up classes for you.