17 #ifndef AWALI_ALGOS_IS_PROPER_HH 
   18 # define AWALI_ALGOS_IS_PROPER_HH 
   20 # include <type_traits> 
   26 namespace awali { 
namespace sttc {
 
   31     template <
typename Aut>
 
   32     typename std::enable_if<labelset_t_of<Aut>::has_one(),
 
   36       for (
auto t: aut->transitions())
 
   37         if (aut->labelset()->is_one(aut->label_of(t)))
 
   42     template <
typename Aut>
 
   44     typename std::enable_if<!labelset_t_of<Aut>::has_one(),
 
   51     template <
size_t I, 
typename Tdc>
 
   52     typename std::enable_if<!labelset_t_of<Tdc>::template valueset_t<I>::has_one(),
 
   59     template <
size_t I, 
typename Tdc>
 
   60     typename std::enable_if<labelset_t_of<Tdc>::template valueset_t<I>::has_one(),
 
   64       auto ls=tdc->context().labelset()->template set<I>();
 
   65       for (
auto t: tdc->transitions())
 
   66         if (ls.is_one(std::get<I>(tdc->label_of(t))))
 
   71     template <
typename Tdc>
 
   73     typename std::enable_if<!labelset_t_of<Tdc>::has_one(),
 
   89   template <
typename Aut>
 
   90   bool is_proper(
const Aut& aut) ATTRIBUTE_CONST;
 
   92   template <
typename Aut>
 
   99   template <
size_t I, 
typename Tdc>
 
  103     return internal::is_proper_tape_<I>(tdc);
 
std::enable_if< labelset_t_of< Aut >::has_one(), bool >::type is_proper_(const Aut &aut)
Definition: is_proper.hh:34
 
std::enable_if<!labelset_t_of< Tdc >::template valueset_t< I >::has_one(), bool >::type is_proper_tape_(const Tdc &)
Definition: is_proper.hh:54
 
bool is_proper(const Aut &aut) ATTRIBUTE_CONST
Test whether an automaton is proper.
Definition: is_proper.hh:94
 
bool is_proper_tape(const Tdc &tdc)
Definition: is_proper.hh:101
 
Main namespace of Awali.
Definition: ato.hh:22