21 #ifndef _GRINGO_CONTROL_HH
22 #define _GRINGO_CONTROL_HH
35 static const unsigned CSP = 1;
36 static const unsigned SHOWN = 2;
37 static const unsigned ATOMS = 4;
38 static const unsigned TERMS = 8;
55 operator bool()
const {
return valid(); }
56 operator double()
const {
return valid() ? rep : std::numeric_limits<double>::quiet_NaN(); }
60 virtual Quantity
getStat(
char const* key)
const = 0;
61 virtual char const *
getKeys(
char const* key)
const = 0;
70 virtual void wait() = 0;
71 virtual bool wait(
double timeout) = 0;
81 virtual void close() = 0;
100 virtual void commit() = 0;
101 virtual void add(std::string
const &name,
FWStringVec const ¶ms, std::string
const &part) = 0;
102 virtual void load(std::string
const &filename) = 0;
117 #endif // _GRINGO_CONTROL_HH
static const unsigned CSP
Definition: control.hh:35
virtual void enableEnumAssumption(bool enable)=0
Error
Definition: control.hh:49
Definition: control.hh:49
virtual Model const * next()=0
Bound::atom_vec::iterator atom
Definition: output.cc:124
Definition: control.hh:68
Error error() const
Definition: control.hh:54
virtual void releaseExternal(Value ext)=0
std::vector< std::pair< Value, bool >> Assumptions
Definition: control.hh:95
virtual Statistics * getStats()=0
virtual Quantity getStat(char const *key) const =0
static const unsigned TERMS
Definition: control.hh:38
static const unsigned ATOMS
Definition: control.hh:37
virtual void interrupt()=0
SolveResult
Definition: control.hh:28
virtual void load(std::string const &filename)=0
virtual ~Model()
Definition: control.hh:42
std::unique_ptr< ValTerm > val(Value v)
Definition: term_helper.hh:31
std::function< void(SolveResult, bool)> FinishHandler
Definition: control.hh:93
std::function< bool(Model const &)> ModelHandler
Definition: control.hh:92
std::vector< std::string > StringVec
Definition: control.hh:94
virtual ~SolveFuture()
Definition: control.hh:73
Definition: control.hh:49
Definition: control.hh:49
Definition: control.hh:50
virtual void add(std::string const &name, FWStringVec const ¶ms, std::string const &part)=0
virtual char const * getKeys(char const *key) const =0
virtual bool contains(Value atom) const =0
Definition: control.hh:79
virtual Int64Vec optimization() const =0
Quantity(Error e)
Definition: control.hh:52
Definition: control.hh:34
virtual ValVec atoms(int showset) const =0
Definition: control.hh:48
std::vector< int64_t > Int64Vec
Definition: control.hh:32
virtual Value getConst(std::string const &name)=0
virtual ~Statistics()
Definition: control.hh:62
static const unsigned SHOWN
Definition: control.hh:36
Definition: control.hh:91
tuple d
Definition: pyclingo.py:49
Quantity(double d)
Definition: control.hh:51
virtual SolveIter * iterSolve(Assumptions &&assumptions)=0
virtual SolveResult solve(ModelHandler h, Assumptions &&assumptions)=0
virtual ~SolveIter()
Definition: control.hh:83
std::vector< Value > ValVec
Definition: value.hh:41
virtual ~Control()
Definition: control.hh:110
Definition: control.hh:49
tuple e
Definition: pyclingo.py:50
virtual void setConf(StringVec &&conf)=0
virtual SolveFuture * asolve(ModelHandler mh, FinishHandler fh, Assumptions &&assumptions)=0
bool valid() const
Definition: control.hh:53
virtual void assignExternal(Value ext, bool val)=0
std::vector< FWString > FWStringVec
Definition: control.hh:89
virtual void ground(std::string const &name, FWValVec args)=0
Definition: flyweight.hh:116