UmamiFunctions

struct UmamiFunctions

Table of UMAMI entry points, one per function of the UMAMI C interface.

Used to build a MatrixElementApi without a shared library, with Context::add_matrix_element. Each entry accepts a plain C function pointer or a capturing callable. get_meta, initialize, matrix_element and free are required. The others are optional: missing key queries report UMAMI_ERROR_NOT_IMPLEMENTED, and a missing set_parameter only fails if parameters have to be set.

Public Members

std::function<std::remove_pointer_t<decltype(&umami_get_meta)>> get_meta
std::function<std::remove_pointer_t<decltype(&umami_supported_inputs)>> supported_inputs
std::function<std::remove_pointer_t<decltype(&umami_required_inputs)>> required_inputs
std::function<std::remove_pointer_t<decltype(&umami_supported_outputs)>> supported_outputs
std::function<std::remove_pointer_t<decltype(&umami_initialize)>> initialize
std::function<std::remove_pointer_t<decltype(&umami_set_parameter)>> set_parameter
std::function<std::remove_pointer_t<decltype(&umami_matrix_element)>> matrix_element
std::function<std::remove_pointer_t<decltype(&umami_free)>> free