souffle  2.0.2-371-g6315b36
BrieIndex.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 BrieIndex.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"
21 
23 
24 #define CREATE_BRIE_REL(Structure, Arity, ...) \
25  case (Arity): { \
26  return mk<Relation<Arity, interpreter::Brie>>(id.getAuxiliaryArity(), id.getName(), orderSet); \
27  }
28 
30  const ram::Relation& id, const ram::analysis::MinIndexSelection& /* orderSet */) {
31  switch (id.getArity()) {
33 
34  default: fatal("Brie is not supported in the interpreter mode.");
35  }
36 }
37 
38 } // namespace souffle::interpreter
Index.h
Relation.h
FOR_EACH_BRIE
#define FOR_EACH_BRIE(func,...)
Definition: Util.h:90
souffle::Own
std::unique_ptr< A > Own
Definition: ContainerUtil.h:42
MiscUtil.h
souffle::interpreter
Definition: BrieIndex.cpp:22
Relation.h
CREATE_BRIE_REL
#define CREATE_BRIE_REL(Structure, Arity,...)
Definition: BrieIndex.cpp:30
souffle::fatal
void fatal(const char *format, const Args &... args)
Definition: MiscUtil.h:198
souffle::interpreter::createBrieRelation
Own< RelationWrapper > createBrieRelation(const ram::Relation &id, const ram::analysis::MinIndexSelection &)
Definition: BrieIndex.cpp:35