|
souffle
2.0.2-371-g6315b36
|
An abstract class for performing indexed operations. More...
#include <Relation.h>


Public Member Functions | |
| Relation * | clone () const override |
| Create a clone (i.e. More... | |
| unsigned | getArity () const |
| Get arity of relation. More... | |
| const std::vector< std::string > & | getAttributeNames () const |
| Get attribute names. More... | |
| const std::vector< std::string > & | getAttributeTypes () const |
| Get attribute types. More... | |
| unsigned | getAuxiliaryArity () const |
| Get number of auxiliary attributes. More... | |
| const std::string & | getName () const |
| Get name. More... | |
| RelationRepresentation | getRepresentation () const |
| Relation representation type. More... | |
| bool | isNullary () const |
| Is nullary relation. More... | |
| bool | isTemp () const |
| Is temporary relation (for semi-naive evaluation) More... | |
| bool | operator< (const Relation &other) const |
| Compare two relations via their name. More... | |
| Relation (std::string name, size_t arity, size_t auxiliaryArity, std::vector< std::string > attributeNames, std::vector< std::string > attributeTypes, RelationRepresentation representation) | |
Public Member Functions inherited from souffle::ram::Node | |
| virtual void | apply (const NodeMapper &) |
| Apply the mapper to all child nodes. More... | |
| virtual std::vector< const Node * > | getChildNodes () const |
| Obtain list of all embedded child nodes. More... | |
| 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 | |
| bool | equal (const Node &node) const override |
| Equality check for two RAM nodes. More... | |
| void | print (std::ostream &out) const override |
| Print RAM node. More... | |
Protected Attributes | |
| const size_t | arity |
| Arity, i.e., number of attributes. More... | |
| const std::vector< std::string > | attributeNames |
| Name of attributes. More... | |
| const std::vector< std::string > | attributeTypes |
| Type of attributes. More... | |
| const size_t | auxiliaryArity |
| Number of auxiliary attributes (e.g. More... | |
| const std::string | name |
| Name of relation. More... | |
| const RelationRepresentation | representation |
| Data-structure representation. More... | |
An abstract class for performing indexed operations.
A RAM Relation in the RAM intermediate representation.
Index
Definition at line 40 of file Relation.h.
|
inline |
Definition at line 42 of file Relation.h.
|
inlineoverridevirtual |
Create a clone (i.e.
deep copy) of this node
Implements souffle::ram::Node.
Definition at line 100 of file Relation.h.
References arity, attributeNames, attributeTypes, i, and name.
|
inlineoverrideprotectedvirtual |
Equality check for two RAM nodes.
Default action is that nothing needs to be checked.
Reimplemented from souffle::ram::Node.
Definition at line 123 of file Relation.h.
|
inline |
Get arity of relation.
Definition at line 86 of file Relation.h.
References auxiliaryArity.
Referenced by souffle::synthesiser::Relation::getSynthesiserRelation().
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Relation representation type.
Definition at line 76 of file Relation.h.
References name.
Referenced by souffle::synthesiser::Relation::getSynthesiserRelation().
|
inline |
Is nullary relation.
Definition at line 71 of file Relation.h.
References representation.
Referenced by souffle::synthesiser::Relation::getSynthesiserRelation().
|
inline |
Is temporary relation (for semi-naive evaluation)
Definition at line 81 of file Relation.h.
References arity.
|
inline |
|
inlineoverrideprotectedvirtual |
|
protected |
Arity, i.e., number of attributes.
Definition at line 139 of file Relation.h.
Referenced by clone(), getAttributeNames(), and isTemp().
|
protected |
Name of attributes.
Definition at line 145 of file Relation.h.
Referenced by clone(), and getAttributeTypes().
|
protected |
Type of attributes.
Definition at line 148 of file Relation.h.
|
protected |
Number of auxiliary attributes (e.g.
provenance attributes etc)
Definition at line 142 of file Relation.h.
Referenced by getArity().
|
protected |
Name of relation.
Definition at line 136 of file Relation.h.
Referenced by clone(), getAuxiliaryArity(), and getRepresentation().
|
protected |
Data-structure representation.
Definition at line 133 of file Relation.h.
Referenced by isNullary().
1.8.17