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

For EqrelIndex we do inheritence since EqrelIndex only diff with one extra function. More...

#include <Index.h>

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

Public Member Functions

void extend (EqrelIndex *otherIndex)
 Extend another index. More...
 
- Public Member Functions inherited from souffle::interpreter::Index< 2, Eqrel >
iterator begin () const
 
void clear ()
 Clears the content of this index, turning it empty. More...
 
bool contains (const Tuple &low, const Tuple &high) const
 Tests whether this index contains any tuple within the given bounds. More...
 
bool contains (const Tuple &tuple) const
 Tests whether the given tuple is present in this index or not. More...
 
View createView ()
 Requests the creation of a view on this index. More...
 
bool empty () const
 Tests whether this index is empty or not. More...
 
iterator end () const
 
Order getOrder () const
 Obtains the lex order of this index. More...
 
 Index (Order order)
 
void insert (const Index< Arity, Eqrel > &src)
 Inserts all elements of the given index. More...
 
bool insert (const Tuple &tuple)
 Inserts a tuple into this index. More...
 
std::vector< souffle::range< iterator > > partitionRange (const Tuple &low, const Tuple &high, int partitionCount) const
 Returns a partitioned list of iterators coving elements in range [low, high]. More...
 
std::vector< souffle::range< iterator > > partitionScan (int partitionCount) const
 Retruns a partitioned list of iterators for parallel computation. More...
 
souffle::range< iteratorrange (const Tuple &low, const Tuple &high) const
 Returns a pair of iterators covering elements in the range [low,high) More...
 
souffle::range< iteratorscan () const
 Returns a pair of iterators covering the entire index content. More...
 
size_t size () const
 Obtains the number of elements stored in this index. More...
 

Additional Inherited Members

- Public Types inherited from souffle::interpreter::Index< 2, Eqrel >
using Data = Eqrel< Arity >
 
using Hints = typename Data::operation_hints
 
using iterator = typename Data::iterator
 
using Tuple = typename souffle::Tuple< RamDomain, Arity >
 
- Static Public Attributes inherited from souffle::interpreter::Index< 2, Eqrel >
static constexpr size_t Arity
 
- Protected Attributes inherited from souffle::interpreter::Index< 2, Eqrel >
Data data
 
Order order
 

Detailed Description

For EqrelIndex we do inheritence since EqrelIndex only diff with one extra function.

Definition at line 444 of file Index.h.

Member Function Documentation

◆ extend()

void souffle::interpreter::EqrelIndex::extend ( EqrelIndex otherIndex)
inline

Extend another index.

Extend this index with another index, expanding this equivalence relation. The supplied relation is the old knowledge, whilst this relation only contains explicitly new knowledge. After this operation the "implicitly new tuples" are now explicitly inserted this relation.

Definition at line 456 of file Index.h.


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