spot 2.13
|
Actual storage for formula nodes. More...
#include <spot/tl/formula.hh>
Public Member Functions | |
const fnode * | clone () const |
Clone an fnode. More... | |
void | destroy () const |
Dereference an fnode. More... | |
op | kind () const |
std::string | kindstr () const |
const fnode * | get_child_of (op o) const |
const fnode * | get_child_of (std::initializer_list< op > l) const |
unsigned | min () const |
unsigned | max () const |
unsigned | size () const |
bool | is_leaf () const |
size_t | id () const |
const fnode *const * | begin () const |
const fnode *const * | end () const |
const fnode * | nth (unsigned i) const |
bool | is_ff () const |
bool | is_tt () const |
bool | is_eword () const |
bool | is_constant () const |
bool | is_Kleene_star () const |
const std::string & | ap_name () const |
std::ostream & | dump (std::ostream &os) const |
const fnode * | all_but (unsigned i) const |
unsigned | boolean_count () const |
const fnode * | boolean_operands (unsigned *width=nullptr) const |
bool | is_boolean () const |
bool | is_sugar_free_boolean () const |
bool | is_in_nenoform () const |
bool | is_syntactic_stutter_invariant () const |
bool | is_sugar_free_ltl () const |
bool | is_ltl_formula () const |
bool | is_psl_formula () const |
bool | is_sere_formula () const |
bool | is_finite () const |
bool | is_eventual () const |
bool | is_universal () const |
bool | is_syntactic_safety () const |
bool | is_syntactic_guarantee () const |
bool | is_syntactic_obligation () const |
bool | is_syntactic_recurrence () const |
bool | is_syntactic_persistence () const |
bool | is_marked () const |
bool | accepts_eword () const |
bool | has_lbt_atomic_props () const |
bool | has_spin_atomic_props () const |
bool | is_sigma2 () const |
bool | is_pi2 () const |
bool | is_delta1 () const |
bool | is_delta2 () const |
bool | is (op o) const |
bool | is (op o1, op o2) const |
bool | is (op o1, op o2, op o3) const |
bool | is (op o1, op o2, op o3, op o4) const |
bool | is (std::initializer_list< op > l) const |
Static Public Member Functions | |
static constexpr uint8_t | unbounded () |
static const fnode * | ap (const std::string &name) |
static const fnode * | unop (op o, const fnode *f) |
static const fnode * | binop (op o, const fnode *f, const fnode *g) |
static const fnode * | multop (op o, std::vector< const fnode * > l) |
static const fnode * | bunop (op o, const fnode *f, unsigned min, unsigned max=unbounded()) |
static const fnode * | nested_unop_range (op uo, op bo, unsigned min, unsigned max, const fnode *f) |
static const fnode * | ff () |
static const fnode * | tt () |
static const fnode * | eword () |
static const fnode * | one_star () |
static const fnode * | one_plus () |
static bool | instances_check () |
safety check for the reference counters More... | |
Actual storage for formula nodes.
spot::formula objects contain references to instances of this class, and delegate most of their methods. Because spot::formula is meant to be the public interface, most of the methods are documented there, rather than here.
|
inline |
const fnode * spot::fnode::all_but | ( | unsigned | i | ) | const |
|
static |
Referenced by spot::formula::ap().
const std::string & spot::fnode::ap_name | ( | ) | const |
|
inline |
Referenced by spot::formula::binop().
|
inline |
const fnode * spot::fnode::boolean_operands | ( | unsigned * | width = nullptr | ) | const |
|
static |
Referenced by spot::formula::bunop().
|
inline |
Clone an fnode.
This simply increment the reference counter. If the counter saturates, the fnode will stay permanently allocated.
Referenced by spot::formula::binop(), spot::formula::bunop(), spot::formula::multop(), spot::formula::nested_unop_range(), and spot::formula::unop().
|
inline |
Dereference an fnode.
This decrement the reference counter (unless the counter is saturated), and actually deallocate the fnode when the counder reaches 0 (unless the fnode denotes a constant).
std::ostream & spot::fnode::dump | ( | std::ostream & | os | ) | const |
|
inline |
|
inlinestatic |
Referenced by spot::formula::eword().
|
inlinestatic |
Referenced by spot::formula::ff().
Referenced by get_child_of().
References get_child_of().
|
inline |
|
inline |
|
inline |
|
static |
safety check for the reference counters
This is meant to be used as
at the end of a program.
|
inline |
Referenced by is().
|
inline |
|
inline |
|
inline |
References spot::eword, spot::ff, and spot::tt.
|
inline |
|
inline |
|
inline |
|
inline |
References spot::eword.
|
inline |
References spot::ff.
|
inline |
|
inline |
|
inline |
References spot::Star.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
References spot::tt.
|
inline |
|
inline |
std::string spot::fnode::kindstr | ( | ) | const |
|
inline |
References spot::FStar, and spot::Star.
|
inline |
References spot::FStar, and spot::Star.
Referenced by spot::formula::multop().
|
static |
Referenced by spot::formula::nested_unop_range().
|
inlinestatic |
|
inlinestatic |
|
inline |
|
inlinestatic |
Referenced by spot::formula::tt().
|
inlinestaticconstexpr |
Referenced by spot::formula::unbounded().
Referenced by spot::formula::unop().