Vcsn  2.3
Be Rational
determinize.hh File Reference
#include <string>
#include <vcsn/algos/tags.hh>
#include <vcsn/algos/transpose.hh>
#include <vcsn/core/automaton.hh>
#include <vcsn/core/automaton-decorator.hh>
#include <vcsn/core/polystate-automaton.hh>
#include <vcsn/ctx/traits.hh>
#include <vcsn/dyn/automaton.hh>
#include <vcsn/dyn/fwd.hh>
#include <vcsn/misc/getargs.hh>
#include <vcsn/misc/raise.hh>
#include <vcsn/weightset/polynomialset.hh>
Include dependency graph for determinize.hh:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  vcsn::detail::determinized_automaton_impl< Aut, Kind, Lazy >
 The subset construction automaton from another. More...
 

Namespaces

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

Typedefs

template<Automaton Aut, wet_kind_t Kind, bool Lazy = false>
using vcsn::determinized_automaton = std::shared_ptr< detail::determinized_automaton_impl< Aut, Kind, Lazy >>
 A determinized automaton as a shared pointer. More...
 
template<Automaton Aut>
using vcsn::detail::determinization_tag = std::conditional_t< std::is_same< weight_t_of< Aut >, bool >::value, boolean_tag, weighted_tag >
 The best tag depending on the type of Aut. More...
 
template<Automaton Aut, typename Type = void>
using vcsn::dyn::detail::enable_if_boolean_t = std::enable_if_t< std::is_same< weight_t_of< Aut >, bool >::value, Type >
 Enable if Aut is over Booleans. More...
 
template<Automaton Aut, typename Type = void>
using vcsn::dyn::detail::enable_if_not_boolean_t = std::enable_if_t<!std::is_same< weight_t_of< Aut >, bool >::value, Type >
 Enable if Aut is not over Booleans. More...
 

Functions

template<Automaton Aut, typename Tag , bool Lazy = false>
auto vcsn::determinize (const Aut &a, Tag={}, bool_constant< Lazy >={})
 
template<Automaton Aut, bool Lazy = false>
auto vcsn::determinize (const Aut &a, auto_tag={}, bool_constant< Lazy > lazy={})
 Determinization: automatic dispatch based on the automaton type. More...
 
template<Automaton Aut, typename Tag , bool Lazy = false>
automaton vcsn::dyn::detail::determinize_tag_ (const Aut &aut)
 Helper function to facilitate dispatch below. More...
 
template<Automaton Aut, typename String >
enable_if_boolean_t< Aut, automaton > vcsn::dyn::detail::determinize_ (const automaton &aut, const std::string &algo)
 Boolean Bridge. More...
 
template<Automaton Aut, typename String >
enable_if_not_boolean_t< Aut, automaton > vcsn::dyn::detail::determinize_ (const automaton &aut, const std::string &algo)
 Weighted Bridge. More...
 
template<Automaton Aut, typename String >
automaton vcsn::dyn::detail::determinize (const automaton &aut, const std::string &algo)
 Bridge. More...
 
template<Automaton Aut, typename Tag = auto_tag>
auto vcsn::codeterminize (const Aut &aut, Tag tag={})
 
template<Automaton Aut, typename Tag >
automaton vcsn::dyn::detail::codeterminize_tag_ (const Aut &aut)
 
template<Automaton Aut, typename String >
enable_if_boolean_t< Aut, automaton > vcsn::dyn::detail::codeterminize_ (const automaton &aut, const std::string &algo)
 Boolean Bridge. More...
 
template<Automaton Aut, typename String >
enable_if_not_boolean_t< Aut, automaton > vcsn::dyn::detail::codeterminize_ (const automaton &aut, const std::string &algo)
 Weighted Bridge. More...
 
template<Automaton Aut, typename String >
automaton vcsn::dyn::detail::codeterminize (const automaton &aut, const std::string &algo)
 Bridge. More...