souffle  2.0.2-371-g6315b36
EqrelIndex.cpp
Go to the documentation of this file.
1 /*
2  * Souffle - A Datalog Compiler
3  * Copyright (c) 2019, The Souffle Developers. All rights reserved.
4  * Licensed under the Universal Permissive License v 1.0 as shown at:
5  * - https://opensource.org/licenses/UPL
6  * - <souffle root>/licenses/SOUFFLE-UPL.txt
7  */
8 
9 /************************************************************************
10  *
11  * @file EqrelIndex.cpp
12  *
13  * Interpreter index with generic interface.
14  *
15  ***********************************************************************/
16 
17 #include "interpreter/Relation.h"
18 #include "ram/Relation.h"
19 #include "ram/analysis/Index.h"
20 
21 namespace souffle::interpreter {
22 
23 Own<RelationWrapper> createEqrelRelation(
24  const ram::Relation& id, const ram::analysis::MinIndexSelection& orderSet) {
25  assert(id.getArity() == 2 && "Eqivalence relation must have arity size 2.");
26  return mk<EqrelRelation>(id.getAuxiliaryArity(), id.getName(), orderSet);
27 }
28 
29 } // namespace souffle::interpreter
Index.h
souffle::interpreter::createEqrelRelation
Own< RelationWrapper > createEqrelRelation(const ram::Relation &id, const ram::analysis::MinIndexSelection &orderSet)
Definition: EqrelIndex.cpp:29
Relation.h
souffle::interpreter
Definition: BrieIndex.cpp:22
Relation.h