Clingo
Loading...
Searching...
No Matches
print.hh
1#pragma once
2
3#include <clingo/input/statement.hh>
4
5namespace CppClingo::Input {
6
9
12
14auto operator<<(std::ostream &out, UnaryOperator op) -> std::ostream &;
17
19auto operator<<(std::ostream &out, BinaryOperator op) -> std::ostream &;
22
24
27
29auto operator<<(std::ostream &out, Projection const &projection) -> std::ostream &;
32
34auto operator<<(std::ostream &out, TermVariable const &term) -> std::ostream &;
37
39auto operator<<(std::ostream &out, TermSymbol const &term) -> std::ostream &;
42
44auto operator<<(std::ostream &out, TermAbs const &term) -> std::ostream &;
47
49auto operator<<(std::ostream &out, TermUnary const &term) -> std::ostream &;
52
54auto operator<<(std::ostream &out, TermBinary const &term) -> std::ostream &;
57
59auto operator<<(std::ostream &out, TermTuple const &term) -> std::ostream &;
62
64auto operator<<(std::ostream &out, TermFunction const &term) -> std::ostream &;
67
69auto operator<<(std::ostream &out, Term const &term) -> std::ostream &;
72
74
77
79auto operator<<(std::ostream &out, TheoryTermVariable const &term) -> std::ostream &;
82
84auto operator<<(std::ostream &out, TheoryTermSymbol const &term) -> std::ostream &;
87
89auto operator<<(std::ostream &out, TheoryTermTuple const &term) -> std::ostream &;
92
94auto operator<<(std::ostream &out, TheoryTermFunction const &term) -> std::ostream &;
97
99auto operator<<(std::ostream &out, TheoryTermUnparsed const &term) -> std::ostream &;
102
104auto operator<<(std::ostream &out, TheoryTerm const &term) -> std::ostream &;
107
109
112
114auto operator<<(std::ostream &out, CondLit const &lit) -> std::ostream &;
117
119auto operator<<(std::ostream &out, TheoryElement const &elem) -> std::ostream &;
122
124auto operator<<(std::ostream &out, SetAggregateElement const &elem) -> std::ostream &;
127
129auto operator<<(std::ostream &out, HdLitAggregateElement const &elem) -> std::ostream &;
132
134auto operator<<(std::ostream &out, BdLitAggregateElement const &elem) -> std::ostream &;
137
139
142
144auto operator<<(std::ostream &out, LitBool const &lit) -> std::ostream &;
147
149auto operator<<(std::ostream &out, LitComparison const &lit) -> std::ostream &;
152
154auto operator<<(std::ostream &out, LitSymbolic const &lit) -> std::ostream &;
157
159auto operator<<(std::ostream &out, Lit const &lit) -> std::ostream &;
162
164
167
169auto operator<<(std::ostream &out, HdLitSimple const &lit) -> std::ostream &;
172
174auto operator<<(std::ostream &out, HdLitDisjunction const &lit) -> std::ostream &;
177
179auto operator<<(std::ostream &out, HdLitAggregate const &lit) -> std::ostream &;
182
184auto operator<<(std::ostream &out, HdLitSetAggregate const &lit) -> std::ostream &;
187
189auto operator<<(std::ostream &out, HdLit const &lit) -> std::ostream &;
192
194
197
199auto operator<<(std::ostream &out, BdLitSimple const &lit) -> std::ostream &;
202
204auto operator<<(std::ostream &out, BdLitConjunction const &lit) -> std::ostream &;
207
209auto operator<<(std::ostream &out, BdLitAggregate const &lit) -> std::ostream &;
212
214auto operator<<(std::ostream &out, BdLitSetAggregate const &lit) -> std::ostream &;
217
219auto operator<<(std::ostream &out, BdLitTheoryAtom const &lit) -> std::ostream &;
222
224auto operator<<(std::ostream &out, BdLit const &lit) -> std::ostream &;
227
229
232
234auto operator<<(std::ostream &out, TheoryOpDefinition const &def) -> std::ostream &;
237
239auto operator<<(std::ostream &out, TheoryTermDefinition const &def) -> std::ostream &;
242
244auto operator<<(std::ostream &out, TheoryRGuardDefinition const &def) -> std::ostream &;
247
249auto operator<<(std::ostream &out, TheoryAtomDefinition const &def) -> std::ostream &;
252
254auto operator<<(std::ostream &out, OptimizeTuple const &tuple) -> std::ostream &;
257
259auto operator<<(std::ostream &out, OptimizeElement const &elem) -> std::ostream &;
262
264auto operator<<(std::ostream &out, Edge const &edge) -> std::ostream &;
267
269
272
274auto operator<<(std::ostream &out, StmRule const &stm) -> std::ostream &;
277
279auto operator<<(std::ostream &out, StmTheory const &stm) -> std::ostream &;
282
284auto operator<<(std::ostream &out, StmOptimize const &stm) -> std::ostream &;
287
289auto operator<<(std::ostream &out, StmWeakConstraint const &stm) -> std::ostream &;
292
294auto operator<<(std::ostream &out, StmShow const &stm) -> std::ostream &;
297
299auto operator<<(std::ostream &out, StmShowSig const &stm) -> std::ostream &;
302
304auto operator<<(std::ostream &out, StmProject const &stm) -> std::ostream &;
307
309auto operator<<(std::ostream &out, StmProjectSig const &stm) -> std::ostream &;
312
314auto operator<<(std::ostream &out, StmDefined const &stm) -> std::ostream &;
317
319auto operator<<(std::ostream &out, StmExternal const &stm) -> std::ostream &;
322
324auto operator<<(std::ostream &out, StmEdge const &stm) -> std::ostream &;
327
329auto operator<<(std::ostream &out, StmHeuristic const &stm) -> std::ostream &;
332
334auto operator<<(std::ostream &out, StmScript const &stm) -> std::ostream &;
337
339auto operator<<(std::ostream &out, StmInclude const &stm) -> std::ostream &;
342
344auto operator<<(std::ostream &out, StmProgram const &stm) -> std::ostream &;
347
349auto operator<<(std::ostream &out, StmConst const &stm) -> std::ostream &;
352
354auto operator<<(std::ostream &out, StmComment const &stm) -> std::ostream &;
357
359auto operator<<(std::ostream &out, Stm const &stm) -> std::ostream &;
362
364
366auto to_string(Term const &term) -> std::string;
367
369auto to_string(TheoryTerm const &term) -> std::string;
370
372auto to_string(Lit const &lit) -> std::string;
373
375auto to_string(HdLit const &lit) -> std::string;
376
378auto to_string(BdLit const &lit) -> std::string;
379
381auto to_string(Stm const &stm) -> std::string;
382
384
385} // namespace CppClingo::Input
A body aggregate element.
Definition body_literal.hh:49
A body aggregate.
Definition body_literal.hh:78
A conditional literal in a rule body.
Definition body_literal.hh:32
A single literal in a rule body.
Definition body_literal.hh:15
A conditional literal.
Definition literal.hh:135
An directed edge.
Definition statement.hh:531
An element of a head aggregate.
Definition head_literal.hh:58
A head aggregate.
Definition head_literal.hh:90
A disjunction of conditional literals.
Definition head_literal.hh:37
A single literal in a rule head.
Definition head_literal.hh:15
Literal representing a Boolean constant.
Definition literal.hh:47
Literal representing a relation literal.
Definition literal.hh:73
Literal representing a symbolic literal.
Definition literal.hh:104
An optimize element.
Definition statement.hh:254
The tuple of a minimize element.
Definition statement.hh:228
Indicate a projected position.
Definition term.hh:51
An element of a set aggregate.
Definition aggregate.hh:46
A set aggregate.
Definition aggregate.hh:77
A comment.
Definition statement.hh:801
A const statement.
Definition statement.hh:728
A defined statement.
Definition statement.hh:468
An edge statement.
Definition statement.hh:554
An external statement.
Definition statement.hh:502
A heuristic statement.
Definition statement.hh:581
An include statement.
Definition statement.hh:663
An optimization statement.
Definition statement.hh:279
A program statement.
Definition statement.hh:690
A project signature statement.
Definition statement.hh:437
A project statement.
Definition statement.hh:410
A rule.
Definition statement.hh:16
A script statement.
Definition statement.hh:629
A show signature statement.
Definition statement.hh:361
A show statement.
Definition statement.hh:334
A theory definition.
Definition statement.hh:193
A weak constraint.
Definition statement.hh:306
Term representing the absolute function.
Definition term.hh:200
Term representing a binary operation.
Definition term.hh:274
Term representing a symbolic or external function.
Definition term.hh:167
Term representing a symbol.
Definition term.hh:120
Term representing a tuple.
Definition term.hh:146
Term representing an unary operation.
Definition term.hh:234
Term representing a variable.
Definition term.hh:92
A theory atom definition.
Definition statement.hh:151
A theory atom.
Definition theory.hh:239
An element of the theory atom.
Definition theory.hh:208
A theory operator definition.
Definition statement.hh:52
An optional definition for the right-hand-side of a theory atom.
Definition statement.hh:127
A theory term definition.
Definition statement.hh:86
A theory term function.
Definition theory.hh:107
A symbolic theory term.
Definition theory.hh:29
A tuple (set or list) theory term.
Definition theory.hh:80
An unparsed theory term.
Definition theory.hh:145
A variable theory term.
Definition theory.hh:52
Create an output buffer that bears some similarities with C++'s iostreams.
Definition print.hh:24
std::variant< BdLitSimple, BdLitConjunction, BdLitAggregate, BdLitSetAggregate, BdLitTheoryAtom > BdLit
A body literal.
Definition body_literal.hh:116
std::variant< HdLitSimple, HdLitDisjunction, HdLitAggregate, HdLitSetAggregate, HdLitTheoryAtom > HdLit
A head literal.
Definition head_literal.hh:130
std::variant< LitBool, LitComparison, LitSymbolic > Lit
Variant holding the different literal types.
Definition literal.hh:129
auto to_string(Term const &term) -> std::string
Convert the given term into a string.
auto operator<<(std::ostream &out, UnaryOperator op) -> std::ostream &
Output the given unary operator.
std::variant< StmRule, StmTheory, StmOptimize, StmWeakConstraint, StmShow, StmShowNothing, StmShowSig, StmProject, StmProjectSig, StmDefined, StmExternal, StmEdge, StmHeuristic, StmScript, StmInclude, StmProgram, StmConst, StmParts, StmComment > Stm
Variant of available statements.
Definition statement.hh:828
std::variant< TermVariable, TermSymbol, TermTuple, TermFunction, TermAbs, TermUnary, TermBinary > Term
Variant holding the different term types.
Definition term.hh:45
BinaryOperator
Enumeration of available binary operators.
Definition term.hh:258
UnaryOperator
Enumeration of available unary operators.
Definition term.hh:226
std::variant< TheoryTermSymbol, TheoryTermVariable, TheoryTermTuple, TheoryTermFunction, TheoryTermUnparsed > TheoryTerm
A variant for the different theory terms.
Definition theory.hh:22