1 #ifndef VCSN_CORE_PARTITION_AUTOMATON_HH
2 # define VCSN_CORE_PARTITION_AUTOMATON_HH
19 template <
typename Aut>
57 std::string
vname(
bool full =
true)
const
59 return "partition_automaton<" +
input_->vname(full) +
">";
69 const std::string& fmt =
"text",
70 bool delimit =
false)
const
73 const char* separator =
"";
79 input_->print_state_name(s, o, fmt,
true);
111 template <
typename Aut>
113 = std::shared_ptr<detail::partition_automaton_impl<Aut>>;
117 #endif // !VCSN_CORE_PARTITION_AUTOMATON_HH
std::set< state_t > state_name_t
The state names: a set of the original automaton states.
partition_automaton_impl(const automaton_t &input)
std::ostream & print_state_name(state_t s, std::ostream &o, const std::string &fmt="text", bool delimit=false) const
std::map< state_t, state_name_t > origins_t
A map from each state to the origin state set it stands for.
static std::string sname()
Static name.
state_t_of< automaton_t > state_t
The underlying state type.
bool state_has_name(state_t s) const
context_t_of< automaton_t > context_t
auto new_state(Args &&...args) -> decltype(aut_-> new_state(std::forward< Args >(args)...))
typename detail::context_t_of_impl< base_t< ValueSet >>::type context_t_of
Aggregate an automaton, and forward calls to it.
std::string vname(bool full=true) const
Dynamic name.
typename detail::label_t_of_impl< base_t< ValueSet >>::type label_t_of
label_t_of< automaton_t > label_t
state_t new_state(const state_name_t &set)
Make a new state representing the given input state set, which is required to be new – no error-chec...
state_t new_state(const std::vector< state_t > &v)
static constexpr auto pre(Args &&...args) -> decltype(automaton_t::element_type::pre(std::forward< Args >(args)...))
typename detail::state_t_of_impl< base_t< ValueSet >>::type state_t_of
std::shared_ptr< detail::partition_automaton_impl< Aut >> partition_automaton
A partition automaton as a shared pointer.
typename automaton_t::element_type::automaton_nocv_t automaton_nocv_t
An automaton wrapper whose states form a partition of the state set of another automaton.
static constexpr auto post(Args &&...args) -> decltype(automaton_t::element_type::post(std::forward< Args >(args)...))
const automaton_t input_
The input automaton.