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

Parallel block of statements. More...

#include <Parallel.h>

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

Public Member Functions

Parallelclone () const override
 Create a clone (i.e. More...
 
 Parallel ()
 
template<typename... Stmts>
 Parallel (Own< Statement > first, Own< Stmts >... rest)
 
 Parallel (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

Parallel block of statements.

Execute statements in parallel and wait until all statements have completed their execution before completing the execution of the parallel block.

For example:

PARALLEL
BEGIN DEBUG...
QUERY
...
END PARALLEL

Definition at line 49 of file Parallel.h.

Constructor & Destructor Documentation

◆ Parallel() [1/3]

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

Definition at line 51 of file Parallel.h.

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

◆ Parallel() [2/3]

souffle::ram::Parallel::Parallel ( )
inline

Definition at line 52 of file Parallel.h.

53 {

◆ Parallel() [3/3]

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

Definition at line 54 of file Parallel.h.

55  : statements) {

Member Function Documentation

◆ clone()

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

Create a clone (i.e.

deep copy) of this node

Implements souffle::ram::Statement.

Definition at line 57 of file Parallel.h.

61  :
62  void print(std::ostream& os, int tabpos) const override {
63  os << times(" ", tabpos) << "PARALLEL" << std::endl;

◆ print()

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

Pretty print with indentation.

Implements souffle::ram::Statement.

Definition at line 66 of file Parallel.h.


The documentation for this class was generated from the following file:
DEBUG
#define DEBUG(Kind)
souffle::ram::ListStatement::ListStatement
ListStatement()=default
souffle::ram::Parallel::print
void print(std::ostream &os, int tabpos) const override
Pretty print with indentation.
Definition: Parallel.h:66
souffle::ram::ListStatement::statements
VecOwn< Statement > statements
Ordered list of RAM statements.
Definition: ListStatement.h:77
souffle::times
detail::multiplying_printer< T > times(const T &value, unsigned num)
A utility printing a given value multiple times.
Definition: StreamUtil.h:322