| souffle
    2.0.2-371-g6315b36
    | 
Defines a relation with a name, attributes, qualifiers, and internal representation. More...
#include <Relation.h>


| Public Member Functions | |
| void | addAttribute (Own< Attribute > attr) | 
| Add a new used type to this relation.  More... | |
| void | addQualifier (RelationQualifier q) | 
| Add qualifier to this relation.  More... | |
| void | apply (const NodeMapper &map) override | 
| Apply the mapper to all child nodes.  More... | |
| Relation * | clone () const override | 
| Create a clone (i.e.  More... | |
| size_t | getArity () const | 
| Return the arity of this relation.  More... | |
| std::vector< Attribute * > | getAttributes () const | 
| Get relation attributes.  More... | |
| std::vector< const Node * > | getChildNodes () const override | 
| Obtain a list of all embedded AST child nodes.  More... | |
| const QualifiedName & | getQualifiedName () const | 
| Get qualified relation name.  More... | |
| const std::set< RelationQualifier > & | getQualifiers () const | 
| Get relation qualifiers.  More... | |
| RelationRepresentation | getRepresentation () const | 
| Get relation representation.  More... | |
| bool | hasQualifier (RelationQualifier q) const | 
| Check for a relation qualifier.  More... | |
| Relation ()=default | |
| Relation (QualifiedName name, SrcLocation loc={}) | |
| void | removeQualifier (RelationQualifier q) | 
| Remove qualifier from this relation.  More... | |
| void | setAttributes (VecOwn< Attribute > attrs) | 
| Set relation attributes.  More... | |
| void | setQualifiedName (QualifiedName n) | 
| Set name for this relation.  More... | |
| void | setRepresentation (RelationRepresentation representation) | 
| Set relation representation.  More... | |
|  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< Attribute > | attributes | 
| Attributes of the relation.  More... | |
| QualifiedName | name | 
| Name of relation.  More... | |
| std::set< RelationQualifier > | qualifiers | 
| Qualifiers of relation.  More... | |
| RelationRepresentation | representation {RelationRepresentation::DEFAULT} | 
| Datastructure to use for this relation.  More... | |
Defines a relation with a name, attributes, qualifiers, and internal representation.
Definition at line 49 of file Relation.h.
| 
 | default | 
| 
 | inline | 
Definition at line 52 of file Relation.h.
Add a new used type to this relation.
Definition at line 67 of file Relation.h.
References attributes.
| 
 | inline | 
| 
 | inlineoverridevirtual | 
Apply the mapper to all child nodes.
Reimplemented from souffle::ast::Node.
Definition at line 125 of file Relation.h.
References attributes.
| 
 | inlineoverridevirtual | 
Create a clone (i.e.
deep copy) of this node
Implements souffle::ast::Node.
Definition at line 117 of file Relation.h.
| 
 | inlineoverrideprotectedvirtual | 
Abstract equality check for two AST nodes.
Reimplemented from souffle::ast::Node.
Definition at line 145 of file Relation.h.
| 
 | inline | 
Return the arity of this relation.
Definition at line 73 of file Relation.h.
| 
 | inline | 
| 
 | inlineoverridevirtual | 
Obtain a list of all embedded AST child nodes.
Reimplemented from souffle::ast::Node.
Definition at line 131 of file Relation.h.
| 
 | inline | 
| 
 | inline | 
| 
 | inline | 
| 
 | inline | 
| 
 | inlineoverrideprotectedvirtual | 
Output to a given output stream.
Implements souffle::ast::Node.
Definition at line 140 of file Relation.h.
| 
 | inline | 
Set relation attributes.
Definition at line 78 of file Relation.h.
| 
 | inline | 
| 
 | inline | 
Attributes of the relation.
Definition at line 154 of file Relation.h.
Referenced by addAttribute(), and apply().
| 
 | protected | 
Name of relation.
Definition at line 151 of file Relation.h.
| 
 | protected | 
Qualifiers of relation.
Definition at line 157 of file Relation.h.
| 
 | protected | 
Datastructure to use for this relation.
Definition at line 160 of file Relation.h.
 1.8.17
 1.8.17