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

#include <scalar_function.h>

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

Public Member Functions

 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)
 
std::unique_ptr< Functioncopy () const override
 
- Public Member Functions inherited from kuzu::function::BaseScalarFunction
 BaseScalarFunction (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 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 , typename EXECUTOR = UnaryFunctionExecutor>
static void UnaryRdfVariantCastExecFunction (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 UnaryExecNestedTypeFunction (const std::vector< std::shared_ptr< common::ValueVector > > &params, common::ValueVector &result, void *=nullptr)
 
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
 
scalar_func_select_t selectFunc
 
scalar_func_compile_exec_t compileFunc
 
- Public Attributes inherited from kuzu::function::BaseScalarFunction
common::LogicalTypeID returnTypeID
 
scalar_bind_func bindFunc
 
- Public Attributes inherited from kuzu::function::Function
std::string name
 
std::vector< common::LogicalTypeIDparameterTypeIDs
 
bool isVarLength
 

Constructor & Destructor Documentation

◆ ScalarFunction() [1/6]

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

◆ ScalarFunction() [2/6]

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() [3/6]

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() [4/6]

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() [5/6]

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

◆ ScalarFunction() [6/6]

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()

std::unique_ptr< Function > kuzu::function::ScalarFunction::copy ( ) const
inlineoverridevirtual

◆ 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

◆ 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

◆ UnaryRdfVariantCastExecFunction()

template<typename OPERAND_TYPE , typename RESULT_TYPE , typename FUNC , typename EXECUTOR = UnaryFunctionExecutor>
static void kuzu::function::ScalarFunction::UnaryRdfVariantCastExecFunction ( const std::vector< std::shared_ptr< common::ValueVector > > & params,
common::ValueVector & result,
void * = nullptr )
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

◆ execFunc

scalar_func_exec_t kuzu::function::ScalarFunction::execFunc

◆ selectFunc

scalar_func_select_t kuzu::function::ScalarFunction::selectFunc

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