17 #ifndef AWALI_CORE_PARTITION_AUTOMATON_HH
18 # define AWALI_CORE_PARTITION_AUTOMATON_HH
26 namespace awali {
namespace sttc {
31 template <
typename Aut>
47 using origins_t = std::map<state_t, state_set_t>;
63 return "partition_automaton<" + automaton_t::element_type::sname() +
">";
68 return "partition_automaton<" + input_->vname(
full) +
">";
73 const std::string& fmt =
"text")
const
75 const auto& set = origins_.at(s);
76 const char* separator =
"{";
80 input_->print_state_name(s, o, fmt);
115 template <
typename Aut>
117 = std::shared_ptr<internal::partition_automaton_impl<Aut>>;
carries the algebraic settings of automata
Definition: context.hh:40
Aggregate an automaton, and forward calls to it.
Definition: automaton_decorator.hh:36
auto add_state(Args &&... args) -> decltype(aut_-> add_state(std::forward< Args >(args)...))
Definition: automaton_decorator.hh:187
Definition: partition_automaton.hh:34
label_t_of< automaton_t > label_t
Definition: partition_automaton.hh:39
typename automaton_t::element_type::automaton_nocv_t automaton_nocv_t
Definition: partition_automaton.hh:37
context_t_of< automaton_t > context_t
Definition: partition_automaton.hh:38
static std::string sname()
Definition: partition_automaton.hh:61
Aut automaton_t
Definition: partition_automaton.hh:36
state_t add_state(const std::vector< state_t > &v)
Definition: partition_automaton.hh:98
std::ostream & print_state_name(state_t s, std::ostream &o, const std::string &fmt="text") const
Definition: partition_automaton.hh:72
std::set< state_t > state_set_t
A set of the original automaton states.
Definition: partition_automaton.hh:43
state_t add_state()
Definition: partition_automaton.hh:107
partition_automaton_impl(const automaton_t &input)
Definition: partition_automaton.hh:53
state_t add_state(const state_set_t &set)
Make a new state representing the given input state set, which is required to be new – no error-check...
Definition: partition_automaton.hh:90
std::string vname(bool full=true) const
Definition: partition_automaton.hh:66
typename internal::label_t_of_impl< internal::base_t< ValueSet > >::type label_t_of
Helper to retrieve the type of the labels of a value set.
Definition: traits.hh:71
typename internal::context_t_of_impl< internal::base_t< ValueSet > >::type context_t_of
Helper to retrieve the type of the context of a value set.
Definition: traits.hh:66
std::shared_ptr< internal::partition_automaton_impl< Aut > > partition_automaton
A subset automaton as a shared pointer.
Definition: partition_automaton.hh:117
static const std::string full
Completely version of Awali as a std::string.
Definition: version.hh:42
Main namespace of Awali.
Definition: ato.hh:22
unsigned state_t
Definition: types.hh:21