souffle  2.0.2-371-g6315b36
Public Member Functions
souffle::synthesiser::InfoRelation Class Reference

#include <Relation.h>

Inheritance diagram for souffle::synthesiser::InfoRelation:
Inheritance graph
Collaboration diagram for souffle::synthesiser::InfoRelation:
Collaboration graph

Public Member Functions

void computeIndices () override
 Generate index set for a info relation, which should be empty. More...
 
void generateTypeStruct (std::ostream &out) override
 Generate type struct of a info relation, which is empty, the actual implementation is in CompiledSouffle.h. More...
 
std::string getTypeName () override
 Generate type name of a info relation. More...
 
 InfoRelation (const ram::Relation &ramRel, const MinIndexSelection &indexSet, bool isProvenance)
 
- Public Member Functions inherited from souffle::ram::Relation
Relationclone () 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
 

Additional Inherited Members

- Protected Member Functions inherited from souffle::ram::Relation
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 inherited from souffle::ram::Relation
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...
 

Detailed Description

Definition at line 114 of file Relation.h.

Constructor & Destructor Documentation

◆ InfoRelation()

souffle::synthesiser::InfoRelation::InfoRelation ( const ram::Relation ramRel,
const MinIndexSelection indexSet,
bool  isProvenance 
)
inline

Definition at line 116 of file Relation.h.

117  : Relation(ramRel, indexSet, isProvenance) {}

Member Function Documentation

◆ computeIndices()

void souffle::synthesiser::InfoRelation::computeIndices ( )
override

Generate index set for a info relation, which should be empty.

Definition at line 81 of file Relation.cpp.

81  {
82  computedIndices = {};
83 }

◆ generateTypeStruct()

void souffle::synthesiser::InfoRelation::generateTypeStruct ( std::ostream &  out)
override

Generate type struct of a info relation, which is empty, the actual implementation is in CompiledSouffle.h.

Definition at line 92 of file Relation.cpp.

92  {
93  return;
94 }

◆ getTypeName()

std::string souffle::synthesiser::InfoRelation::getTypeName ( )
override

Generate type name of a info relation.

Definition at line 86 of file Relation.cpp.

86  {
87  return "t_info<" + std::to_string(getArity()) + ">";
88 }

The documentation for this class was generated from the following files:
souffle::ram::Relation::Relation
Relation(std::string name, size_t arity, size_t auxiliaryArity, std::vector< std::string > attributeNames, std::vector< std::string > attributeTypes, RelationRepresentation representation)
Definition: Relation.h:42
souffle::ram::Relation::getArity
unsigned getArity() const
Get arity of relation.
Definition: Relation.h:86