souffle  2.0.2-371-g6315b36
Public Member Functions
souffle::interpreter::EqrelRelation Class Reference

#include <Relation.h>

Inheritance diagram for souffle::interpreter::EqrelRelation:
Inheritance graph
Collaboration diagram for souffle::interpreter::EqrelRelation:
Collaboration graph

Public Member Functions

void extend (const EqrelRelation &rel)
 
- Public Member Functions inherited from souffle::interpreter::Relation< 2, Eqrel >
void __purge ()
 Clear all indexes. More...
 
size_t __size () const
 Return number of tuples in relation (full-order) More...
 
Iterator begin () const override
 
bool contains (const RamDomain *data) const override
 
bool contains (const size_t &indexPos, const Tuple &low, const Tuple &high) const
 Tests whether this relation contains any element between the given boundaries. More...
 
bool contains (const Tuple &tuple) const
 Tests whether this relation contains the given tuple. More...
 
IndexViewPtr createView (const size_t &indexPos) const override
 Obtains a view on an index of this relation, facilitating hint-supported accesses. More...
 
bool empty () const
 Check if the relation is empty. More...
 
Iterator end () const override
 
bool exists (const Tuple &tuple) const
 Check if a tuple exists in relation. More...
 
IndexgetIndex (size_t idx)
 
Order getIndexOrder (size_t idx) const override
 Return the order of an index. More...
 
void insert (const RamDomain *data) override
 
void insert (const Relation< Arity, Eqrel > &other)
 Add all entries of the given relation to this relation. More...
 
bool insert (const Tuple &tuple)
 Add the given tuple to this relation. More...
 
std::vector< souffle::range< iterator > > partitionRange (const size_t &indexPos, const Tuple &low, const Tuple &high, size_t partitionCount) const
 Returns a partitioned list of iterators coving elements in range [low, high]. More...
 
std::vector< souffle::range< iterator > > partitionScan (size_t partitionCount) const
 Returns a partitioned list of iterators for parallel computation. More...
 
void purge () override
 
souffle::range< iteratorrange (const size_t &indexPos, const Tuple &low, const Tuple &high) const
 Obtains a pair of iterators covering the interval between the two given entries. More...
 
 Relation (Relation &other)=delete
 
 Relation (size_t auxiliaryArity, std::string name, const ram::analysis::MinIndexSelection &orderSet)
 Creates a relation, build all necessary indexes. More...
 
souffle::range< iteratorscan () const
 Obtains a pair of iterators to scan the entire relation. More...
 
size_t size () const override
 
void swap (Relation< Arity, Eqrel > &other)
 Swaps the content of this and the given relation, including the installed indexes. More...
 
- Public Member Functions inherited from souffle::interpreter::RelationWrapper
virtual Iterator begin () const =0
 
virtual Iterator end () const =0
 
arity_type getArity () const
 
arity_type getAuxiliaryArity () const
 
const std::string & getName () const
 
 RelationWrapper (arity_type arity, arity_type auxiliaryArity, std::string relName)
 
virtual size_t size () const =0
 
virtual ~RelationWrapper ()=default
 

Additional Inherited Members

- Public Types inherited from souffle::interpreter::Relation< 2, Eqrel >
using Attribute = uint32_t
 
using AttributeSet = std::set< Attribute >
 
using Index = interpreter::Index< Arity, Eqrel >
 
using iterator = typename Index::iterator
 
using Tuple = souffle::Tuple< RamDomain, Arity >
 
using View = typename Index::View
 
- Public Types inherited from souffle::interpreter::RelationWrapper
using arity_type = souffle::Relation::arity_type
 
using IndexViewPtr = Own< ViewWrapper >
 
- Static Public Member Functions inherited from souffle::interpreter::Relation< 2, Eqrel >
static ViewcastView (ViewWrapper *view)
 Cast an abstract view into a view of Index::View type. More...
 
static Tuple constructTuple (const RamDomain *data)
 Construct a typed tuple from a raw data. More...
 
- Static Public Attributes inherited from souffle::interpreter::Relation< 2, Eqrel >
static constexpr size_t Arity
 
- Protected Attributes inherited from souffle::interpreter::Relation< 2, Eqrel >
size_t auxiliaryArity
 
VecOwn< Indexindexes
 
Indexmain
 
- Protected Attributes inherited from souffle::interpreter::RelationWrapper
arity_type arity
 
arity_type auxiliaryArity
 
std::string relName
 

Detailed Description

Definition at line 409 of file Relation.h.

Member Function Documentation

◆ extend()

void souffle::interpreter::EqrelRelation::extend ( const EqrelRelation rel)
inline

Definition at line 413 of file Relation.h.

Referenced by souffle::interpreter::Engine::execute().


The documentation for this class was generated from the following file: