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

#include <scalar_function.h>

Inheritance diagram for kuzu::function::ScalarFunction:
kuzu::function::ScalarOrAggregateFunction kuzu::function::Function

Public Member Functions

 ScalarFunction ()=default
 
 ScalarFunction (std::string name, std::vector< common::LogicalTypeID > parameterTypeIDs, common::LogicalTypeID returnTypeID, scalar_func_exec_t execFunc)
 
 ScalarFunction (std::string name, std::vector< common::LogicalTypeID > parameterTypeIDs, common::LogicalTypeID returnTypeID, scalar_func_exec_t execFunc, scalar_func_select_t selectFunc)
 
 ScalarFunction (std::string name, std::vector< common::LogicalTypeID > parameterTypeIDs, common::LogicalTypeID returnTypeID, scalar_func_exec_t execFunc, scalar_func_select_t selectFunc, scalar_bind_func bindFunc)
 
 ScalarFunction (std::string name, std::vector< common::LogicalTypeID > parameterTypeIDs, common::LogicalTypeID returnTypeID, scalar_func_exec_t execFunc, scalar_func_select_t selectFunc, scalar_func_compile_exec_t compileFunc, scalar_bind_func bindFunc)
 
 ScalarFunction (std::string name, std::vector< common::LogicalTypeID > parameterTypeIDs, common::LogicalTypeID returnTypeID, scalar_bind_func bindFunc)
 
 ScalarFunction (std::string name, std::vector< common::LogicalTypeID > parameterTypeIDs, common::LogicalTypeID returnTypeID, scalar_func_exec_t execFunc, scalar_bind_func bindFunc)
 
virtual std::unique_ptr< ScalarFunctioncopy () const
 
- Public Member Functions inherited from kuzu::function::ScalarOrAggregateFunction
 ScalarOrAggregateFunction ()
 
 ScalarOrAggregateFunction (std::string name, std::vector< common::LogicalTypeID > parameterTypeIDs, common::LogicalTypeID returnTypeID, scalar_bind_func bindFunc)
 
std::string signatureToString () const override
 
- Public Member Functions inherited from kuzu::function::Function
 Function ()
 
 Function (std::string name, std::vector< common::LogicalTypeID > parameterTypeIDs)
 
 Function (const Function &)=default
 
virtual ~Function ()=default
 
template<class TARGET >
const TARGET * constPtrCast () const
 
template<class TARGET >
TARGET * ptrCast ()
 

Static Public Member Functions

template<typename A_TYPE , typename B_TYPE , typename C_TYPE , typename RESULT_TYPE , typename FUNC >
static void TernaryExecFunction (const std::vector< std::shared_ptr< common::ValueVector > > &params, common::ValueVector &result, void *=nullptr)
 
template<typename A_TYPE , typename B_TYPE , typename C_TYPE , typename RESULT_TYPE , typename FUNC >
static void TernaryStringExecFunction (const std::vector< std::shared_ptr< common::ValueVector > > &params, common::ValueVector &result, void *=nullptr)
 
template<typename A_TYPE , typename B_TYPE , typename C_TYPE , typename RESULT_TYPE , typename FUNC >
static void TernaryRegexExecFunction (const std::vector< std::shared_ptr< common::ValueVector > > &params, common::ValueVector &result, void *dataPtr)
 
template<typename LEFT_TYPE , typename RIGHT_TYPE , typename RESULT_TYPE , typename FUNC >
static void BinaryExecFunction (const std::vector< std::shared_ptr< common::ValueVector > > &params, common::ValueVector &result, void *=nullptr)
 
template<typename LEFT_TYPE , typename RIGHT_TYPE , typename RESULT_TYPE , typename FUNC >
static void BinaryStringExecFunction (const std::vector< std::shared_ptr< common::ValueVector > > &params, common::ValueVector &result, void *=nullptr)
 
template<typename LEFT_TYPE , typename RIGHT_TYPE , typename FUNC >
static bool BinarySelectFunction (const std::vector< std::shared_ptr< common::ValueVector > > &params, common::SelectionVector &selVector)
 
template<typename OPERAND_TYPE , typename RESULT_TYPE , typename FUNC , typename EXECUTOR = UnaryFunctionExecutor>
static void UnaryExecFunction (const std::vector< std::shared_ptr< common::ValueVector > > &params, common::ValueVector &result, void *dataPtr)
 
template<typename OPERAND_TYPE , typename RESULT_TYPE , typename FUNC >
static void UnarySequenceExecFunction (const std::vector< std::shared_ptr< common::ValueVector > > &params, common::ValueVector &result, void *dataPtr)
 
template<typename OPERAND_TYPE , typename RESULT_TYPE , typename FUNC >
static void UnaryStringExecFunction (const std::vector< std::shared_ptr< common::ValueVector > > &params, common::ValueVector &result, void *=nullptr)
 
template<typename OPERAND_TYPE , typename RESULT_TYPE , typename FUNC , typename EXECUTOR = UnaryFunctionExecutor>
static void UnaryCastStringExecFunction (const std::vector< std::shared_ptr< common::ValueVector > > &params, common::ValueVector &result, void *dataPtr)
 
template<typename OPERAND_TYPE , typename RESULT_TYPE , typename FUNC , typename EXECUTOR = UnaryFunctionExecutor>
static void UnaryCastExecFunction (const std::vector< std::shared_ptr< common::ValueVector > > &params, common::ValueVector &result, void *dataPtr)
 
template<typename OPERAND_TYPE , typename RESULT_TYPE , typename FUNC >
static void UnaryExecNestedTypeFunction (const std::vector< std::shared_ptr< common::ValueVector > > &params, common::ValueVector &result, void *=nullptr)
 
template<typename OPERAND_TYPE , typename RESULT_TYPE , typename FUNC >
static void UnaryExecStructFunction (const std::vector< std::shared_ptr< common::ValueVector > > &params, common::ValueVector &result, void *dataPtr)
 
template<typename RESULT_TYPE , typename FUNC >
static void NullaryExecFunction (const std::vector< std::shared_ptr< common::ValueVector > > &params, common::ValueVector &result, void *=nullptr)
 
template<typename RESULT_TYPE , typename FUNC >
static void NullaryAuxilaryExecFunction (const std::vector< std::shared_ptr< common::ValueVector > > &params, common::ValueVector &result, void *dataPtr)
 
template<typename A_TYPE , typename B_TYPE , typename C_TYPE , typename RESULT_TYPE , typename FUNC >
static void TernaryExecListStructFunction (const std::vector< std::shared_ptr< common::ValueVector > > &params, common::ValueVector &result, void *=nullptr)
 
template<typename LEFT_TYPE , typename RIGHT_TYPE , typename RESULT_TYPE , typename FUNC >
static void BinaryExecListStructFunction (const std::vector< std::shared_ptr< common::ValueVector > > &params, common::ValueVector &result, void *=nullptr)
 
template<typename LEFT_TYPE , typename RIGHT_TYPE , typename RESULT_TYPE , typename FUNC >
static void BinaryExecMapCreationFunction (const std::vector< std::shared_ptr< common::ValueVector > > &params, common::ValueVector &result, void *dataPtr)
 

Public Attributes

scalar_func_exec_t execFunc = nullptr
 
scalar_func_select_t selectFunc = nullptr
 
scalar_func_compile_exec_t compileFunc = nullptr
 
- Public Attributes inherited from kuzu::function::ScalarOrAggregateFunction
common::LogicalTypeID returnTypeID
 
scalar_bind_func bindFunc
 
- Public Attributes inherited from kuzu::function::Function
std::string name
 
std::vector< common::LogicalTypeIDparameterTypeIDs
 
bool isVarLength = false
 
bool isListLambda = false
 

Constructor & Destructor Documentation

◆ ScalarFunction() [1/7]

kuzu::function::ScalarFunction::ScalarFunction ( )
default

◆ ScalarFunction() [2/7]

kuzu::function::ScalarFunction::ScalarFunction ( std::string name,
std::vector< common::LogicalTypeID > parameterTypeIDs,
common::LogicalTypeID returnTypeID,
scalar_func_exec_t execFunc )
inline

◆ ScalarFunction() [3/7]

kuzu::function::ScalarFunction::ScalarFunction ( std::string name,
std::vector< common::LogicalTypeID > parameterTypeIDs,
common::LogicalTypeID returnTypeID,
scalar_func_exec_t execFunc,
scalar_func_select_t selectFunc )
inline

◆ ScalarFunction() [4/7]

kuzu::function::ScalarFunction::ScalarFunction ( std::string name,
std::vector< common::LogicalTypeID > parameterTypeIDs,
common::LogicalTypeID returnTypeID,
scalar_func_exec_t execFunc,
scalar_func_select_t selectFunc,
scalar_bind_func bindFunc )
inline

◆ ScalarFunction() [5/7]

kuzu::function::ScalarFunction::ScalarFunction ( std::string name,
std::vector< common::LogicalTypeID > parameterTypeIDs,
common::LogicalTypeID returnTypeID,
scalar_func_exec_t execFunc,
scalar_func_select_t selectFunc,
scalar_func_compile_exec_t compileFunc,
scalar_bind_func bindFunc )
inline

◆ ScalarFunction() [6/7]

kuzu::function::ScalarFunction::ScalarFunction ( std::string name,
std::vector< common::LogicalTypeID > parameterTypeIDs,
common::LogicalTypeID returnTypeID,
scalar_bind_func bindFunc )
inline

◆ ScalarFunction() [7/7]

kuzu::function::ScalarFunction::ScalarFunction ( std::string name,
std::vector< common::LogicalTypeID > parameterTypeIDs,
common::LogicalTypeID returnTypeID,
scalar_func_exec_t execFunc,
scalar_bind_func bindFunc )
inline

Member Function Documentation

◆ BinaryExecFunction()

template<typename LEFT_TYPE , typename RIGHT_TYPE , typename RESULT_TYPE , typename FUNC >
static void kuzu::function::ScalarFunction::BinaryExecFunction ( const std::vector< std::shared_ptr< common::ValueVector > > & params,
common::ValueVector & result,
void * = nullptr )
inlinestatic

◆ BinaryExecListStructFunction()

template<typename LEFT_TYPE , typename RIGHT_TYPE , typename RESULT_TYPE , typename FUNC >
static void kuzu::function::ScalarFunction::BinaryExecListStructFunction ( const std::vector< std::shared_ptr< common::ValueVector > > & params,
common::ValueVector & result,
void * = nullptr )
inlinestatic

◆ BinaryExecMapCreationFunction()

template<typename LEFT_TYPE , typename RIGHT_TYPE , typename RESULT_TYPE , typename FUNC >
static void kuzu::function::ScalarFunction::BinaryExecMapCreationFunction ( const std::vector< std::shared_ptr< common::ValueVector > > & params,
common::ValueVector & result,
void * dataPtr )
inlinestatic

◆ BinarySelectFunction()

template<typename LEFT_TYPE , typename RIGHT_TYPE , typename FUNC >
static bool kuzu::function::ScalarFunction::BinarySelectFunction ( const std::vector< std::shared_ptr< common::ValueVector > > & params,
common::SelectionVector & selVector )
inlinestatic

◆ BinaryStringExecFunction()

template<typename LEFT_TYPE , typename RIGHT_TYPE , typename RESULT_TYPE , typename FUNC >
static void kuzu::function::ScalarFunction::BinaryStringExecFunction ( const std::vector< std::shared_ptr< common::ValueVector > > & params,
common::ValueVector & result,
void * = nullptr )
inlinestatic

◆ copy()

virtual std::unique_ptr< ScalarFunction > kuzu::function::ScalarFunction::copy ( ) const
inlinevirtual

◆ NullaryAuxilaryExecFunction()

template<typename RESULT_TYPE , typename FUNC >
static void kuzu::function::ScalarFunction::NullaryAuxilaryExecFunction ( const std::vector< std::shared_ptr< common::ValueVector > > & params,
common::ValueVector & result,
void * dataPtr )
inlinestatic

◆ NullaryExecFunction()

template<typename RESULT_TYPE , typename FUNC >
static void kuzu::function::ScalarFunction::NullaryExecFunction ( const std::vector< std::shared_ptr< common::ValueVector > > & params,
common::ValueVector & result,
void * = nullptr )
inlinestatic

◆ TernaryExecFunction()

template<typename A_TYPE , typename B_TYPE , typename C_TYPE , typename RESULT_TYPE , typename FUNC >
static void kuzu::function::ScalarFunction::TernaryExecFunction ( const std::vector< std::shared_ptr< common::ValueVector > > & params,
common::ValueVector & result,
void * = nullptr )
inlinestatic

◆ TernaryExecListStructFunction()

template<typename A_TYPE , typename B_TYPE , typename C_TYPE , typename RESULT_TYPE , typename FUNC >
static void kuzu::function::ScalarFunction::TernaryExecListStructFunction ( const std::vector< std::shared_ptr< common::ValueVector > > & params,
common::ValueVector & result,
void * = nullptr )
inlinestatic

◆ TernaryRegexExecFunction()

template<typename A_TYPE , typename B_TYPE , typename C_TYPE , typename RESULT_TYPE , typename FUNC >
static void kuzu::function::ScalarFunction::TernaryRegexExecFunction ( const std::vector< std::shared_ptr< common::ValueVector > > & params,
common::ValueVector & result,
void * dataPtr )
inlinestatic

◆ TernaryStringExecFunction()

template<typename A_TYPE , typename B_TYPE , typename C_TYPE , typename RESULT_TYPE , typename FUNC >
static void kuzu::function::ScalarFunction::TernaryStringExecFunction ( const std::vector< std::shared_ptr< common::ValueVector > > & params,
common::ValueVector & result,
void * = nullptr )
inlinestatic

◆ UnaryCastExecFunction()

template<typename OPERAND_TYPE , typename RESULT_TYPE , typename FUNC , typename EXECUTOR = UnaryFunctionExecutor>
static void kuzu::function::ScalarFunction::UnaryCastExecFunction ( const std::vector< std::shared_ptr< common::ValueVector > > & params,
common::ValueVector & result,
void * dataPtr )
inlinestatic

◆ UnaryCastStringExecFunction()

template<typename OPERAND_TYPE , typename RESULT_TYPE , typename FUNC , typename EXECUTOR = UnaryFunctionExecutor>
static void kuzu::function::ScalarFunction::UnaryCastStringExecFunction ( const std::vector< std::shared_ptr< common::ValueVector > > & params,
common::ValueVector & result,
void * dataPtr )
inlinestatic

◆ UnaryExecFunction()

template<typename OPERAND_TYPE , typename RESULT_TYPE , typename FUNC , typename EXECUTOR = UnaryFunctionExecutor>
static void kuzu::function::ScalarFunction::UnaryExecFunction ( const std::vector< std::shared_ptr< common::ValueVector > > & params,
common::ValueVector & result,
void * dataPtr )
inlinestatic

◆ UnaryExecNestedTypeFunction()

template<typename OPERAND_TYPE , typename RESULT_TYPE , typename FUNC >
static void kuzu::function::ScalarFunction::UnaryExecNestedTypeFunction ( const std::vector< std::shared_ptr< common::ValueVector > > & params,
common::ValueVector & result,
void * = nullptr )
inlinestatic

◆ UnaryExecStructFunction()

template<typename OPERAND_TYPE , typename RESULT_TYPE , typename FUNC >
static void kuzu::function::ScalarFunction::UnaryExecStructFunction ( const std::vector< std::shared_ptr< common::ValueVector > > & params,
common::ValueVector & result,
void * dataPtr )
inlinestatic

◆ UnarySequenceExecFunction()

template<typename OPERAND_TYPE , typename RESULT_TYPE , typename FUNC >
static void kuzu::function::ScalarFunction::UnarySequenceExecFunction ( const std::vector< std::shared_ptr< common::ValueVector > > & params,
common::ValueVector & result,
void * dataPtr )
inlinestatic

◆ UnaryStringExecFunction()

template<typename OPERAND_TYPE , typename RESULT_TYPE , typename FUNC >
static void kuzu::function::ScalarFunction::UnaryStringExecFunction ( const std::vector< std::shared_ptr< common::ValueVector > > & params,
common::ValueVector & result,
void * = nullptr )
inlinestatic

Member Data Documentation

◆ compileFunc

scalar_func_compile_exec_t kuzu::function::ScalarFunction::compileFunc = nullptr

◆ execFunc

scalar_func_exec_t kuzu::function::ScalarFunction::execFunc = nullptr

◆ selectFunc

scalar_func_select_t kuzu::function::ScalarFunction::selectFunc = nullptr

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