roadrunner  2.6.0
Fast simulator for SBML models
Public Types | Public Member Functions | List of all members
rrllvm::EventCodeGenBase< Derived > Class Template Reference

Base class for evaluating various types of SBML events. More...

#include <EventCodeGenBase.h>

Inheritance diagram for rrllvm::EventCodeGenBase< Derived >:
rrllvm::CodeGenBase< EventCodeGenBase_FunctionPtr >

Public Types

typedef EventCodeGenBase_FunctionPtr FunctionPtr
 
- Public Types inherited from rrllvm::CodeGenBase< EventCodeGenBase_FunctionPtr >
typedef EventCodeGenBase_FunctionPtr FunctionPtr
 

Public Member Functions

 EventCodeGenBase (const ModelGeneratorContext &mgc)
 
llvm::Value * codeGen ()
 
bool eventCodeGen (llvm::Value *modelData, llvm::Value *data, const libsbml::Event *event)
 derived classes must implement this method to generate the event trigger / assignment code. More...
 
- Public Member Functions inherited from rrllvm::CodeGenBase< EventCodeGenBase_FunctionPtr >
llvm::Function * createFunction ()
 

Additional Inherited Members

- Protected Member Functions inherited from rrllvm::CodeGenBase< EventCodeGenBase_FunctionPtr >
 CodeGenBase (const ModelGeneratorContext &mgc)
 
llvm::BasicBlock * codeGenHeader (const char *functionName, llvm::Type *retType, llvm::Type *(&argTypes)[N], const char *(&argNames)[N], llvm::Value *(&args)[N])
 
llvm::BasicBlock * codeGenVoidModelDataHeader (const char *functionName, llvm::Value *&modelData)
 the most common type of generated function takes a ModelData*, and returns void.
 
llvm::Function * verifyFunction ()
 
- Protected Attributes inherited from rrllvm::CodeGenBase< EventCodeGenBase_FunctionPtr >
const ModelGeneratorContextmodelGenContext
 
const libsbml::Model * model
 could potentially be null, everything else is guaranteed to be valid
 
const LLVMModelDataSymbolsdataSymbols
 
const LLVMModelSymbolsmodelSymbols
 
llvm::LLVMContext & context
 
llvm::Module * module
 
llvm::IRBuilder & builder
 
llvm::Function * function
 
llvm::legacy::FunctionPassManager * functionPassManager
 function pass manager. More...
 
const unsigned options
 the options bit field that was passed into the top level load method.
 

Detailed Description

template<typename Derived>
class rrllvm::EventCodeGenBase< Derived >

Base class for evaluating various types of SBML events.

Member Function Documentation

◆ eventCodeGen()

template<typename Derived >
bool rrllvm::EventCodeGenBase< Derived >::eventCodeGen ( llvm::Value *  modelData,
llvm::Value *  data,
const libsbml::Event *  event 
)
inline

derived classes must implement this method to generate the event trigger / assignment code.

Derived classes are called with an event and this call is in the middle of the code generation block. So, a derived class should simply begin outputing the instruction so process all of the event assignments / triggers in this call. The base class takes care of generating the return value.


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