17 #ifndef AWALI_RATEXP_HISTORY_HH
18 # define AWALI_RATEXP_HISTORY_HH
47 template <
typename RatExpSet>
51 using ratexp_t =
typename ratexpset_t::value_t;
54 std::map<state_t, ratexp_t> origins_;
69 const std::string& fmt)
const
77 const std::map<state_t, ratexp_t>&
origins()
const
88 return (origins_.find(s)!=origins_.end());
106 throw std::runtime_error(
"Origin state not available");
113 throw std::runtime_error(
"Origin state set not available");
base type for history of automata
Definition: history.hh:40
specialisation of history_base
Definition: ratexp_history.hh:48
typename ratexpset_t::value_t ratexp_t
Definition: ratexp_history.hh:51
std::ostream & print_state_name(state_t s, std::ostream &o, const std::string &fmt) const
Definition: ratexp_history.hh:68
RatExpSet ratexpset_t
Definition: ratexp_history.hh:50
bool remove_history(state_t s)
Definition: ratexp_history.hh:82
ratexp_history(const ratexpset_t &rs)
Definition: ratexp_history.hh:57
const std::map< state_t, ratexp_t > & origins() const
map between states and rational expressions
Definition: ratexp_history.hh:77
history_kind_t get_nature() const
Definition: ratexp_history.hh:62
std::vector< state_t > get_state_set(state_t s)
unsupported method : use get_ratexp
Definition: ratexp_history.hh:112
const ratexp_t & get_ratexp(state_t s)
Definition: ratexp_history.hh:98
bool has_history(state_t s) const
Definition: ratexp_history.hh:87
state_t get_state(state_t s)
unsupported method : use get_ratexp
Definition: ratexp_history.hh:105
void add_state(state_t s, const ratexp_t &expr)
set the history of state s
Definition: ratexp_history.hh:93
history_kind_t
The different kinds of history.
Definition: enums.hh:176
@ RATEXP
The state comes from a rational expression.
std::ostream & str_escape(std::ostream &os, const int c)
Definition: escape.hh:30
auto format(const ValueSet &vs, const typename ValueSet::value_t &v, Args &&... args) -> std::string
Format v via vs.print.
Definition: stream.hh:109
Main namespace of Awali.
Definition: ato.hh:22
unsigned state_t
Definition: types.hh:21