108 static const formula* instance(type op,
112 virtual void accept(
visitor& v)
const override;
133 const char* op_name()
const;
136 virtual std::string
dump()
const override;
139 static unsigned instance_count();
142 static std::ostream& dump_instances(std::ostream& os);
145 typedef std::tuple<type, const formula*, const formula*> key;
146 typedef std::map<key, const binop*> map;
147 static map instances;
164 is_binop(
const formula* f)
166 if (f->kind() != formula::BinOp)
168 return static_cast<const binop*
>(f);
179 if (
const binop* bo = is_binop(f))
193 if (
const binop* bo = is_binop(f))
194 if (bo->op() == op1 || bo->op() == op2)
204 is_U(
const formula* f)
214 is_M(
const formula* f)
224 is_R(
const formula* f)
234 is_W(
const formula* f)
strong release (dual of weak until)
Definition: binop.hh:55
type op() const
Get the type of this operator.
Definition: binop.hh:127
Binary operator.
Definition: binop.hh:42
Formula visitor.
Definition: visitor.hh:40
type
Definition: binop.hh:49
weak until
Definition: binop.hh:54
Existential Concatenation, Marked.
Definition: binop.hh:57
Existential Concatenation.
Definition: binop.hh:56
const formula * first() const
Get the first operand.
Definition: binop.hh:115
SPOT_API std::ostream & dump(std::ostream &os, const formula *f)
Dump a formula tree.
const formula * second() const
Get the second operand.
Definition: binop.hh:121
until
Definition: binop.hh:52
release (dual of until)
Definition: binop.hh:53