21#include <spot/twa/twa.hh>
22#include <spot/misc/fixpool.hh>
44 : left_(left), right_(right), count_(1), pool_(pool)
63 virtual size_t hash()
const override;
69 mutable unsigned count_;
85 twa_product(
const const_twa_ptr& left,
const const_twa_ptr& right);
104 const_twa_ptr right_;
119 const state* left_init,
const state* right_init);
122 const state* left_init_;
123 const state* right_init_;
128 const const_twa_ptr& right)
130 return SPOT_make_shared_enabled__(
twa_product, left, right);
135 const const_twa_ptr& right,
136 const state* left_init,
137 const state* right_init)
140 left, right, left_init, right_init);
An acceptance condition.
Definition: acc.hh:61
A state for spot::twa_product.
Definition: twaproduct.hh:33
virtual size_t hash() const override
Hash a state.
virtual void destroy() const override
Release a state.
state_product(const state *left, const state *right, fixed_size_pool< pool_type::Safe > *pool)
Constructor.
Definition: twaproduct.hh:41
virtual int compare(const state *other) const override
Compares two states (that come from the same automaton).
virtual state_product * clone() const override
Duplicate a state.
Abstract class for states.
Definition: twa.hh:47
A lazy product with different initial states.
Definition: twaproduct.hh:116
virtual const state * get_init_state() const override
Get the initial state of the automaton.
A lazy product. (States are computed on the fly.)
Definition: twaproduct.hh:79
virtual std::string format_state(const state *state) const override
Format the state as a string for printing.
twa_product(const const_twa_ptr &left, const const_twa_ptr &right)
Constructor.
virtual twa_succ_iterator * succ_iter(const state *state) const override
Get an iterator over the successors of local_state.
virtual state * project_state(const state *s, const const_twa_ptr &t) const override
Project a state on an automaton.
virtual const state * get_init_state() const override
Get the initial state of the automaton.
Iterate over the successors of a state.
Definition: twa.hh:394
A Transition-based ω-Automaton.
Definition: twa.hh:619
Definition: automata.hh:26
twa_product_ptr otf_product(const const_twa_ptr &left, const const_twa_ptr &right)
on-the-fly TGBA product
Definition: twaproduct.hh:127
twa_product_ptr otf_product_at(const const_twa_ptr &left, const const_twa_ptr &right, const state *left_init, const state *right_init)
on-the-fly TGBA product with forced initial states
Definition: twaproduct.hh:134