| souffle
    2.0.2-371-g6315b36
    | 
An atom class. More...
#include <Atom.h>


| Public Member Functions | |
| void | addArgument (Own< Argument > arg) | 
| Add argument to the atom.  More... | |
| void | apply (const NodeMapper &map) override | 
| Apply the mapper to all child nodes.  More... | |
| Atom (QualifiedName name={}, VecOwn< Argument > args={}, SrcLocation loc={}) | |
| Atom * | clone () const override | 
| Create a clone (i.e.  More... | |
| std::vector< Argument * > | getArguments () const | 
| Return arguments.  More... | |
| size_t | getArity () const | 
| Return arity of the atom.  More... | |
| std::vector< const Node * > | getChildNodes () const override | 
| Obtain a list of all embedded AST child nodes.  More... | |
| const QualifiedName & | getQualifiedName () const | 
| Return qualified name.  More... | |
| void | setQualifiedName (QualifiedName n) | 
| Set qualified name.  More... | |
|  Public Member Functions inherited from souffle::ast::Literal | |
| Node (SrcLocation loc={}) | |
|  Public Member Functions inherited from souffle::ast::Node | |
| std::string | extloc () const | 
| Return source location of the syntactic element.  More... | |
| const SrcLocation & | getSrcLoc () const | 
| Return source location of the Node.  More... | |
| Node (SrcLocation loc={}) | |
| bool | operator!= (const Node &other) const | 
| Inequality check for two AST nodes.  More... | |
| bool | operator== (const Node &other) const | 
| Equivalence check for two AST nodes.  More... | |
| void | setSrcLoc (SrcLocation l) | 
| Set source location for the Node.  More... | |
| virtual | ~Node ()=default | 
| Protected Member Functions | |
| bool | equal (const Node &node) const override | 
| Abstract equality check for two AST nodes.  More... | |
| void | print (std::ostream &os) const override | 
| Output to a given output stream.  More... | |
| Protected Attributes | |
| VecOwn< Argument > | arguments | 
| Arguments of atom.  More... | |
| QualifiedName | name | 
| Name of atom.  More... | |
An atom class.
An atom representing the use of a relation either in the head or in the body of a clause, e.g., parent(x,y), !parent(x,y), ...
| 
 | inline | 
| 
 | inlineoverridevirtual | 
Apply the mapper to all child nodes.
Reimplemented from souffle::ast::Node.
Definition at line 85 of file Atom.h.
References arguments.
| 
 | inlineoverridevirtual | 
| 
 | inlineoverrideprotectedvirtual | 
Abstract equality check for two AST nodes.
Reimplemented from souffle::ast::Node.
| 
 | inline | 
Return arguments.
Definition at line 77 of file Atom.h.
Referenced by souffle::ast::transform::MagicSetTransformer::MagicSetCoreTransformer::getMagicName(), souffle::ast::transform::RemoveRelationCopiesTransformer::removeRelationCopies(), and souffle::ast2ram::ClauseTranslator::translateClause().
| 
 | inline | 
| 
 | inlineoverridevirtual | 
Obtain a list of all embedded AST child nodes.
Reimplemented from souffle::ast::Node.
Definition at line 91 of file Atom.h.
| 
 | inline | 
Return qualified name.
Definition at line 57 of file Atom.h.
Referenced by souffle::ast::transform::MagicSetTransformer::MagicSetCoreTransformer::getMagicName(), souffle::ast::transform::RemoveRelationCopiesTransformer::removeRelationCopies(), and souffle::ast::removeRelationIOs().
| 
 | inlineoverrideprotectedvirtual | 
Output to a given output stream.
Implements souffle::ast::Node.
| 
 | inline | 
| 
 | protected | 
 1.8.17
 1.8.17