souffle  2.0.2-371-g6315b36
Public Types | Public Member Functions | Protected Attributes
souffle::interpreter::Node Class Reference

This is a shadow node for a ram::Node that is enriched for with local information so that the interpreter is executing quickly. More...

#include <Node.h>

Inheritance diagram for souffle::interpreter::Node:
Inheritance graph
Collaboration diagram for souffle::interpreter::Node:
Collaboration graph

Public Types

using RelationHandle = Own< RelationWrapper >
 

Public Member Functions

RelationWrappergetRelation () const
 get relation from handle More...
 
const ram::NodegetShadow () const
 get shadow node, i.e., RAM node More...
 
enum NodeType getType () const
 get node type More...
 
 Node (enum NodeType ty, const ram::Node *sdw, RelationHandle *relHandle=nullptr)
 
virtual ~Node ()=default
 

Protected Attributes

RelationHandle *const relHandle
 
const ram::Nodeshadow
 
enum NodeType type
 

Detailed Description

This is a shadow node for a ram::Node that is enriched for with local information so that the interpreter is executing quickly.

Definition at line 178 of file Node.h.

Member Typedef Documentation

◆ RelationHandle

Definition at line 180 of file Node.h.

Constructor & Destructor Documentation

◆ Node()

souffle::interpreter::Node::Node ( enum NodeType  ty,
const ram::Node sdw,
RelationHandle relHandle = nullptr 
)
inline

◆ ~Node()

virtual souffle::interpreter::Node::~Node ( )
virtualdefault

Member Function Documentation

◆ getRelation()

RelationWrapper* souffle::interpreter::Node::getRelation ( ) const
inline

get relation from handle

Definition at line 197 of file Node.h.

199  : public Node {
200  using NodePtrVec = VecOwn<Node>;

Referenced by souffle::interpreter::Engine::execute().

◆ getShadow()

const ram::Node* souffle::interpreter::Node::getShadow ( ) const
inline

get shadow node, i.e., RAM node

Definition at line 192 of file Node.h.

199  : public Node {

◆ getType()

enum NodeType souffle::interpreter::Node::getType ( ) const
inline

get node type

Definition at line 187 of file Node.h.

189  :
190  enum NodeType type;

Field Documentation

◆ relHandle

RelationHandle* const souffle::interpreter::Node::relHandle
protected

◆ shadow

const ram::Node* souffle::interpreter::Node::shadow
protected

Definition at line 204 of file Node.h.

◆ type

enum NodeType souffle::interpreter::Node::type
protected

Definition at line 203 of file Node.h.


The documentation for this class was generated from the following file:
souffle::interpreter::NodeType
NodeType
Definition: Node.h:129
souffle::interpreter::Node::Node
Node(enum NodeType ty, const ram::Node *sdw, RelationHandle *relHandle=nullptr)
Definition: Node.h:182
souffle::interpreter::Node::type
enum NodeType type
Definition: Node.h:203
souffle::interpreter::NodePtrVec
std::vector< NodePtr > NodePtrVec
Definition: Generator.cpp:27