17 #ifndef AWALI_ALGOS_IS_COMPLETE_HH
18 # define AWALI_ALGOS_IS_COMPLETE_HH
23 namespace awali {
namespace sttc {
27 template <
typename Aut>
31 "requires free labelset");
33 if (aut->num_initials() == 0)
36 using label_set_t = std::set<typename labelset_t_of<Aut>::letter_t>;
38 const auto& letters = aut->labelset()->genset();
39 for (
auto state : aut->states())
41 label_set_t missing_letters = {std::begin(letters), std::end(letters)};
43 for (
auto tr : aut->all_out(state))
44 missing_letters.erase(aut->label_of(tr));
46 if (!missing_letters.empty())
bool is_complete(const Aut &aut)
Whether aut is complete.
Definition: is_complete.hh:28
typename internal::labelset_t_of_impl< internal::base_t< ValueSet > >::type labelset_t_of
Helper to retrieve the type of the labelset of a value set.
Definition: traits.hh:76
Main namespace of Awali.
Definition: ato.hh:22