souffle  2.0.2-371-g6315b36
Public Member Functions | Data Fields
souffle::interpreter::SuperInstruction Class Reference

This class encodes information for a super-instruction, which is used to eliminate Number and TupleElement in index/project/existence operation. More...

#include <Node.h>

Collaboration diagram for souffle::interpreter::SuperInstruction:
Collaboration graph

Public Member Functions

SuperInstructionoperator= (const SuperInstruction &)=delete
 
 SuperInstruction (const SuperInstruction &)=delete
 
 SuperInstruction (size_t i)
 
 SuperInstruction (SuperInstruction &&)=default
 

Data Fields

std::vector< std::pair< size_t, Own< Node > > > exprFirst
 Generic expressions in the lower bound/pattern. More...
 
std::vector< std::pair< size_t, Own< Node > > > exprSecond
 Generic expressions in the upper bound. More...
 
std::vector< RamDomainfirst
 constant value in the lower bound/pattern More...
 
std::vector< RamDomainsecond
 constant value in the upper bound More...
 
std::vector< std::array< size_t, 3 > > tupleFirst
 Encoded tupleElement expressions in the lower bound/pattern. More...
 
std::vector< std::array< size_t, 3 > > tupleSecond
 Encoded tupleElement expressions in the upper bound. More...
 

Detailed Description

This class encodes information for a super-instruction, which is used to eliminate Number and TupleElement in index/project/existence operation.

Definition at line 281 of file Node.h.

Constructor & Destructor Documentation

◆ SuperInstruction() [1/3]

souffle::interpreter::SuperInstruction::SuperInstruction ( size_t  i)
inline

Definition at line 283 of file Node.h.

Referenced by souffle::interpreter::BinaryNode::getRhs().

◆ SuperInstruction() [2/3]

souffle::interpreter::SuperInstruction::SuperInstruction ( const SuperInstruction )
delete

◆ SuperInstruction() [3/3]

souffle::interpreter::SuperInstruction::SuperInstruction ( SuperInstruction &&  )
default

Member Function Documentation

◆ operator=()

SuperInstruction& souffle::interpreter::SuperInstruction::operator= ( const SuperInstruction )
delete

Field Documentation

◆ exprFirst

std::vector<std::pair<size_t, Own<Node> > > souffle::interpreter::SuperInstruction::exprFirst

Generic expressions in the lower bound/pattern.

Definition at line 301 of file Node.h.

◆ exprSecond

std::vector<std::pair<size_t, Own<Node> > > souffle::interpreter::SuperInstruction::exprSecond

Generic expressions in the upper bound.

Definition at line 303 of file Node.h.

◆ first

std::vector<RamDomain> souffle::interpreter::SuperInstruction::first

constant value in the lower bound/pattern

Definition at line 293 of file Node.h.

Referenced by souffle::interpreter::NodeGenerator::getProjectSuperInstInfo(), and souffle::interpreter::BinaryNode::getRhs().

◆ second

std::vector<RamDomain> souffle::interpreter::SuperInstruction::second

constant value in the upper bound

Definition at line 295 of file Node.h.

◆ tupleFirst

std::vector<std::array<size_t, 3> > souffle::interpreter::SuperInstruction::tupleFirst

Encoded tupleElement expressions in the lower bound/pattern.

Definition at line 297 of file Node.h.

◆ tupleSecond

std::vector<std::array<size_t, 3> > souffle::interpreter::SuperInstruction::tupleSecond

Encoded tupleElement expressions in the upper bound.

Definition at line 299 of file Node.h.


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