![]() |
Vcsn
2.0
Be Rational
|
#include <iostream>#include <map>#include <utility>#include <vcsn/algos/insplit.hh>#include <vcsn/algos/strip.hh>#include <vcsn/core/tuple-automaton.hh>#include <vcsn/core/transition-map.hh>#include <vcsn/ctx/context.hh>#include <vcsn/ctx/traits.hh>#include <vcsn/dyn/automaton.hh>#include <vcsn/dyn/ratexp.hh>#include <vcsn/misc/vector.hh>#include <vcsn/misc/zip-maps.hh>Go to the source code of this file.
Classes | |
| class | vcsn::detail::product_automaton_impl< Aut, Auts > |
| Build the (accessible part of the) product. More... | |
Namespaces | |
| vcsn | |
| vcsn::detail | |
| vcsn::dyn | |
| FIXME: duplicate code with determinize. | |
| vcsn::dyn::detail | |
Typedefs | |
| template<typename Aut , typename... Auts> | |
| using | vcsn::product_automaton = std::shared_ptr< detail::product_automaton_impl< Aut, Auts...>> |
| A product automaton as a shared pointer. More... | |
Functions | |
| template<typename... Auts> | |
| auto | vcsn::join_automata (Auts &&...auts) -> decltype(make_mutable_automaton(join(auts->context()...))) |
| Join between automata. More... | |
| template<typename... Auts> | |
| auto | vcsn::meet_automata (Auts &&...auts) -> decltype(make_mutable_automaton(meet(auts->context()...))) |
| Meet between automata. More... | |
| template<typename Aut , typename... Auts> | |
| auto | vcsn::make_product_automaton (Aut aut, const Auts &...auts) -> product_automaton< Aut, Auts...> |
| template<typename... Auts> | |
| auto | vcsn::product (const Auts &...as) -> product_automaton< decltype(meet_automata(as...)), Auts...> |
| Build the (accessible part of the) product. More... | |
| template<std::size_t I, typename Aut > | |
| std::enable_if< labelset_t_of < Aut >::has_one()&&I!=0, Aut > ::type | vcsn::dyn::detail::do_insplit (Aut &aut) |
| template<std::size_t I, typename Aut > | |
| std::enable_if<!labelset_t_of < Aut >::has_one()||I==0, Aut & > ::type | vcsn::dyn::detail::do_insplit (Aut &aut) |
| template<typename... Auts, size_t... I> | |
| automaton | vcsn::dyn::detail::product_ (const std::vector< automaton > &as, vcsn::detail::index_sequence< I...>) |
| template<typename Lhs , typename Rhs > | |
| automaton | vcsn::dyn::detail::product (const automaton &lhs, const automaton &rhs) |
| Binary bridge. More... | |
| vcsn::dyn::detail::REGISTER_DECLARE (product,(const automaton &, const automaton &) -> automaton) | |
| template<typename... Auts> | |
| automaton | vcsn::dyn::detail::product_vector (const std::vector< automaton > &as) |
| Variadic bridge. More... | |
| vcsn::dyn::detail::REGISTER_DECLARE (product_vector,(const std::vector< automaton > &) -> automaton) | |
| template<typename... Auts> | |
| auto | vcsn::shuffle (const Auts &...as) -> product_automaton< decltype(join_automata(as...)), Auts...> |
| The (accessible part of the) shuffle product. More... | |
| template<typename Lhs , typename Rhs > | |
| automaton | vcsn::dyn::detail::shuffle (const automaton &lhs, const automaton &rhs) |
| Binary bridge. More... | |
| vcsn::dyn::detail::REGISTER_DECLARE (shuffle,(const automaton &, const automaton &) -> automaton) | |
| template<typename... Auts, size_t... I> | |
| automaton | vcsn::dyn::detail::shuffle_ (const std::vector< automaton > &as, vcsn::detail::index_sequence< I...>) |
| Variadic bridge helper. More... | |
| template<typename... Auts> | |
| automaton | vcsn::dyn::detail::shuffle_vector (const std::vector< automaton > &as) |
| Variadic bridge. More... | |
| vcsn::dyn::detail::REGISTER_DECLARE (shuffle_vector,(const std::vector< automaton > &) -> automaton) | |
| template<typename ValueSet > | |
| ValueSet::value_t | vcsn::shuffle (const ValueSet &vs, const typename ValueSet::value_t &lhs, const typename ValueSet::value_t &rhs) |
| Shuffle product of ratexps. More... | |
| template<typename RatExpSetLhs , typename RatExpSetRhs > | |
| ratexp | vcsn::dyn::detail::shuffle_ratexp (const ratexp &lhs, const ratexp &rhs) |
| Bridge. More... | |
| vcsn::dyn::detail::REGISTER_DECLARE (shuffle_ratexp,(const ratexp &, const ratexp &) -> ratexp) | |
| template<typename... Auts> | |
| auto | vcsn::infiltration (const Auts &...as) -> product_automaton< decltype(join_automata(as...)), Auts...> |
| The (accessible part of the) infiltration product. More... | |
| template<typename Lhs , typename Rhs > | |
| automaton | vcsn::dyn::detail::infiltration (const automaton &lhs, const automaton &rhs) |
| Binary bridge. More... | |
| vcsn::dyn::detail::REGISTER_DECLARE (infiltration,(const automaton &, const automaton &) -> automaton) | |
| template<typename... Auts, size_t... I> | |
| automaton | vcsn::dyn::detail::infiltration_ (const std::vector< automaton > &as, vcsn::detail::index_sequence< I...>) |
| Variadic bridge helper. More... | |
| template<typename... Auts> | |
| automaton | vcsn::dyn::detail::infiltration_vector (const std::vector< automaton > &as) |
| Variadic bridge. More... | |
| vcsn::dyn::detail::REGISTER_DECLARE (infiltration_vector,(const std::vector< automaton > &) -> automaton) | |
| template<typename Aut > | |
| auto | vcsn::power (const Aut &aut, unsigned n) -> typename Aut::element_type::automaton_nocv_t |
| template<typename Aut , typename Unsigned > | |
| automaton | vcsn::dyn::detail::power (const automaton &aut, unsigned n) |
| Bridge. More... | |
| vcsn::dyn::detail::REGISTER_DECLARE (power,(const automaton &, unsigned) -> automaton) | |
| template<typename RatExpSet > | |
| RatExpSet::value_t | vcsn::conjunction (const RatExpSet &rs, const typename RatExpSet::value_t &lhs, const typename RatExpSet::value_t &rhs) |
| Intersection/Hadamard product of ratexps. More... | |
| template<typename RatExpSetLhs , typename RatExpSetRhs > | |
| ratexp | vcsn::dyn::detail::conjunction_ratexp (const ratexp &lhs, const ratexp &rhs) |
| Bridge. More... | |
| vcsn::dyn::detail::REGISTER_DECLARE (conjunction_ratexp,(const ratexp &, const ratexp &) -> ratexp) | |