45 Closure, NegClosure, NegClosureMarked
87 virtual void accept(
visitor& v)
const override;
102 const char* op_name()
const;
105 virtual std::string
dump()
const override;
108 static unsigned instance_count();
111 static std::ostream& dump_instances(std::ostream& os);
114 typedef std::pair<type, const formula*> key;
115 typedef std::map<key, const unop*> map;
116 static map instances;
133 is_unop(
const formula* f)
135 if (f->kind() != formula::UnOp)
137 return static_cast<const unop*
>(f);
146 is_unop(
const formula* f, unop::type op)
148 if (
const unop* uo = is_unop(f))
159 is_Not(
const formula* f)
161 return is_unop(f, unop::Not);
169 is_X(
const formula* f)
171 return is_unop(f, unop::X);
179 is_F(
const formula* f)
181 return is_unop(f, unop::F);
189 is_G(
const formula* f)
191 return is_unop(f, unop::G);
199 is_GF(
const formula* f)
201 if (
const unop* op = is_G(f))
202 return is_F(op->child());
211 is_FG(
const formula* f)
213 if (
const unop* op = is_F(f))
214 return is_G(op->child());
Formula visitor.
Definition: visitor.hh:40
type op() const
Get the type of this operator.
Definition: unop.hh:96
SPOT_API std::ostream & dump(std::ostream &os, const formula *f)
Dump a formula tree.
const formula * child() const
Get the sole operand of this operator.
Definition: unop.hh:90
Unary operators.
Definition: unop.hh:38