1 #ifndef VCSN_CTX_LAL_CHAR_B_HH
2 # define VCSN_CTX_LAL_CHAR_B_HH
30 determinize(
const mutable_automaton<ctx::lal_char_b>& aut)
31 -> mutable_automaton<ctx::lal_char_b>;
35 std::ostream& fado<mutable_automaton<ctx::lal_char_b>>
36 (
const mutable_automaton<ctx::lal_char_b>& aut, std::ostream& out);
40 fado<vcsn::detail::transpose_automaton<mutable_automaton<ctx::lal_char_b>>>
41 (
const vcsn::detail::transpose_automaton<mutable_automaton<ctx::lal_char_b>>& aut,
46 std::ostream& grail<mutable_automaton<ctx::lal_char_b>>
47 (
const mutable_automaton<ctx::lal_char_b>& aut, std::ostream& out);
51 grail<vcsn::detail::transpose_automaton<mutable_automaton<ctx::lal_char_b>>>
52 (
const vcsn::detail::transpose_automaton<mutable_automaton<ctx::lal_char_b>>& aut,
56 # if VCSN_INSTANTIATION
61 template <
typename Ctx>
63 register_b_functions()
65 using aut_t = mutable_automaton<Ctx>;
67 #define REGISTER(Algo, ...) \
68 Algo ## _register(ssignature<__VA_ARGS__>(), dyn::detail::Algo<__VA_ARGS__>)
81 static bool register_lal_char_b = register_b_functions<ctx::lal_char_b>();
84 # endif // ! VCSN_INSTANTIATION
87 #endif // !VCSN_CTX_LAL_CHAR_B_HH
auto are_equivalent(const Aut1 &a1, const Aut2 &a2) -> typename std::enable_if<(labelset_t_of< Aut1 >::is_free()&&std::is_same< weightset_t_of< Aut1 >, b >::value &&labelset_t_of< Aut2 >::is_free()&&std::is_same< weightset_t_of< Aut2 >, b >::value), bool >::type
Check equivalence between Boolean automata on a free labelset.
Aut universal(const Aut &a)
context< lal_char, b > lal_char_b
std::ostream & grail(const Aut &aut, std::ostream &out)
VCSN_CTX_INSTANTIATE(ctx::lal_char_b)
auto determinize(const Aut &a) -> determinized_automaton< Aut >
#define REGISTER(Algo,...)
std::ostream & fado(const Aut &aut, std::ostream &out)