OmniSciDB  29e35f4d58
Call Class Reference

#include <ResultSetReductionOps.h>

+ Inheritance diagram for Call:
+ Collaboration diagram for Call:

Public Member Functions

 Call (const Function *callee, const std::vector< const Value *> &arguments, const std::string &label)
 
 Call (const std::string &callee_name, const std::vector< const Value *> &arguments, const std::string &label)
 
 Call (const std::string &callee_name, const Type returnType, const std::vector< const Value *> &arguments, const std::string &label)
 
bool external () const
 
const std::string & callee_name () const
 
const Functioncallee () const
 
const std::vector< const Value * > & arguments () const
 
void run (ReductionInterpreterImpl *interpreter) override
 
void * cached_callee () const
 
void set_cached_callee (void *cached_callee) const
 
- Public Member Functions inherited from Instruction
 Instruction (const Type type, const std::string &label)
 
- Public Member Functions inherited from Value
 Value (const Type type, const std::string &label)
 
Type type () const
 
size_t id () const
 
const std::string & label () const
 
virtual ~Value ()=default
 

Private Attributes

const std::string callee_name_
 
const Functioncallee_
 
const std::vector< const Value * > arguments_
 
void * cached_callee_
 

Detailed Description

Definition at line 338 of file ResultSetReductionOps.h.

Constructor & Destructor Documentation

◆ Call() [1/3]

Call::Call ( const Function callee,
const std::vector< const Value *> &  arguments,
const std::string &  label 
)
inline

Definition at line 340 of file ResultSetReductionOps.h.

343  : Instruction(callee->ret_type(), label)
344  , callee_(callee)
346  , cached_callee_(nullptr) {}
const std::vector< const Value * > arguments_
Instruction(const Type type, const std::string &label)
void * cached_callee_
Type ret_type() const
const std::vector< const Value * > & arguments() const
const Function * callee_
const std::string & label() const

◆ Call() [2/3]

Call::Call ( const std::string &  callee_name,
const std::vector< const Value *> &  arguments,
const std::string &  label 
)
inline

Definition at line 348 of file ResultSetReductionOps.h.

353  , callee_(nullptr)
355  , cached_callee_(nullptr) {}
const std::vector< const Value * > arguments_
const std::string callee_name_
Instruction(const Type type, const std::string &label)
void * cached_callee_
const std::string & callee_name() const
const std::vector< const Value * > & arguments() const
const Function * callee_
const std::string & label() const

◆ Call() [3/3]

Call::Call ( const std::string &  callee_name,
const Type  returnType,
const std::vector< const Value *> &  arguments,
const std::string &  label 
)
inline

Definition at line 357 of file ResultSetReductionOps.h.

361  : Instruction(returnType, label)
363  , callee_(nullptr)
365  , cached_callee_(nullptr) {}
const std::vector< const Value * > arguments_
const std::string callee_name_
Instruction(const Type type, const std::string &label)
void * cached_callee_
const std::string & callee_name() const
const std::vector< const Value * > & arguments() const
const Function * callee_
const std::string & label() const

Member Function Documentation

◆ arguments()

const std::vector<const Value*>& Call::arguments ( ) const
inline

Definition at line 373 of file ResultSetReductionOps.h.

References run.

Referenced by ReductionInterpreterImpl::bindStub(), and ReductionInterpreterImpl::getCallInputs().

373 { return arguments_; }
const std::vector< const Value * > arguments_
+ Here is the caller graph for this function:

◆ cached_callee()

void* Call::cached_callee ( ) const
inline

Definition at line 377 of file ResultSetReductionOps.h.

Referenced by ReductionInterpreterImpl::bindStub().

377 { return cached_callee_; }
void * cached_callee_
+ Here is the caller graph for this function:

◆ callee()

const Function* Call::callee ( ) const
inline

Definition at line 371 of file ResultSetReductionOps.h.

371 { return callee_; }
const Function * callee_

◆ callee_name()

const std::string& Call::callee_name ( ) const
inline

Definition at line 369 of file ResultSetReductionOps.h.

Referenced by ReductionInterpreterImpl::bindStub().

369 { return callee_name_; }
const std::string callee_name_
+ Here is the caller graph for this function:

◆ external()

bool Call::external ( ) const
inline

Definition at line 367 of file ResultSetReductionOps.h.

Referenced by ReductionInterpreterImpl::bindStub().

367 { return false; }
+ Here is the caller graph for this function:

◆ run()

void Call::run ( ReductionInterpreterImpl interpreter)
overridevirtual

Implements Instruction.

Definition at line 382 of file ResultSetReductionInterpreter.cpp.

References ReductionInterpreterImpl::runCall().

382  {
383  ReductionInterpreterImpl::runCall(this, interpreter);
384 }
static void runCall(const Instruction *instruction, ReductionInterpreterImpl *interpreter)
+ Here is the call graph for this function:

◆ set_cached_callee()

void Call::set_cached_callee ( void *  cached_callee) const
inline

Definition at line 379 of file ResultSetReductionOps.h.

Referenced by ReductionInterpreterImpl::bindStub().

void * cached_callee() const
void * cached_callee_
+ Here is the caller graph for this function:

Member Data Documentation

◆ arguments_

const std::vector<const Value*> Call::arguments_
private

Definition at line 384 of file ResultSetReductionOps.h.

◆ cached_callee_

void* Call::cached_callee_
mutableprivate

Definition at line 386 of file ResultSetReductionOps.h.

◆ callee_

const Function* Call::callee_
private

Definition at line 383 of file ResultSetReductionOps.h.

◆ callee_name_

const std::string Call::callee_name_
private

Definition at line 382 of file ResultSetReductionOps.h.


The documentation for this class was generated from the following files: