8000 better decl of symbols · Z80coder/datalog-cpp@afd02cc · GitHub
[go: up one dir, main page]

Skip to content

Commit afd02cc

Browse files
committed
better decl of symbols
1 parent 81b896e commit afd02cc

File tree

2 files changed

+9
-3
lines changed

2 files changed

+9
-3
lines changed

src/Datalog.h

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,11 @@ struct Symbol : optional<T>
4343
}
4444
};
4545

46+
template<typename T>
47+
shared_ptr<Symbol<T>> symbol() {
48+
return make_shared<Symbol<T>>();
49+
}
50+
4651
template <typename T>
4752
struct SymbolOrValue : public variant<T, shared_ptr<Symbol<T>>>
4853
{

tests/types_test.cpp

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -49,9 +49,10 @@ int main()
4949
{
5050
};
5151

52-
auto x = make_shared<Symbol<string>>();
53-
auto y = make_shared<Symbol<string>>();
54-
auto z = make_shared<Symbol<string>>();
52+
auto x = symbol<string>();
53+
auto y = symbol<string>();
54+
auto z = symbol<string>();
55+
5556
// Rule1
5657
Adviser::Atom clause1{{x}, {y}};
5758
auto rule11 = Rule<AcademicAncestor, Adviser>{

0 commit comments

Comments
 (0)
0