Kuzu C++ API
Loading...
Searching...
No Matches
kuzu::function::BinaryFunctionExecutor Struct Reference

#include <binary_function_executor.h>

Classes

struct  BinaryComparisonSelectWrapper
 
struct  BinarySelectWrapper
 

Static Public Member Functions

template<typename LEFT_TYPE, typename RIGHT_TYPE, typename RESULT_TYPE, typename FUNC, typename OP_WRAPPER>
static void executeOnValue (common::ValueVector &left, common::ValueVector &right, common::ValueVector &resultValueVector, uint64_t lPos, uint64_t rPos, uint64_t resPos, void *dataPtr)
 
static std::tuple< common::sel_t, common::sel_t, common::sel_tgetSelectedPositions (common::SelectionVector *leftSelVector, common::SelectionVector *rightSelVector, common::SelectionVector *resultSelVector, common::sel_t selPos, bool leftFlat, bool rightFlat)
 
template<typename LEFT_TYPE, typename RIGHT_TYPE, typename RESULT_TYPE, typename FUNC, typename OP_WRAPPER>
static void executeOnSelectedValues (common::ValueVector &left, common::SelectionVector *leftSelVector, common::ValueVector &right, common::SelectionVector *rightSelVector, common::ValueVector &result, common::SelectionVector *resultSelVector, void *dataPtr)
 
template<typename LEFT_TYPE, typename RIGHT_TYPE, typename RESULT_TYPE, typename FUNC, typename OP_WRAPPER>
static void executeSwitch (common::ValueVector &left, common::SelectionVector *leftSelVector, common::ValueVector &right, common::SelectionVector *rightSelVector, common::ValueVector &result, common::SelectionVector *resultSelVector, void *dataPtr)
 
template<typename LEFT_TYPE, typename RIGHT_TYPE, typename RESULT_TYPE, typename FUNC>
static void execute (common::ValueVector &left, common::SelectionVector *leftSelVector, common::ValueVector &right, common::SelectionVector *rightSelVector, common::ValueVector &result, common::SelectionVector *resultSelVector)
 
template<class LEFT_TYPE, class RIGHT_TYPE, class FUNC, typename SELECT_WRAPPER>
static void selectOnValue (common::ValueVector &left, common::ValueVector &right, uint64_t lPos, uint64_t rPos, uint64_t resPos, uint64_t &numSelectedValues, std::span< common::sel_t > selectedPositionsBuffer, void *dataPtr)
 
template<class LEFT_TYPE, class RIGHT_TYPE, class FUNC, typename SELECT_WRAPPER>
static uint64_t selectBothFlat (common::ValueVector &left, common::ValueVector &right, void *dataPtr)
 
template<typename LEFT_TYPE, typename RIGHT_TYPE, typename FUNC, typename SELECT_WRAPPER>
static bool selectFlatUnFlat (common::ValueVector &left, common::ValueVector &right, common::SelectionVector &selVector, void *dataPtr)
 
template<typename LEFT_TYPE, typename RIGHT_TYPE, typename FUNC, typename SELECT_WRAPPER>
static bool selectUnFlatFlat (common::ValueVector &left, common::ValueVector &right, common::SelectionVector &selVector, void *dataPtr)
 
template<class LEFT_TYPE, class RIGHT_TYPE, class FUNC, typename SELECT_WRAPPER>
static bool selectBothUnFlat (common::ValueVector &left, common::ValueVector &right, common::SelectionVector &selVector, void *dataPtr)
 
template<class LEFT_TYPE, class RIGHT_TYPE, class FUNC, typename OP_WRAPPER = BinarySelectWrapper>
static bool select (common::ValueVector &left, common::ValueVector &right, common::SelectionVector &selVector, void *dataPtr)
 
template<class LEFT_TYPE, class RIGHT_TYPE, class FUNC>
static bool selectComparison (common::ValueVector &left, common::ValueVector &right, common::SelectionVector &selVector, void *dataPtr)
 

Member Function Documentation

◆ execute()

template<typename LEFT_TYPE, typename RIGHT_TYPE, typename RESULT_TYPE, typename FUNC>
static void kuzu::function::BinaryFunctionExecutor::execute ( common::ValueVector & left,
common::SelectionVector * leftSelVector,
common::ValueVector & right,
common::SelectionVector * rightSelVector,
common::ValueVector & result,
common::SelectionVector * resultSelVector )
inlinestatic

◆ executeOnSelectedValues()

template<typename LEFT_TYPE, typename RIGHT_TYPE, typename RESULT_TYPE, typename FUNC, typename OP_WRAPPER>
static void kuzu::function::BinaryFunctionExecutor::executeOnSelectedValues ( common::ValueVector & left,
common::SelectionVector * leftSelVector,
common::ValueVector & right,
common::SelectionVector * rightSelVector,
common::ValueVector & result,
common::SelectionVector * resultSelVector,
void * dataPtr )
inlinestatic

◆ executeOnValue()

template<typename LEFT_TYPE, typename RIGHT_TYPE, typename RESULT_TYPE, typename FUNC, typename OP_WRAPPER>
static void kuzu::function::BinaryFunctionExecutor::executeOnValue ( common::ValueVector & left,
common::ValueVector & right,
common::ValueVector & resultValueVector,
uint64_t lPos,
uint64_t rPos,
uint64_t resPos,
void * dataPtr )
inlinestatic

◆ executeSwitch()

template<typename LEFT_TYPE, typename RIGHT_TYPE, typename RESULT_TYPE, typename FUNC, typename OP_WRAPPER>
static void kuzu::function::BinaryFunctionExecutor::executeSwitch ( common::ValueVector & left,
common::SelectionVector * leftSelVector,
common::ValueVector & right,
common::SelectionVector * rightSelVector,
common::ValueVector & result,
common::SelectionVector * resultSelVector,
void * dataPtr )
inlinestatic

◆ getSelectedPositions()

static std::tuple< common::sel_t, common::sel_t, common::sel_t > kuzu::function::BinaryFunctionExecutor::getSelectedPositions ( common::SelectionVector * leftSelVector,
common::SelectionVector * rightSelVector,
common::SelectionVector * resultSelVector,
common::sel_t selPos,
bool leftFlat,
bool rightFlat )
inlinestatic

◆ select()

template<class LEFT_TYPE, class RIGHT_TYPE, class FUNC, typename OP_WRAPPER = BinarySelectWrapper>
static bool kuzu::function::BinaryFunctionExecutor::select ( common::ValueVector & left,
common::ValueVector & right,
common::SelectionVector & selVector,
void * dataPtr )
inlinestatic

◆ selectBothFlat()

template<class LEFT_TYPE, class RIGHT_TYPE, class FUNC, typename SELECT_WRAPPER>
static uint64_t kuzu::function::BinaryFunctionExecutor::selectBothFlat ( common::ValueVector & left,
common::ValueVector & right,
void * dataPtr )
inlinestatic

◆ selectBothUnFlat()

template<class LEFT_TYPE, class RIGHT_TYPE, class FUNC, typename SELECT_WRAPPER>
static bool kuzu::function::BinaryFunctionExecutor::selectBothUnFlat ( common::ValueVector & left,
common::ValueVector & right,
common::SelectionVector & selVector,
void * dataPtr )
inlinestatic

◆ selectComparison()

template<class LEFT_TYPE, class RIGHT_TYPE, class FUNC>
static bool kuzu::function::BinaryFunctionExecutor::selectComparison ( common::ValueVector & left,
common::ValueVector & right,
common::SelectionVector & selVector,
void * dataPtr )
inlinestatic

◆ selectFlatUnFlat()

template<typename LEFT_TYPE, typename RIGHT_TYPE, typename FUNC, typename SELECT_WRAPPER>
static bool kuzu::function::BinaryFunctionExecutor::selectFlatUnFlat ( common::ValueVector & left,
common::ValueVector & right,
common::SelectionVector & selVector,
void * dataPtr )
inlinestatic

◆ selectOnValue()

template<class LEFT_TYPE, class RIGHT_TYPE, class FUNC, typename SELECT_WRAPPER>
static void kuzu::function::BinaryFunctionExecutor::selectOnValue ( common::ValueVector & left,
common::ValueVector & right,
uint64_t lPos,
uint64_t rPos,
uint64_t resPos,
uint64_t & numSelectedValues,
std::span< common::sel_t > selectedPositionsBuffer,
void * dataPtr )
inlinestatic

◆ selectUnFlatFlat()

template<typename LEFT_TYPE, typename RIGHT_TYPE, typename FUNC, typename SELECT_WRAPPER>
static bool kuzu::function::BinaryFunctionExecutor::selectUnFlatFlat ( common::ValueVector & left,
common::ValueVector & right,
common::SelectionVector & selVector,
void * dataPtr )
inlinestatic

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