Clingo
Loading...
Searching...
No Matches
term.hh
1#pragma once
2
3#include <clingo/ground/term.hh>
4#include <clingo/ground/theory_term.hh>
5
6#include <clingo/input/term.hh>
7#include <clingo/input/theory.hh>
8
9namespace CppClingo::Control {
10
13
15auto build_term(Util::unordered_map<String, size_t> const &var_map, Input::Term const &term, bool &has_projection)
17
19inline auto build_term(Util::unordered_map<String, size_t> const &var_map, Input::Term const &term) -> Ground::UTerm {
20 bool has_projection = false;
21 auto res = build_term(var_map, term, has_projection);
22 assert(!has_projection);
23 return res;
24}
25
29
31
32} // namespace CppClingo::Control
auto build_theory_term(Util::unordered_map< String, size_t > const &var_map, Input::TheoryTerm const &term) -> Ground::UTheoryTerm
Translates input theory terms to their ground representation.
auto build_term(Util::unordered_map< String, size_t > const &var_map, Input::Term const &term, bool &has_projection) -> Ground::UTerm
Translates input theory terms to their ground representation.
std::unique_ptr< Term > UTerm
A unique pointer holding a term.
Definition term.hh:33
std::unique_ptr< TheoryTerm > UTheoryTerm
A unique pointer to a theory term.
Definition theory_term.hh:13
std::variant< TermVariable, TermSymbol, TermTuple, TermFunction, TermAbs, TermUnary, TermBinary > Term
Variant holding the different term types.
Definition term.hh:45
std::variant< TheoryTermSymbol, TheoryTermVariable, TheoryTermTuple, TheoryTermFunction, TheoryTermUnparsed > TheoryTerm
A variant for the different theory terms.
Definition theory.hh:22
tsl::hopscotch_map< Key, T, Hash, KeyEqual, Allocator, NeighborhoodSize, StoreHash, GrowthPolicy > unordered_map
Alias for unordered maps.
Definition unordered_map.hh:17