21 #ifndef _GRINGO_OUTPUT_LITERAL_HH
22 #define _GRINGO_OUTPUT_LITERAL_HH
29 namespace Gringo {
namespace Output {
31 struct LparseOutputter;
32 struct LparseTranslator;
34 using UStm = std::unique_ptr<Statement>;
41 using ULit = std::unique_ptr<Literal>;
48 virtual bool isBound(
Value &value,
bool negate)
const { (void)value; (void)negate;
return false; }
51 virtual void invert() { assert(
false); }
54 using LitVec = std::vector<std::reference_wrapper<Literal>>;
63 #endif // _GRINGO_OUTPUT_LITERAL_HH
Definition: comparable.hh:29
virtual void makeEqual(ULit &&lit, LparseTranslator &x) const =0
virtual void updateBound(CSPBound &bounds, bool negate) const
Definition: literal.hh:49
virtual ULit toLparse(LparseTranslator &x)=0
Definition: statement.hh:47
Definition: lparseoutputter.hh:38
Definition: literal.hh:42
virtual bool isBound(Value &value, bool negate) const
Definition: literal.hh:48
Definition: hashable.hh:36
std::vector< ULit > ULitVec
Definition: literal.hh:55
Literal & lit
Definition: statements.cc:1284
std::pair< int, int > CSPBound
Definition: literal.hh:36
std::vector< UStm > UStmVec
Definition: literal.hh:35
std::unique_ptr< Statement > UStm
Definition: literal.hh:34
std::unique_ptr< Literal > ULit
Definition: literal.hh:41
virtual void invert()
Definition: literal.hh:51
virtual bool isIncomplete() const =0
virtual ~Literal()
Definition: literal.hh:52
virtual void printPlain(std::ostream &out) const =0
Definition: clonable.hh:29
int x
Definition: utility.cc:65
virtual bool invertible() const
Definition: literal.hh:50
#define GRINGO_HASH(T)
Definition: hashable.hh:29
std::vector< std::reference_wrapper< Literal >> LitVec
Definition: literal.hh:54
virtual int lparseUid(LparseOutputter &out) const =0
LparseOutputter & out
Definition: output.cc:685