Vcsn  2.3
Be Rational
conjunction.hh File Reference
#include <iostream>
#include <map>
#include <utility>
#include <vcsn/algos/copy.hh>
#include <vcsn/algos/insplit.hh>
#include <vcsn/algos/is-proper.hh>
#include <vcsn/algos/strip.hh>
#include <vcsn/algos/tags.hh>
#include <vcsn/algos/transpose.hh>
#include <vcsn/core/automaton-decorator.hh>
#include <vcsn/core/join-automata.hh>
#include <vcsn/core/lazy-tuple-automaton.hh>
#include <vcsn/core/tuple-automaton.hh>
#include <vcsn/ctx/context.hh>
#include <vcsn/ctx/traits.hh>
#include <vcsn/dyn/automaton.hh>
#include <vcsn/dyn/value.hh>
#include <vcsn/misc/set.hh>
#include <vcsn/misc/static-if.hh>
#include <vcsn/misc/to.hh>
#include <vcsn/misc/tuple.hh>
#include <vcsn/misc/zip-maps.hh>
Include dependency graph for conjunction.hh:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  vcsn::detail::product_automaton_impl< Lazy, Aut, Auts >
 Build the (accessible part of the) product. More...
 

Namespaces

 vcsn
 
 vcsn::detail
 
 vcsn::dyn
 
 vcsn::dyn::detail
 

Typedefs

template<bool Lazy, Automaton Aut, Automaton... Auts>
using vcsn::detail::product_automaton = std::shared_ptr< detail::product_automaton_impl< Lazy, Aut, Auts... >>
 A product automaton as a shared pointer. More...
 

Functions

template<bool Lazy, Automaton Aut, Automaton... Auts>
auto vcsn::detail::make_product_automaton (Aut aut, const Auts &...auts) -> product_automaton< Lazy, Aut, Auts... >
 
template<Automaton Aut, Automaton... Auts>
auto vcsn::detail::conjunction (const Aut &a, const Auts &...as)
 Build the (accessible part of the) conjunction. More...
 
template<Automaton Aut, Automaton... Auts>
auto vcsn::detail::conjunction_lazy (const Aut &a, const Auts &...as)
 Build the (accessible part of the) conjunction, on-the-fly. More...
 
template<typename Auts , size_t... I>
automaton vcsn::dyn::detail::conjunction_ (const std::vector< automaton > &as, bool lazy, vcsn::detail::index_sequence< I... >)
 Bridge helper. More...
 
template<typename Auts , typename Bool >
automaton vcsn::dyn::detail::conjunction (const std::vector< automaton > &as, bool lazy)
 Bridge (conjunction). More...
 
template<Automaton Aut1, Automaton Aut2>
auto vcsn::ldivide (const Aut1 &lhs, const Aut2 &rhs, auto_tag={})
 Compute the left quotient. More...
 
template<Automaton Aut1, Automaton Aut2>
auto vcsn::ldivide (const Aut1 &lhs, const Aut2 &rhs, boolean_tag)
 
template<Automaton Aut1, Automaton Aut2>
auto vcsn::ldivide (const Aut1 &lhs, const Aut2 &rhs, weighted_tag)
 
template<Automaton Aut1, Automaton Aut2>
automaton vcsn::dyn::detail::ldivide (const automaton &aut1, const automaton &aut2)
 Bridge (ldivide). More...
 
template<Automaton Aut1, Automaton Aut2>
auto vcsn::rdivide (const Aut1 &a1, const Aut2 &a2)
 Compute the right quotient. More...
 
template<Automaton Aut1, Automaton Aut2>
automaton vcsn::dyn::detail::rdivide (const automaton &aut1, const automaton &aut2)
 Bridge. More...
 
template<Automaton... Auts>
auto vcsn::shuffle (const Auts &...as) -> tuple_automaton< decltype(join_automata(as...)), Auts... >
 The (accessible part of the) shuffle product. More...
 
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 (const std::vector< automaton > &as)
 Bridge (shuffle). More...
 
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 expressions. More...
 
template<typename ExpSetLhs , typename ExpSetRhs >
expression vcsn::dyn::detail::shuffle_expression (const expression &lhs, const expression &rhs)
 Bridge (shuffle). More...
 
template<Automaton A1, Automaton A2>
auto vcsn::infiltrate (const A1 &a1, const A2 &a2) -> tuple_automaton< decltype(join_automata(a1, a2)), A1, A2 >
 The (accessible part of the) infiltration product. More...
 
template<Automaton A1, Automaton A2, Automaton A3, Automaton... Auts>
auto vcsn::infiltrate (const A1 &a1, const A2 &a2, const A3 &a3, const Auts &...as) -> decltype(infiltrate(infiltrate(a1, a2), a3, as...))
 The (accessible part of the) infiltration product. More...
 
template<typename Auts , size_t... I>
automaton vcsn::dyn::detail::infiltrate_ (const std::vector< automaton > &as, vcsn::detail::index_sequence< I... >)
 Variadic bridge helper. More...
 
template<typename Auts >
automaton vcsn::dyn::detail::infiltrate (const std::vector< automaton > &as)
 Bridge (infiltrate). More...
 
template<typename ValueSet >
ValueSet::value_t vcsn::infiltrate (const ValueSet &vs, const typename ValueSet::value_t &lhs, const typename ValueSet::value_t &rhs)
 Infiltration product of expressions. More...
 
template<typename ExpSetLhs , typename ExpSetRhs >
expression vcsn::dyn::detail::infiltrate_expression (const expression &lhs, const expression &rhs)
 Bridge (infiltrate). More...
 
template<Automaton Aut>
auto vcsn::conjunction (const Aut &aut, to exp) -> fresh_automaton_t_of< Aut >
 Repeated conjunction of a automaton. More...
 
template<Automaton Aut, typename Unsigned >
automaton vcsn::dyn::detail::conjunction_repeated (const automaton &aut, unsigned n)
 Bridge (conjunction). More...
 
template<typename ValueSet >
ValueSet::value_t vcsn::conjunction (const ValueSet &rs, const typename ValueSet::value_t &lhs, const typename ValueSet::value_t &rhs)
 Intersection/Hadamard product of expressions/polynomials. More...
 
template<typename ExpSetLhs , typename ExpSetRhs >
expression vcsn::dyn::detail::conjunction_expression (const expression &lhs, const expression &rhs)
 Bridge (conjunction). More...
 
template<typename ExpSetLhs , typename ExpSetRhs >
expansion vcsn::dyn::detail::conjunction_expansion (const expansion &lhs, const expansion &rhs)
 Bridge (conjunction). More...
 
template<typename PolynomialSetLhs , typename PolynomialSetRhs >
polynomial vcsn::dyn::detail::conjunction_polynomial (const polynomial &lhs, const polynomial &rhs)
 Bridge (conjunction). More...