souffle
2.0.2-371-g6315b36
|
Implementation of SouffleProgram interface for an interpreter instance. More...
#include <ProgInterface.h>
Public Member Functions | |
void | dumpInputs () override |
Dump inputs: not implemented. More... | |
void | dumpOutputs () override |
Dump outputs: not implemented. More... | |
void | executeSubroutine (std::string name, const std::vector< RamDomain > &args, std::vector< RamDomain > &ret) override |
Run subroutine. More... | |
RecordTable & | getRecordTable () override |
Get the record table of the program. More... | |
SymbolTable & | getSymbolTable () override |
Get symbol table. More... | |
void | loadAll (std::string) override |
Load input data: not implemented. More... | |
void | printAll (std::string) override |
Print output data: not implemented. More... | |
ProgInterface (Engine &interp) | |
void | run () override |
Run program instance: not implemented. More... | |
void | runAll (std::string, std::string) override |
Load data, run program instance, store data: not implemented. More... | |
~ProgInterface () override | |
Public Member Functions inherited from souffle::SouffleProgram | |
template<typename... Args> | |
bool | contains (const std::tuple< Args... > &t, Relation *relation) |
Contains function with std::tuple as input (wrapper) More... | |
std::vector< Relation * > | getAllRelations () const |
Getter of allRelations, which this vector structure contains all relations. More... | |
std::vector< Relation * > | getInputRelations () const |
Getter of inputRelations, which this vector structure contains all input relations. More... | |
std::vector< Relation * > | getInternalRelations () const |
Getter of internalRelations, which this vector structure contains all relations that are neither an input relation or an output relation. More... | |
std::size_t | getNumThreads () |
Get the number of threads to be used. More... | |
std::vector< Relation * > | getOutputRelations () const |
Getter of outputRelations, which this vector structure contains all output relations. More... | |
Relation * | getRelation (const std::string &name) const |
Get Relation by its name from relationMap, if relation not found, return a nullptr. More... | |
std::string | getRelationName (const std::string &name) const |
Return the name of the target relation from relationMap. More... | |
std::size_t | getRelationSize (const std::string &name) const |
Return the size of the target relation from relationMap. More... | |
template<typename... Args> | |
void | insert (const std::tuple< Args... > &t, Relation *relation) |
Insert function with std::tuple as input (wrapper) More... | |
void | purgeInputRelations () |
Remove all the tuples from the inputRelations, calling the purge method of each. More... | |
void | purgeInternalRelations () |
Remove all the tuples from the internalRelations, calling the purge method of each. More... | |
void | purgeOutputRelations () |
Remove all the tuples from the outputRelations, calling the purge method of each. More... | |
void | setNumThreads (std::size_t numThreadsValue) |
Set the number of threads to be used. More... | |
virtual | ~SouffleProgram ()=default |
Destructor. More... | |
Private Attributes | |
Engine & | exec |
std::vector< RelInterface * > | interfaces |
const ram::Program & | prog |
RecordTable & | recordTable |
SymbolTable & | symTable |
Additional Inherited Members | |
Protected Member Functions inherited from souffle::SouffleProgram | |
void | addRelation (const std::string &name, Relation &rel, bool isInput, bool isOutput) |
Add the relation to relationMap (with its name) and allRelations, depends on the properties of the relation, if the relation is an input relation, it will be added to inputRelations, else if the relation is an output relation, it will be added to outputRelations, otherwise will add to internalRelations. More... | |
void | addRelation (const std::string &name, Relation *rel, bool isInput, bool isOutput) |
Implementation of SouffleProgram interface for an interpreter instance.
Definition at line 214 of file ProgInterface.h.
|
inlineexplicit |
Definition at line 216 of file ProgInterface.h.
References souffle::map(), and rel().
|
inlineoverride |
Definition at line 260 of file ProgInterface.h.
|
inlineoverridevirtual |
Dump inputs: not implemented.
Implements souffle::SouffleProgram.
Definition at line 279 of file ProgInterface.h.
|
inlineoverridevirtual |
Dump outputs: not implemented.
Implements souffle::SouffleProgram.
Definition at line 282 of file ProgInterface.h.
|
inlineoverridevirtual |
Run subroutine.
Reimplemented from souffle::SouffleProgram.
Definition at line 285 of file ProgInterface.h.
|
inlineoverridevirtual |
Get the record table of the program.
Implements souffle::SouffleProgram.
Definition at line 295 of file ProgInterface.h.
|
inlineoverridevirtual |
Get symbol table.
Implements souffle::SouffleProgram.
Definition at line 291 of file ProgInterface.h.
|
inlineoverridevirtual |
Load input data: not implemented.
Implements souffle::SouffleProgram.
Definition at line 273 of file ProgInterface.h.
|
inlineoverridevirtual |
Print output data: not implemented.
Implements souffle::SouffleProgram.
Definition at line 276 of file ProgInterface.h.
|
inlineoverridevirtual |
Run program instance: not implemented.
Reimplemented from souffle::SouffleProgram.
Definition at line 267 of file ProgInterface.h.
|
inlineoverridevirtual |
Load data, run program instance, store data: not implemented.
Implements souffle::SouffleProgram.
Definition at line 270 of file ProgInterface.h.
|
private |
Definition at line 301 of file ProgInterface.h.
|
private |
Definition at line 304 of file ProgInterface.h.
|
private |
Definition at line 300 of file ProgInterface.h.
|
private |
Definition at line 303 of file ProgInterface.h.
|
private |
Definition at line 302 of file ProgInterface.h.