souffle  2.0.2-371-g6315b36
Public Member Functions | Protected Member Functions
souffle::ram::Sequence Class Reference

Sequence of RAM statements. More...

#include <Sequence.h>

Inheritance diagram for souffle::ram::Sequence:
Inheritance graph
Collaboration diagram for souffle::ram::Sequence:
Collaboration graph

Public Member Functions

Sequenceclone () const override
 Create a clone (i.e. More...
 
 Sequence ()
 
template<typename... Stmts>
 Sequence (Own< Statement > first, Own< Stmts >... rest)
 
 Sequence (VecOwn< Statement > statements)
 
- Public Member Functions inherited from souffle::ram::ListStatement
void apply (const NodeMapper &map) override
 Apply the mapper to all child nodes. More...
 
std::vector< const Node * > getChildNodes () const override
 Obtain list of all embedded child nodes. More...
 
std::vector< Statement * > getStatements () const
 Get statements. More...
 
 ListStatement ()=default
 
template<typename... Stmts>
 ListStatement (Own< Stmts > &&... stmts)
 
 ListStatement (VecOwn< Statement > statements)
 
- Public Member Functions inherited from souffle::ram::Node
bool operator!= (const Node &other) const
 Inequality check for two RAM nodes. More...
 
bool operator== (const Node &other) const
 Equivalence check for two RAM nodes. More...
 
virtual void rewrite (const Node *oldNode, Own< Node > newNode)
 Rewrite a child node. More...
 
virtual ~Node ()=default
 

Protected Member Functions

void print (std::ostream &os, int tabpos) const override
 Pretty print with indentation. More...
 
- Protected Member Functions inherited from souffle::ram::ListStatement
bool equal (const Node &node) const override
 Equality check for two RAM nodes. More...
 
- Protected Member Functions inherited from souffle::ram::Statement
void print (std::ostream &os) const override
 Print RAM node. More...
 

Additional Inherited Members

- Static Protected Member Functions inherited from souffle::ram::Statement
static void print (const Statement *statement, std::ostream &os, int tabpos)
 Pretty print jump-bed. More...
 
- Protected Attributes inherited from souffle::ram::ListStatement
VecOwn< Statementstatements
 Ordered list of RAM statements. More...
 

Detailed Description

Sequence of RAM statements.

Execute statement one by one from an ordered list of statements.

Definition at line 37 of file Sequence.h.

Constructor & Destructor Documentation

◆ Sequence() [1/3]

souffle::ram::Sequence::Sequence ( VecOwn< Statement statements)
inline

Definition at line 39 of file Sequence.h.

39 : ListStatement(std::move(first), std::move(rest)...) {}

◆ Sequence() [2/3]

souffle::ram::Sequence::Sequence ( )
inline

Definition at line 40 of file Sequence.h.

41 {

◆ Sequence() [3/3]

template<typename... Stmts>
souffle::ram::Sequence::Sequence ( Own< Statement first,
Own< Stmts >...  rest 
)
inline

Definition at line 42 of file Sequence.h.

43  : statements) {

Member Function Documentation

◆ clone()

Sequence* souffle::ram::Sequence::clone ( ) const
inlineoverridevirtual

Create a clone (i.e.

deep copy) of this node

Implements souffle::ram::Statement.

Definition at line 45 of file Sequence.h.

49  :
50  void print(std::ostream& os, int tabpos) const override {
51  for (const auto& stmt : statements) {

◆ print()

void souffle::ram::Sequence::print ( std::ostream &  os,
int  tabpos 
) const
inlineoverrideprotectedvirtual

Pretty print with indentation.

Implements souffle::ram::Statement.

Definition at line 54 of file Sequence.h.


The documentation for this class was generated from the following file:
souffle::ram::ListStatement::ListStatement
ListStatement()=default
souffle::ram::ListStatement::statements
VecOwn< Statement > statements
Ordered list of RAM statements.
Definition: ListStatement.h:77
souffle::ram::Sequence::print
void print(std::ostream &os, int tabpos) const override
Pretty print with indentation.
Definition: Sequence.h:54