OmniSciDB  1dac507f6e
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
ExternalCall Class Reference

#include <ResultSetReductionOps.h>

+ Inheritance diagram for ExternalCall:
+ Collaboration diagram for ExternalCall:

Public Member Functions

 ExternalCall (const std::string &callee_name, const Type ret_type, const std::vector< const Value * > &arguments, const std::string &label)
 
bool external () const
 
const std::string & callee_name () 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 Type ret_type_
 
const std::vector< const Value * > arguments_
 
void * cached_callee_
 

Detailed Description

Definition at line 380 of file ResultSetReductionOps.h.

Constructor & Destructor Documentation

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

Definition at line 382 of file ResultSetReductionOps.h.

386  : Instruction(ret_type, label)
388  , ret_type_(ret_type)
390  , cached_callee_(nullptr) {}
const std::string & label() const
const std::string callee_name_
const std::vector< const Value * > arguments_
Instruction(const Type type, const std::string &label)
const std::vector< const Value * > & arguments() const
const std::string & callee_name() const

Member Function Documentation

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

Definition at line 396 of file ResultSetReductionOps.h.

References arguments_.

Referenced by ReductionInterpreterImpl::runExternalCall().

396 { return arguments_; }
const std::vector< const Value * > arguments_

+ Here is the caller graph for this function:

void* ExternalCall::cached_callee ( ) const
inline

Definition at line 400 of file ResultSetReductionOps.h.

References cached_callee_.

Referenced by set_cached_callee().

400 { return cached_callee_; }

+ Here is the caller graph for this function:

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

Definition at line 394 of file ResultSetReductionOps.h.

References callee_name_.

394 { return callee_name_; }
const std::string callee_name_
bool ExternalCall::external ( ) const
inline

Definition at line 392 of file ResultSetReductionOps.h.

392 { return true; }
void ExternalCall::run ( ReductionInterpreterImpl interpreter)
overridevirtual

Implements Instruction.

Definition at line 375 of file ResultSetReductionInterpreter.cpp.

References ReductionInterpreterImpl::runExternalCall().

375  {
377 }
static void runExternalCall(const Instruction *instruction, ReductionInterpreterImpl *interpreter)

+ Here is the call graph for this function:

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

Definition at line 402 of file ResultSetReductionOps.h.

References cached_callee(), and cached_callee_.

void * cached_callee() const

+ Here is the call graph for this function:

Member Data Documentation

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

Definition at line 407 of file ResultSetReductionOps.h.

Referenced by arguments().

void* ExternalCall::cached_callee_
mutableprivate

Definition at line 408 of file ResultSetReductionOps.h.

Referenced by cached_callee(), and set_cached_callee().

const std::string ExternalCall::callee_name_
private

Definition at line 405 of file ResultSetReductionOps.h.

Referenced by callee_name().

const Type ExternalCall::ret_type_
private

Definition at line 406 of file ResultSetReductionOps.h.


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