This is the SPL Runtime C++ API documentation. These APIs are used to develop SPL primitive operators in C++ and native functions in C++.
SPL operator APIs are covered under the following namespaces:
These classes are targeted at operator development. Type related classes are used to manipulate tuples, whereas operator related classes are used to interact with the SPL runtime. Meta type classes are useful for runtime introspection of tuples and SPL types in general.
All SPL types have their corresponding types in C++. The C++ types extend the C++ standard library types when the appropriate types are present in the standard library. An example is SPL::list, which extends std::vector. C++ types that represent SPL composite types use multiple inheritance and extend from a base class that provides support for reflective manipulation. For instance, SPL::list not only extends from the std::vector class, but also from the SPL::List class. The latter provides the ability to manipulate the contents of the list without compile-time knowledge of the contained type.
SPL native function APIs are covered under the SPL::Functions namespace, and contain the following sub-namespaces:
These functions provide the C++ counterparts of the native functions present in the SPL standard toolkit. They are most commonly used for implementation of new native functions that make use of the ones present in the SPL standard toolkit. They can also be used to implement C++ operators.