User-defined data types are defined in shared libraries, which once compiled and built are registered in PlinyCompute’s catalog.
It is up to the user to decide what to include in the class, however it has to satisfy these requirements:
- The class has to derive from pdb::Object
- Include the ENABLE_DEEP_COPY macro in the public section of the class.
To illustrate this, here are two examples of user-defined data types:
- Simple user-defined types: this is a data type that only contains simple types such as int, double, bool, or other objects that derive from pdb::Object.
- Nested user-defined types: this is a data type that contains both simple data type members as well as pdb containers such as pdb::Vector or pdb::Map.