Kùzu C++ API
Loading...
Searching...
No Matches
kuzu::function::UDF Struct Reference

#include <udf_function.h>

Static Public Member Functions

template<typename T >
static bool templateValidateType (const common::LogicalTypeID &type)
 
template<typename T >
static void validateType (const common::LogicalTypeID &type)
 
template<typename RESULT_TYPE , typename... Args>
static function::scalar_func_exec_t createEmptyParameterExecFunc (RESULT_TYPE(*)(Args...), const std::vector< common::LogicalTypeID > &)
 
template<typename RESULT_TYPE >
static function::scalar_func_exec_t createEmptyParameterExecFunc (RESULT_TYPE(*udfFunc)(), const std::vector< common::LogicalTypeID > &)
 
template<typename RESULT_TYPE , typename... Args>
static function::scalar_func_exec_t createUnaryExecFunc (RESULT_TYPE(*)(Args...), const std::vector< common::LogicalTypeID > &)
 
template<typename RESULT_TYPE , typename OPERAND_TYPE >
static function::scalar_func_exec_t createUnaryExecFunc (RESULT_TYPE(*udfFunc)(OPERAND_TYPE), const std::vector< common::LogicalTypeID > &parameterTypes)
 
template<typename RESULT_TYPE , typename... Args>
static function::scalar_func_exec_t createBinaryExecFunc (RESULT_TYPE(*)(Args...), const std::vector< common::LogicalTypeID > &)
 
template<typename RESULT_TYPE , typename LEFT_TYPE , typename RIGHT_TYPE >
static function::scalar_func_exec_t createBinaryExecFunc (RESULT_TYPE(*udfFunc)(LEFT_TYPE, RIGHT_TYPE), const std::vector< common::LogicalTypeID > &parameterTypes)
 
template<typename RESULT_TYPE , typename... Args>
static function::scalar_func_exec_t createTernaryExecFunc (RESULT_TYPE(*)(Args...), const std::vector< common::LogicalTypeID > &)
 
template<typename RESULT_TYPE , typename A_TYPE , typename B_TYPE , typename C_TYPE >
static function::scalar_func_exec_t createTernaryExecFunc (RESULT_TYPE(*udfFunc)(A_TYPE, B_TYPE, C_TYPE), std::vector< common::LogicalTypeID > parameterTypes)
 
template<typename TR , typename... Args>
static scalar_func_exec_t getScalarExecFunc (TR(*udfFunc)(Args...), std::vector< common::LogicalTypeID > parameterTypes)
 
template<typename T >
static common::LogicalTypeID getParameterType ()
 
template<typename TA >
static void getParameterTypesRecursive (std::vector< common::LogicalTypeID > &arguments)
 
template<typename TA , typename TB , typename... Args>
static void getParameterTypesRecursive (std::vector< common::LogicalTypeID > &arguments)
 
template<typename... Args>
static std::vector< common::LogicalTypeIDgetParameterTypes ()
 
template<typename TR , typename... Args>
static function_set getFunction (std::string name, TR(*udfFunc)(Args...), std::vector< common::LogicalTypeID > parameterTypes, common::LogicalTypeID returnType)
 
template<typename TR , typename... Args>
static function_set getFunction (std::string name, TR(*udfFunc)(Args...))
 
template<typename TR , typename... Args>
static function_set getVectorizedFunction (std::string name, scalar_func_exec_t execFunc)
 
static function_set getVectorizedFunction (std::string name, scalar_func_exec_t execFunc, std::vector< common::LogicalTypeID > parameterTypes, common::LogicalTypeID returnType)
 

Member Function Documentation

◆ createBinaryExecFunc() [1/2]

template<typename RESULT_TYPE , typename... Args>
static function::scalar_func_exec_t kuzu::function::UDF::createBinaryExecFunc ( RESULT_TYPE(*  )(Args...),
const std::vector< common::LogicalTypeID > &  )
inlinestatic

◆ createBinaryExecFunc() [2/2]

template<typename RESULT_TYPE , typename LEFT_TYPE , typename RIGHT_TYPE >
static function::scalar_func_exec_t kuzu::function::UDF::createBinaryExecFunc ( RESULT_TYPE(* udfFunc )(LEFT_TYPE, RIGHT_TYPE),
const std::vector< common::LogicalTypeID > & parameterTypes )
inlinestatic

◆ createEmptyParameterExecFunc() [1/2]

template<typename RESULT_TYPE , typename... Args>
static function::scalar_func_exec_t kuzu::function::UDF::createEmptyParameterExecFunc ( RESULT_TYPE(*  )(Args...),
const std::vector< common::LogicalTypeID > &  )
inlinestatic

◆ createEmptyParameterExecFunc() [2/2]

template<typename RESULT_TYPE >
static function::scalar_func_exec_t kuzu::function::UDF::createEmptyParameterExecFunc ( RESULT_TYPE(* udfFunc )(),
const std::vector< common::LogicalTypeID > &  )
inlinestatic

◆ createTernaryExecFunc() [1/2]

template<typename RESULT_TYPE , typename... Args>
static function::scalar_func_exec_t kuzu::function::UDF::createTernaryExecFunc ( RESULT_TYPE(*  )(Args...),
const std::vector< common::LogicalTypeID > &  )
inlinestatic

◆ createTernaryExecFunc() [2/2]

template<typename RESULT_TYPE , typename A_TYPE , typename B_TYPE , typename C_TYPE >
static function::scalar_func_exec_t kuzu::function::UDF::createTernaryExecFunc ( RESULT_TYPE(* udfFunc )(A_TYPE, B_TYPE, C_TYPE),
std::vector< common::LogicalTypeID > parameterTypes )
inlinestatic

◆ createUnaryExecFunc() [1/2]

template<typename RESULT_TYPE , typename... Args>
static function::scalar_func_exec_t kuzu::function::UDF::createUnaryExecFunc ( RESULT_TYPE(*  )(Args...),
const std::vector< common::LogicalTypeID > &  )
inlinestatic

◆ createUnaryExecFunc() [2/2]

template<typename RESULT_TYPE , typename OPERAND_TYPE >
static function::scalar_func_exec_t kuzu::function::UDF::createUnaryExecFunc ( RESULT_TYPE(* udfFunc )(OPERAND_TYPE),
const std::vector< common::LogicalTypeID > & parameterTypes )
inlinestatic

◆ getFunction() [1/2]

template<typename TR , typename... Args>
static function_set kuzu::function::UDF::getFunction ( std::string name,
TR(* udfFunc )(Args...) )
inlinestatic

◆ getFunction() [2/2]

template<typename TR , typename... Args>
static function_set kuzu::function::UDF::getFunction ( std::string name,
TR(* udfFunc )(Args...),
std::vector< common::LogicalTypeID > parameterTypes,
common::LogicalTypeID returnType )
inlinestatic

◆ getParameterType()

template<typename T >
static common::LogicalTypeID kuzu::function::UDF::getParameterType ( )
inlinestatic

◆ getParameterTypes()

template<typename... Args>
static std::vector< common::LogicalTypeID > kuzu::function::UDF::getParameterTypes ( )
inlinestatic

◆ getParameterTypesRecursive() [1/2]

template<typename TA >
static void kuzu::function::UDF::getParameterTypesRecursive ( std::vector< common::LogicalTypeID > & arguments)
inlinestatic

◆ getParameterTypesRecursive() [2/2]

template<typename TA , typename TB , typename... Args>
static void kuzu::function::UDF::getParameterTypesRecursive ( std::vector< common::LogicalTypeID > & arguments)
inlinestatic

◆ getScalarExecFunc()

template<typename TR , typename... Args>
static scalar_func_exec_t kuzu::function::UDF::getScalarExecFunc ( TR(* udfFunc )(Args...),
std::vector< common::LogicalTypeID > parameterTypes )
inlinestatic

◆ getVectorizedFunction() [1/2]

template<typename TR , typename... Args>
static function_set kuzu::function::UDF::getVectorizedFunction ( std::string name,
scalar_func_exec_t execFunc )
inlinestatic

◆ getVectorizedFunction() [2/2]

static function_set kuzu::function::UDF::getVectorizedFunction ( std::string name,
scalar_func_exec_t execFunc,
std::vector< common::LogicalTypeID > parameterTypes,
common::LogicalTypeID returnType )
inlinestatic

◆ templateValidateType()

template<typename T >
static bool kuzu::function::UDF::templateValidateType ( const common::LogicalTypeID & type)
inlinestatic

◆ validateType()

template<typename T >
static void kuzu::function::UDF::validateType ( const common::LogicalTypeID & type)
inlinestatic

The documentation for this struct was generated from the following file: