souffle
2.0.2-371-g6315b36
Main Page
Namespaces
Namespace List
Namespace Members
All
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
r
s
t
u
v
w
y
Functions
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
r
s
t
u
v
w
Variables
a
c
d
e
f
h
i
j
m
n
p
r
s
t
Typedefs
a
b
c
e
f
i
l
m
n
o
p
r
s
t
u
v
y
Enumerations
Enumerator
Data Structures
Data Structures
Class Hierarchy
Data Fields
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
~
Functions
_
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
q
r
s
t
u
v
w
~
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
Typedefs
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
r
s
t
v
Enumerations
Enumerator
Related Functions
d
e
f
j
o
p
q
s
t
v
Files
File List
Globals
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
y
Functions
c
e
f
g
h
i
m
n
o
q
r
s
t
u
v
y
Variables
_
b
c
d
e
f
h
i
j
k
l
m
n
o
p
q
r
s
t
v
y
Typedefs
Macros
_
a
b
c
d
e
f
g
h
i
l
m
n
o
p
r
s
t
u
v
y
interpreter
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
"
20
#include "
souffle/utility/MiscUtil.h
"
21
22
namespace
souffle::interpreter
{
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
29
Own<RelationWrapper>
createBrieRelation
(
30
const
ram::Relation&
id
,
const
ram::analysis::MinIndexSelection&
/* orderSet */
) {
31
switch
(
id
.getArity()) {
32
FOR_EACH_BRIE
(
CREATE_BRIE_REL
);
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
Generated by
1.8.17