![]() |
Vcsn
2.1
Be Rational
|
Namespaces | |
| ast | |
| ctx | |
| detail | |
| detail_info | |
| detail_moore | |
| detail_signature | |
| detail_weighted | |
| dyn | |
| rat | |
Classes | |
| class | are_isomorphicer |
| struct | as_pair |
| struct | as_tuple |
| class | automaton_editor |
| Abstract Builder (the design pattern) for automata. More... | |
| class | automatonset |
| class | char_letters |
| Represent alphabets whose "letters" are plain chars. More... | |
| struct | container_filter_range |
| struct | container_range |
| Restrict the interface of a container to begin/end. More... | |
| class | context |
| struct | cross_sequences |
| Provide a range that allows to iterate over the cross product of the provided ranges. More... | |
| class | edit_automaton |
| Concrete Builder (the design pattern) for automata. More... | |
| struct | empty_t |
| Empty labels, for LAO. More... | |
| class | equal_to |
| This is useful to make hashes with labels or weights as keys without using non-default constructors; to be used along with vcsn::hash. More... | |
| class | file_library |
| Manage search paths. More... | |
| class | format |
| An input/output format. More... | |
| class | hash |
| This is useful to make hashes with labels or weights as keys without using non-default constructors; to be used along with vcsn::equal_to. More... | |
| struct | integral_constant |
| A simple placeholder for integral constants. More... | |
| struct | iomanipulator |
| Defines the operator() for the classes get_type, set_type and swap_type. More... | |
| struct | is_lal |
| struct | is_lan |
| struct | is_lao |
| struct | is_lar |
| struct | is_lat |
| struct | is_law |
| struct | labels_are_expressions |
| struct | labels_are_letters |
| struct | labels_are_nullable |
| struct | labels_are_one |
| struct | labels_are_tuples |
| struct | labels_are_words |
| class | lazy_automaton_editor |
| Build an automaton with unknown context. More... | |
| struct | less |
| Functor to compare Values of ValueSets. More... | |
| struct | less_equal |
| Functor to compare Values of ValueSets. More... | |
| class | letterset |
| Implementation of labels are letters. More... | |
| struct | MilitaryOrder |
| Military strict order predicate. More... | |
| class | nullableset |
| Implementation of labels are nullables (letter or empty). More... | |
| class | oneset |
| Implementation of labels are ones: there is a single instance of label. More... | |
| class | path |
| Paths in filesystems, i.e., file names. More... | |
| struct | possibly_labeled_transition_tuple |
| Transition on non-empty label. More... | |
| struct | possibly_labeled_transition_tuple< State, empty_t > |
| Transition on empty label. More... | |
| struct | random_selector |
| class | set_alphabet |
| A set of letters of type L. More... | |
| struct | signature |
| Signature of a function call. More... | |
| struct | snamer |
| struct | snamer< bool > |
| struct | snamer< boost::optional< unsigned > > |
| struct | snamer< const std::set< std::pair< std::string, std::string > > > |
| struct | snamer< const std::string > |
| struct | snamer< const std::vector< unsigned > > |
| struct | snamer< float > |
| struct | snamer< int > |
| struct | snamer< std::integral_constant< T, Value > > |
| struct | snamer< std::istream > |
| struct | snamer< std::ostream > |
| struct | snamer< std::shared_ptr< T > > |
| struct | snamer< std::tuple< Args...> > |
| The sname of a tuple is the tuple of the snames. More... | |
| struct | snamer< unsigned > |
| struct | snamer< vcsn::direction > |
| struct | snamer< vcsn::rat::identities > |
| struct | state_distancer |
| Wrapper struct to provide the state distance function. More... | |
| struct | state_distancer< Aut, nmin > |
| Struct specialization for nmin. More... | |
| class | string_letters |
| Represent alphabets whose "letters" are strings. More... | |
| struct | transition_tuple |
| Transition with label and non Boolean weight. More... | |
| struct | transition_tuple< State, Label, bool > |
| Transition with label and Boolean weight. More... | |
| struct | vnamer |
| struct | vnamer< bool > |
| struct | vnamer< boost::optional< unsigned > > |
| struct | vnamer< const std::set< std::pair< std::string, std::string > > > |
| struct | vnamer< const std::string > |
| struct | vnamer< const std::vector< dyn::automaton > > |
| Likewise, for expressions. More... | |
| struct | vnamer< const std::vector< dyn::expression > > |
| The vname of a vector of dyn::automata is the tuple of their vnames. More... | |
| struct | vnamer< const std::vector< unsigned > > |
| struct | vnamer< float > |
| struct | vnamer< int > |
| struct | vnamer< integral_constant > |
| struct | vnamer< std::integral_constant< T, Value > > |
| struct | vnamer< std::istream > |
| struct | vnamer< std::ostream > |
| struct | vnamer< unsigned > |
| struct | vnamer< vcsn::direction > |
| struct | vnamer< vcsn::rat::identities > |
| struct | weightset_mixin |
| Provide a variadic mul on top of a binary mul(), and one(). More... | |
| struct | welement |
| class | wordset |
| Implementation of labels are words. More... | |
| class | xalloc |
| Allocate slots in std::ostreams. More... | |
| struct | zip_sequences |
| struct | zip_sequences_padded |
| struct | zipped_maps |
Typedefs | |
| template<typename Aut > | |
| using | states_t = std::unordered_set< state_t_of< Aut >> |
| template<typename Aut , typename... Auts> | |
| using | product_automaton = std::shared_ptr< detail::product_automaton_impl< Aut, Auts...>> |
| A product automaton as a shared pointer. More... | |
| template<typename Aut > | |
| using | determinized_automaton = std::shared_ptr< detail::determinized_automaton_impl< Aut >> |
| A determinized automaton as a shared pointer. More... | |
| template<typename Aut > | |
| using | detweighted_automaton = std::shared_ptr< detail::detweighted_automaton_impl< Aut >> |
| A determinized automaton as a shared pointer. More... | |
| template<typename Aut > | |
| using | filter_automaton = std::shared_ptr< detail::filter_automaton_impl< Aut >> |
| template<typename Aut > | |
| using | delay_automaton = std::shared_ptr< detail::delay_automaton_impl< Aut >> |
| An automaton wrapper that presents the delay automaton. More... | |
| template<std::size_t Tape, typename Aut > | |
| using | focus_automaton = std::shared_ptr< detail::focus_automaton_impl< Tape, Aut >> |
| A focus automaton as a shared pointer. More... | |
| template<typename Aut > | |
| using | synchronized_automaton = std::shared_ptr< detail::synchronized_automaton_impl< Aut >> |
| An automaton wrapper that presents the synchronized automaton. More... | |
| template<typename Aut > | |
| using | transpose_automaton = std::shared_ptr< detail::transpose_automaton_impl< Aut >> |
| An automaton wrapper that presents the transposed automaton. More... | |
| using | letter_class_t = std::set< std::pair< std::string, std::string >> |
| A set of letter ranges. More... | |
| template<typename Aut > | |
| using | pair_automaton = std::shared_ptr< detail::pair_automaton_impl< Aut >> |
| template<typename Aut > | |
| using | partial_identity_context_t_of = typename detail::partial_identity_context< Aut >::context_t |
| template<typename Aut > | |
| using | quotient_t = partition_automaton_t< Aut > |
| The return type when calling quotient on Aut. More... | |
| template<typename Aut > | |
| using | scc_automaton = std::shared_ptr< detail::scc_automaton_impl< Aut >> |
| template<typename Context > | |
| using | mutable_automaton = std::shared_ptr< detail::mutable_automaton_impl< Context >> |
| template<typename Context > | |
| using | name_automaton = std::shared_ptr< detail::name_automaton_impl< Context >> |
| template<typename Aut > | |
| using | permutation_automaton = std::shared_ptr< detail::permutation_automaton_impl< Aut >> |
| A permutation automaton as a shared pointer. More... | |
| template<typename Aut > | |
| using | expression_automaton = std::shared_ptr< detail::expression_automaton_impl< Aut >> |
| An expression automaton as a shared pointer. More... | |
| template<typename... ValueSets> | |
| using | join_t = decltype(join(std::declval< ValueSets >()...)) |
| The type of the join of the ValueSets. More... | |
| template<typename Aut > | |
| using | partition_automaton = std::shared_ptr< detail::partition_automaton_impl< Aut >> |
| A partition automaton as a shared pointer. More... | |
| template<typename Aut > | |
| using | partition_automaton_t = typename detail::partition_automaton_t_impl< Aut >::type |
| The return type when calling quotient on Aut. More... | |
| template<typename Context > | |
| using | expressionset = weightset_mixin< rat::expressionset_impl< Context >> |
| template<typename... Auts> | |
| using | tuple_automaton = std::shared_ptr< detail::tuple_automaton_impl< Auts...>> |
| A tuple automaton as a shared pointer. More... | |
| template<typename... ValueSets> | |
| using | meet_t = decltype(meet(std::declval< ValueSets >()...)) |
| template<typename T > | |
| using | base_t = remove_cv_t< remove_reference_t< T >> |
| T without reference or const/volatile qualifiers. More... | |
| template<typename ValueSet > | |
| using | context_t_of = typename detail::context_t_of_impl< base_t< ValueSet >>::type |
| template<typename ValueSet > | |
| using | label_t_of = typename detail::label_t_of_impl< base_t< ValueSet >>::type |
| template<typename ValueSet > | |
| using | labelset_t_of = typename detail::labelset_t_of_impl< base_t< ValueSet >>::type |
| template<typename ValueSet > | |
| using | state_t_of = typename detail::state_t_of_impl< base_t< ValueSet >>::type |
| template<typename ValueSet > | |
| using | transition_t_of = typename detail::transition_t_of_impl< base_t< ValueSet >>::type |
| template<typename ValueSet > | |
| using | weight_t_of = typename detail::weight_t_of_impl< base_t< ValueSet >>::type |
| template<typename ValueSet > | |
| using | weightset_t_of = typename detail::weightset_t_of_impl< base_t< ValueSet >>::type |
| template<typename Aut , typename Context = context_t_of<Aut>> | |
| using | fresh_automaton_t_of = typename Aut::element_type::template fresh_automaton_t< Context > |
| template<typename ValueSet > | |
| using | letter_t_of = typename labelset_t_of< base_t< ValueSet >>::letter_t |
| template<typename ValueSet > | |
| using | word_t_of = typename labelset_t_of< base_t< ValueSet >>::word_t |
| template<typename... LabelSets> | |
| using | tupleset = weightset_mixin< detail::tupleset_impl< LabelSets...>> |
| using | dynamic_bitset = boost::dynamic_bitset<> |
| using | symbol = boost::flyweight< std::string, boost::flyweights::no_tracking, boost::flyweights::intermodule_holder > |
| An internalized string. More... | |
| template<size_t I, typename T > | |
| using | tuple_element_t = typename std::tuple_element< I, T >::type |
| C++14. More... | |
| template<bool B, typename T , typename U > | |
| using | conditional_t = typename std::conditional< B, T, U >::type |
| template<bool Cond, typename T = void> | |
| using | enable_if_t = typename std::enable_if< Cond, T >::type |
| template<typename T , typename U > | |
| using | is_same_t = typename std::is_same< T, U >::type |
| template<typename T > | |
| using | remove_const_t = typename std::remove_const< T >::type |
| template<typename T > | |
| using | remove_cv_t = typename std::remove_cv< T >::type |
| template<typename T > | |
| using | remove_reference_t = typename std::remove_reference< T >::type |
| template<bool B> | |
| using | bool_constant = std::integral_constant< bool, B > |
| template<typename Key , typename Value , wet_kind_t Kind = detail::wet_kind<Key, Value>(), typename Compare = std::less<Key>, typename Hash = std::hash<Key>, typename KeyEqual = std::equal_to<Key>> | |
| using | wet = detail::wet_impl< Kind, Key, Value, Compare, Hash, KeyEqual > |
| template<typename Context , wet_kind_t Kind = detail::wet_kind<labelset_t_of<Context>, weightset_t_of<Context>>()> | |
| using | wet_of = wet< label_t_of< Context >, weight_t_of< Context >, Kind, vcsn::less< labelset_t_of< Context >>, vcsn::hash< labelset_t_of< Context >>, vcsn::equal_to< labelset_t_of< Context >>> |
| The corresponding wet for a LabelSet -> WeightSet context. More... | |
| using | b = weightset_mixin< detail::b_impl > |
| using | f2 = weightset_mixin< detail::f2_impl > |
| using | log = weightset_mixin< detail::log_impl > |
| using | nmin = weightset_mixin< detail::nmin_impl > |
| using | q = weightset_mixin< detail::q_impl > |
| using | qmp = weightset_mixin< detail::qmp_impl > |
| using | r = weightset_mixin< detail::r_impl > |
| using | rmin = weightset_mixin< detail::rmin_impl > |
| using | z = weightset_mixin< detail::z_impl > |
| using | zmin = weightset_mixin< detail::zmin_impl > |
| template<typename Context , wet_kind_t Kind = detail::wet_kind<labelset_t_of<Context>, weightset_t_of<Context>>()> | |
| using | polynomialset = weightset_mixin< detail::polynomialset_impl< Context, Kind >> |
Functions | |
| template<typename Aut > | |
| states_t< Aut > | accessible_states (const Aut &aut, bool strict=true) |
| The set of accessible states, including pre(), and possibly post(). More... | |
| template<typename Aut > | |
| states_t< Aut > | coaccessible_states (const Aut &a, bool strict=true) |
| The set of coaccessible states, including post(), and possibly pre(). More... | |
| template<typename Aut > | |
| states_t< Aut > | useful_states (const Aut &a, bool strict=true) |
| The set of useful states, including possibly pre() and post(). More... | |
| template<typename Aut > | |
| size_t | num_accessible_states (const Aut &a) |
| Number of accessible states, not counting pre() and post(). More... | |
| template<typename Aut > | |
| size_t | num_coaccessible_states (const Aut &a) |
| Number of accessible states, not counting pre() and post(). More... | |
| template<typename Aut > | |
| size_t | num_useful_states (const Aut &a) |
| Number of accessible states, not counting pre() and post(). More... | |
| template<typename Aut > | |
| filter_automaton< Aut > | accessible (const Aut &a) |
| Accessible part of an automaton. More... | |
| template<typename Aut > | |
| filter_automaton< Aut > | coaccessible (const Aut &a) |
| Coaccessible part of an automaton. More... | |
| template<typename Aut > | |
| filter_automaton< Aut > | trim (const Aut &a) |
| Useful part of an automaton. More... | |
| template<typename Aut > | |
| bool | is_trim (const Aut &a) |
| Whether all its states are useful. More... | |
| template<typename Aut > | |
| bool | is_useless (const Aut &a) |
| Whether all no state is useful. More... | |
| template<typename Aut > | |
| bool | is_accessible (const Aut &a) |
| Whether all its states are accessible. More... | |
| template<typename Aut > | |
| bool | is_coaccessible (const Aut &a) |
| Whether all its states are coaccessible. More... | |
| template<typename Aut > | |
| bool | is_empty (const Aut &a) |
| Whether has no states. More... | |
| template<typename Aut1 , typename Aut2 > | |
| auto | are_equivalent (const Aut1 &a1, const Aut2 &a2) -> vcsn::enable_if_t<(std::is_same< weightset_t_of< Aut1 >, b >::value &&std::is_same< weightset_t_of< Aut2 >, b >::value), bool > |
| Check equivalence between Boolean automata on a free labelset. More... | |
| template<typename ExpSet1 , typename ExpSet2 > | |
| auto | are_equivalent (const ExpSet1 &rs1, const typename ExpSet1::value_t r1, const ExpSet2 &rs2, const typename ExpSet2::value_t r2) -> bool |
| Check equivalence between two expressions. More... | |
| template<typename Lhs , typename Rhs > | |
| fresh_automaton_t_of< Lhs > | difference (const Lhs &lhs, const Rhs &rhs) |
| An automaton that computes weights of lhs, but not by rhs. More... | |
| template<typename ExpSet > | |
| ExpSet::value_t | difference (const ExpSet &rs, const typename ExpSet::value_t &lhs, const typename ExpSet::value_t &rhs) |
| Difference of expressions. More... | |
| template<typename Aut1 , typename Aut2 > | |
| bool | are_isomorphic (const Aut1 &a1, const Aut2 &a2) |
| template<typename Ctx > | |
| mutable_automaton< Ctx > | cerny (const Ctx &ctx, unsigned num_states) |
| Cerny automata are automata whose synchronizing word length is always (n - 1)^2, the upper bound of the Cerny's conjecture. More... | |
| template<typename Aut > | |
| void | complement_here (Aut &aut) |
| template<typename Aut > | |
| auto | complement (const Aut &aut) -> decltype(copy(aut)) |
| template<typename Aut > | |
| Aut & | complete_here (Aut &aut) |
| Complete aut and return it. More... | |
| template<typename Aut > | |
| auto | complete (const Aut &aut) -> decltype(::vcsn::copy(aut)) |
| template<typename Lhs , typename Rhs , unsigned OutTape = 1, unsigned InTape = 0> | |
| auto | compose (Lhs &lhs, Rhs &rhs) -> typename detail::composer< focus_automaton< OutTape, Lhs >, focus_automaton< InTape, Rhs >>::automaton_t |
| Build the (accessible part of the) composition. More... | |
| template<typename Aut , typename... Auts> | |
| auto | make_product_automaton (Aut aut, const Auts &...auts) -> product_automaton< Aut, Auts...> |
| template<typename... Auts> | |
| auto | conjunction (const Auts &...as) -> tuple_automaton< decltype(meet_automata(as...)), Auts...> |
| Build the (accessible part of the) conjunction. More... | |
| template<typename... Auts> | |
| auto | conjunction_lazy (const Auts &...as) -> product_automaton< decltype(meet_automata(as...)), Auts...> |
| Build the (accessible part of the) conjunction. More... | |
| template<typename... Auts> | |
| auto | shuffle (const Auts &...as) -> tuple_automaton< decltype(join_automata(as...)), Auts...> |
| The (accessible part of the) shuffle product. More... | |
| template<typename ValueSet > | |
| ValueSet::value_t | shuffle (const ValueSet &vs, const typename ValueSet::value_t &lhs, const typename ValueSet::value_t &rhs) |
| Shuffle product of expressions. More... | |
| template<typename A1 , typename A2 > | |
| auto | infiltration (const A1 &a1, const A2 &a2) -> tuple_automaton< decltype(join_automata(a1, a2)), A1, A2 > |
| The (accessible part of the) infiltration product. More... | |
| template<typename A1 , typename A2 , typename A3 , typename... Auts> | |
| auto | infiltration (const A1 &a1, const A2 &a2, const A3 &a3, const Auts &...as) -> decltype(infiltration(infiltration(a1, a2), a3, as...)) |
| The (accessible part of the) infiltration product. More... | |
| template<typename ValueSet > | |
| ValueSet::value_t | infiltration (const ValueSet &vs, const typename ValueSet::value_t &lhs, const typename ValueSet::value_t &rhs) |
| Infiltration product of expressions. More... | |
| template<typename Aut > | |
| auto | conjunction (const Aut &aut, unsigned n) -> fresh_automaton_t_of< Aut > |
| template<typename ExpSet > | |
| ExpSet::value_t | conjunction (const ExpSet &rs, const typename ExpSet::value_t &lhs, const typename ExpSet::value_t &rhs) |
| Intersection/Hadamard product of expressions. More... | |
| template<typename ExpSet > | |
| weight_t_of< ExpSet > | constant_term (const ExpSet &rs, const typename ExpSet::value_t &e) |
| The constant term of e. More... | |
| template<typename AutIn , typename AutOut > | |
| detail::copier< AutIn, AutOut > | make_copier (const AutIn &in, AutOut &out) |
| Build an automaton copier. More... | |
| template<typename AutIn , typename AutOut , typename KeepState , typename KeepTrans > | |
| void | copy_into (const AutIn &in, AutOut &out, KeepState keep_state, KeepTrans keep_trans) |
| Copy selected states and transitions of an automaton. More... | |
| template<typename AutIn , typename AutOut , typename KeepState > | |
| void | copy_into (const AutIn &in, AutOut &out, KeepState keep_state) |
| Copy the selected states an automaton. More... | |
| template<typename AutIn , typename AutOut > | |
| void | copy_into (const AutIn &in, AutOut &out) |
| Copy an automaton. More... | |
| template<typename AutIn , typename AutOut > | |
| void | copy_into (const AutIn &in, AutOut &out, bool safe) |
| Copy an automaton. More... | |
| template<typename AutIn , typename AutOut = fresh_automaton_t_of<AutIn>> | |
| AutOut | make_fresh_automaton (const AutIn &model) |
| Create an empty, mutable, automaton, based on another one. More... | |
| template<typename AutIn , typename AutOut = fresh_automaton_t_of<AutIn>, typename KeepState , typename KeepTrans > | |
| AutOut | copy (const AutIn &input, KeepState keep_state, KeepTrans keep_trans) |
| A copy of input keeping only its states that are accepted by keep_state. More... | |
| template<typename AutIn , typename AutOut = fresh_automaton_t_of<AutIn>, typename KeepState > | |
| AutOut | copy (const AutIn &input, KeepState keep_state) |
| A copy of input. More... | |
| template<typename AutIn , typename AutOut = fresh_automaton_t_of<AutIn>> | |
| AutOut | copy (const AutIn &input) |
| A copy of input. More... | |
| template<typename AutIn , typename AutOut = fresh_automaton_t_of<AutIn>> | |
| AutOut | copy (const AutIn &input, const std::set< state_t_of< AutIn >> &keep) |
| A copy of input keeping only its states that are members of std::set keep. More... | |
| template<typename AutIn , typename AutOut = fresh_automaton_t_of<AutIn>> | |
| AutOut | copy (const AutIn &input, const std::unordered_set< state_t_of< AutIn >> &keep) |
| A copy of input keeping only its states that are members of std::unordered_set keep. More... | |
| template<typename Context > | |
| mutable_automaton< Context > | de_bruijn (const Context &ctx, unsigned n) |
| template<typename ExpSet > | |
| rat::expression_polynomial_t< ExpSet > | derivation (const ExpSet &rs, const typename ExpSet::value_t &e, label_t_of< ExpSet > a, bool breaking) |
| Derive an expression wrt to a letter. More... | |
| template<typename ExpSet > | |
| rat::expression_polynomial_t< ExpSet > | derivation (const ExpSet &rs, const rat::expression_polynomial_t< ExpSet > &p, label_t_of< ExpSet > a, bool breaking=false) |
| Derive a polynomial of expressions wrt to a letter. More... | |
| template<typename ExpSet , typename = vcsn::enable_if_t<!std::is_same<word_t_of<ExpSet>, label_t_of<ExpSet>> ::value>> | |
| rat::expression_polynomial_t< ExpSet > | derivation (const ExpSet &rs, const typename ExpSet::value_t &e, const word_t_of< ExpSet > &l, bool breaking=false) |
| Derive an expression wrt to a word. More... | |
| template<typename ExpSet > | |
| vcsn::enable_if_t< labelset_t_of< ExpSet >::is_free(), expression_automaton< mutable_automaton< typename ExpSet::context_t > > > | derived_term (const ExpSet &rs, const typename ExpSet::value_t &r, const std::string &algo="auto") |
| The derived-term automaton, for free labelsets. More... | |
| template<typename ExpSet > | |
| vcsn::enable_if_t<!labelset_t_of< ExpSet >::is_free(), expression_automaton< mutable_automaton< typename ExpSet::context_t > > > | derived_term (const ExpSet &rs, const typename ExpSet::value_t &r, const std::string &algo="auto") |
| The derived-term automaton, for non free labelsets. More... | |
| template<typename Aut > | |
| auto | determinize (const Aut &a) -> determinized_automaton< Aut > |
| template<typename Aut > | |
| auto | codeterminize (const Aut &a) -> decltype(transpose(determinize(transpose(a)))) |
| template<typename Aut > | |
| auto | determinize_weighted (const Aut &a) -> detweighted_automaton< Aut > |
| template<typename Aut > | |
| auto | codeterminize_weighted (const Aut &aut) -> decltype(transpose(determinize_weighted(transpose(aut)))) |
| template<typename Aut > | |
| std::vector< weight_t_of< Aut > > | ss_shortest_distance (const Aut &aut, state_t_of< Aut > s0) |
| Single source shortest distance. More... | |
| template<typename Aut > | |
| std::unordered_map< state_t_of< Aut >, std::pair< unsigned, transition_t_of< Aut > > > | paths_ibfs (const Aut &aut, const std::vector< state_t_of< Aut >> &start) |
| Find the shortest paths from some states to all the states. More... | |
| template<typename Aut > | |
| std::vector< transition_t_of< Aut > > | path_bfs (const Aut &aut, state_t_of< Aut > start, state_t_of< Aut > end) |
| A shortest path between two states. More... | |
| template<typename Aut > | |
| std::vector< std::vector< weight_t_of< Aut > > > | all_distances (const Aut &aut) |
| template<typename ValueSet > | |
| ValueSet::value_t | ldiv (const ValueSet &vs, const typename ValueSet::value_t &lhs, const typename ValueSet::value_t &rhs) |
| Left-division of values. More... | |
| template<typename ValueSet > | |
| ValueSet::value_t | lgcd (const ValueSet &vs, const typename ValueSet::value_t &lhs, const typename ValueSet::value_t &rhs) |
| Left-division of values. More... | |
| template<typename ValueSet > | |
| ValueSet::value_t | rdiv (const ValueSet &vs, const typename ValueSet::value_t &lhs, const typename ValueSet::value_t &rhs) |
| Right-division of values. More... | |
| template<typename Context > | |
| mutable_automaton< Context > | divkbaseb (const Context &ctx, unsigned divisor, unsigned base) |
| Build the Boolean automaton which accepts a word n representing a number in base "base" if and only if divisor|n. More... | |
| template<typename Aut > | |
| std::ostream & | dot (const Aut &aut, std::ostream &out, bool dot2tex=false) |
| template<typename Context > | |
| mutable_automaton< Context > | double_ring (const Context &ctx, unsigned n, const std::vector< unsigned > &finals) |
| template<typename Aut > | |
| std::ostream & | efsm (const Aut &aut, std::ostream &out) |
| Format automaton to EFSM format, based on FSM format. More... | |
| template<typename Aut > | |
| auto | eval (const Aut &a, const word_t_of< Aut > &w) -> weight_t_of< Aut > |
| template<typename ExpSet > | |
| ExpSet::value_t | expand (const ExpSet &rs, const typename ExpSet::value_t &e) |
| Expand a typed expression. More... | |
| template<typename Aut > | |
| filter_automaton< Aut > | filter (const Aut &aut, const std::unordered_set< state_t_of< Aut >> &ss) |
| Get an automaton who is a part state set ss of aut. More... | |
| template<unsigned Tape, typename Aut > | |
| focus_automaton< Tape, Aut > | focus (Aut aut) |
| template<typename Aut > | |
| bool | in_situ_remover (Aut &aut, bool prune=true) |
| template<typename Aut > | |
| bool | is_ambiguous (const Aut &aut) |
| template<typename Aut > | |
| bool | is_proper (const Aut &aut) ATTRIBUTE_CONST |
| Test whether an automaton is proper. More... | |
| template<typename Aut > | |
| bool | is_valid (const Aut &aut) |
| template<typename ExpSet > | |
| bool | is_valid (const ExpSet &rs, const typename ExpSet::value_t &e) |
| Whether e has only computable stars. More... | |
| template<typename ExpSet > | |
| rat::expansionset< ExpSet >::value_t | to_expansion (const ExpSet &rs, const typename ExpSet::value_t &e) |
| First order expansion. More... | |
| template<typename Aut > | |
| std::ostream & | fado (const Aut &aut, std::ostream &out) |
| template<typename Aut > | |
| std::ostream & | grail (const Aut &aut, std::ostream &out) |
| template<typename Aut > | |
| bool | has_bounded_lag (const Aut &aut) |
| Whether a transducer has a bounded lag. More... | |
| template<typename Aut > | |
| bool | cycle_identity (const detail::component_t< Aut > &c, const Aut &aut) |
| Check the weight of two states on this component is unique. More... | |
| template<typename InAut , typename OutAut > | |
| void | create_states_and_trans_ (const InAut &aut, OutAut &naut1, OutAut &naut2) |
Create states and the transitions two new automata naut1 and naut2 with weight of transition <(w, one)> and <(one, w)> corresponding with the weight of transition <w> of aut. More... | |
| template<typename Aut > | |
| bool | has_twins_property (const Aut &aut) |
| Whether aut has the twins property. More... | |
| template<typename Aut > | |
| std::ostream & | info (const Aut &aut, std::ostream &out, bool detailed=false) |
| template<typename ExpSet > | |
| void | info (const ExpSet &rs, const typename ExpSet::value_t &e, std::ostream &o) |
| template<typename Aut > | |
| auto | insplit (const Aut &aut) -> decltype(detail::insplit(aut)) |
| template<typename Aut > | |
| bool | is_ambiguous (const Aut &aut, std::tuple< state_t_of< Aut >, state_t_of< Aut >> &witness) |
| Whether an automaton is ambiguous. More... | |
| template<typename Aut > | |
| word_t_of< Aut > | ambiguous_word (const Aut &aut) |
| template<typename Aut > | |
| bool | is_cycle_ambiguous (const Aut &aut) |
| Whether aut is cycle-ambiguous. More... | |
| template<typename Aut > | |
| bool | is_cycle_ambiguous_scc (const Aut &aut) |
| Whether aut is cycle-ambiguous. More... | |
| template<typename Aut > | |
| bool | is_complete (const Aut &aut) |
| Whether aut is complete. More... | |
| template<typename Aut > | |
| bool | is_deterministic (const Aut &aut, state_t_of< Aut > s) |
| Whether state s is deterministic in aut. More... | |
| template<typename Aut > | |
| size_t | num_deterministic_states (const Aut &aut) |
| Number of non-deterministic states. More... | |
| template<typename Aut > | |
| size_t | num_codeterministic_states (const Aut &aut) |
| Number of non-deterministic states of transpositive automaton. More... | |
| template<typename Aut > | |
| bool | is_deterministic (const Aut &aut) |
| Whether has at most an initial state, and all its states are deterministic. More... | |
| template<typename Aut > | |
| bool | is_codeterministic (const Aut &aut) |
| Whether the transpositive automaton is deterministic. More... | |
| template<typename Aut > | |
| ATTRIBUTE_CONST bool | is_eps_acyclic (const Aut &aut) |
| template<typename Aut > | |
| bool | is_functional (const Aut &aut) |
| Whether aut is functional. More... | |
| template<typename Aut > | |
| bool | is_partial_identity (const Aut &aut) |
| Whether transducer aut is equivalent to a partial identity function on all successful paths. More... | |
| template<typename Aut > | |
| bool | is_synchronized (const Aut &aut) |
| Check whether the transducer is synchronized. More... | |
| template<typename Aut > | |
| auto | make_delay_automaton (const Aut &aut) -> decltype(detail::make_delay_automaton(aut)) |
| Check whether the transducer is synchronized. More... | |
| template<typename Context > | |
| mutable_automaton< Context > | ladybird (const Context &ctx, unsigned n) |
| template<typename Aut > | |
| Aut & | left_mult_here (const weight_t_of< Aut > &w, Aut &res) |
| template<typename AutIn , typename AutOut = fresh_automaton_t_of<AutIn>> | |
| AutOut | left_mult (const weight_t_of< AutOut > &w, const AutIn &aut) |
| template<typename ExpSet > | |
| ExpSet::value_t | left_mult (const ExpSet &rs, const weight_t_of< ExpSet > &w, const typename ExpSet::value_t &r) |
| template<typename WeightSet , typename ExpSet > | |
| expressionset< context< labelset_t_of< ExpSet >, join_t< WeightSet, weightset_t_of< ExpSet > > > > | join_weightset_expressionset (const WeightSet &ws, const ExpSet &rs) |
| Join between an expressionset and a weightset. More... | |
| template<typename Aut > | |
| Aut & | right_mult_here (Aut &res, const weight_t_of< Aut > &w) |
| template<typename Aut > | |
| fresh_automaton_t_of< Aut > | right_mult (const Aut &aut, const weight_t_of< Aut > &w) |
| template<typename ExpSet > | |
| ExpSet::value_t | right_mult (const ExpSet &rs, const typename ExpSet::value_t &r, const weight_t_of< ExpSet > &w) |
| template<typename ExpSet > | |
| bool | less_than (const ExpSet &rs, const typename ExpSet::value_t &lhs, const typename ExpSet::value_t &rhs) |
| Whether lhs precedes rhs. More... | |
| template<typename Aut > | |
| auto | letterize (const Aut &aut) -> decltype(detail::letterize(aut)) |
| Split the word transitions in the input automaton into letter ones. More... | |
| template<typename Aut > | |
| bool | is_letterized (const Aut &aut) |
| Check if the transitions are all letters. More... | |
| template<typename Aut > | |
| auto | realtime (const Aut &aut) -> decltype(proper(::vcsn::letterize(aut))) |
| Split the word transitions in the input automaton into letter ones, and remove the spontaneous transitions. More... | |
| template<typename Aut > | |
| bool | is_realtime (const Aut &aut) |
| Check if the automaton is realtime, i.e. More... | |
| template<typename Context > | |
| mutable_automaton< Context > | levenshtein (const Context &ctx) |
| template<typename Aut , size_t... Tapes> | |
| detail::lifted_automaton_t< Aut, Tapes...> | lift (const Aut &a, vcsn::rat::identities ids={}) |
| Lift some tapes of the transducer. More... | |
| template<typename ExpSet > | |
| detail::lifted_expressionset_t< ExpSet >::value_t | lift (const ExpSet &rs, const typename ExpSet::value_t &e) |
| Move all the labels to the weights. More... | |
| template<typename Automaton > | |
| detail::weighter< Automaton >::polynomial_t | lightest (const Automaton &aut, boost::optional< unsigned > num={}) |
| The approximated behavior of an automaton. More... | |
| template<typename Automaton > | |
| detail::weighter< Automaton >::polynomial_t | weigh (const Automaton &aut) |
| The approximated behavior of an automaton. More... | |
| template<typename Ctx > | |
| Ctx | make_context (const std::string &name) |
| template<typename Ctx > | |
| constexpr auto | num_tapes (const Ctx &) -> enable_if_t< Ctx::is_lat, size_t > |
| template<typename Aut > | |
| auto | minimize_brzozowski (const Aut &a) -> decltype(determinize(codeterminize(a))) |
| template<typename Aut > | |
| auto | cominimize_brzozowski (const Aut &a) -> decltype(transpose(minimize_brzozowski(transpose(a)))) |
| template<typename Aut > | |
| auto | minimize_moore (const Aut &a) -> quotient_t< Aut > |
| Minimize automaton a using the Moore algorithm. More... | |
| template<typename Aut > | |
| auto | minimize_signature (const Aut &a) -> quotient_t< Aut > |
| template<typename Aut > | |
| auto | minimize_weighted (const Aut &a) -> quotient_t< Aut > |
| template<typename Aut > | |
| vcsn::enable_if_t< std::is_same< weightset_t_of< Aut >, b >::value &&labelset_t_of< Aut >::is_free(), quotient_t< Aut > > | minimize (const Aut &a, const std::string &algo="auto") |
| template<typename Aut > | |
| vcsn::enable_if_t< std::is_same< weightset_t_of< Aut >, b >::value &&!labelset_t_of< Aut >::is_free(), quotient_t< Aut > > | minimize (const Aut &a, const std::string &algo="auto") |
| template<typename Aut > | |
| vcsn::enable_if_t<!std::is_same< weightset_t_of< Aut >, b >::value, quotient_t< Aut > > | minimize (const Aut &a, const std::string &algo="auto") |
| template<typename Aut > | |
| auto | cominimize (const Aut &a, const std::string &algo="auto") -> decltype(transpose(minimize(transpose(a), algo))) |
| template<typename A , typename B > | |
| A & | multiply_here (A &res, const B &b) |
| Append automaton b to res. More... | |
| template<typename A , typename B > | |
| auto | multiply (const A &lhs, const B &rhs) -> decltype(join_automata(lhs, rhs)) |
| Concatenate two standard automata. More... | |
| template<typename Aut > | |
| auto | multiply (const Aut &aut, int min, int max) -> typename Aut::element_type::template fresh_automaton_t<> |
| Repeated concatenation of an automaton. More... | |
| template<typename ValueSet > | |
| ValueSet::value_t | multiply (const ValueSet &vs, const typename ValueSet::value_t &lhs, const typename ValueSet::value_t &rhs) |
| Product (concatenation) of expressions/labels/polynomials/weights. More... | |
| template<typename ExpSet > | |
| ExpSet::value_t | multiply (const ExpSet &rs, const typename ExpSet::value_t &r, int min, int max) |
| template<typename Aut > | |
| bool | is_normalized (const Aut &a) |
| Whether a is standard and co-standard. More... | |
| template<typename Aut > | |
| auto | normalize (const Aut &a) -> decltype(copy(a)) |
| Normalize a automaton. More... | |
| template<typename Aut > | |
| pair_automaton< Aut > | pair (const Aut &aut, bool keep_initials=false) |
| template<typename Aut > | |
| fresh_automaton_t_of< Aut, partial_identity_context_t_of< Aut > > | partial_identity (const Aut &aut) |
| Create a partial identity transducer from aut. More... | |
| template<typename Aut > | |
| Aut & | suffix_here (Aut &aut) |
| Make all accessible states initial. More... | |
| template<typename Aut > | |
| auto | suffix (const Aut &aut) -> decltype(::vcsn::copy(aut)) |
| template<typename Aut > | |
| Aut & | prefix_here (Aut &aut) |
| Make all coaccessible states final. More... | |
| template<typename Aut > | |
| auto | prefix (const Aut &aut) -> decltype(::vcsn::copy(aut)) |
| template<typename Aut > | |
| Aut & | factor_here (Aut &aut) |
| Make each useful state both initial and final. More... | |
| template<typename Aut > | |
| auto | factor (const Aut &aut) -> decltype(::vcsn::copy(aut)) |
| template<typename Aut > | |
| Aut & | subword_here (Aut &aut) |
| Add spontaneous transitions for each non spontaneous transition, with same source, destination and weight. More... | |
| template<typename Aut > | |
| auto | subword (const Aut &aut) -> fresh_automaton_t_of< Aut, detail::nullableset_context_t< context_t_of< Aut >>> |
| Apply subword_here() to a copy of aut. More... | |
| template<typename Aut > | |
| std::ostream & | print (const Aut &aut, std::ostream &out, const std::string &format) |
| template<typename ValueSet > | |
| std::ostream & | print (const ValueSet &vs, const typename ValueSet::value_t &v, std::ostream &o, format fmt) |
| Applies to (ValueSet, Value, ostream, string): for expansionset, polynomialset, expressionset, and weightset. More... | |
| template<typename PolynomialSet > | |
| std::ostream & | list (const PolynomialSet &ps, const typename PolynomialSet::value_t &p, std::ostream &o) |
| template<std::size_t Tape, typename Aut > | |
| auto | project (const Aut &aut) -> mutable_automaton< detail::project_context< Tape, context_t_of< Aut >>> |
| template<typename Aut > | |
| auto | proper (const Aut &aut, direction dir=direction::backward, bool prune=true, const std::string &algo="auto") -> fresh_automaton_t_of< Aut, detail::proper_context< context_t_of< Aut >>> |
| Eliminate spontaneous transitions. More... | |
| template<typename Aut > | |
| weight_t_of< Aut > | shortest_distance_to_finals (Aut aut, state_t_of< Aut > s0) |
| Find shorhest of s0 to the final states of aut by using single source shortest distance. More... | |
| template<typename Aut > | |
| std::unordered_map< state_t_of< Aut >, weight_t_of< Aut > > | shortest_distance_to_finals (Aut aut) |
| Find all shortest distances of each state to the final states of aut. More... | |
| template<typename Aut > | |
| auto | push_weights (const Aut &aut) -> decltype(::vcsn::copy(aut)) |
| The algorithm weight pushing. More... | |
| template<typename Aut > | |
| auto | quotient (const Aut &a, typename detail::quotienter< Aut >::class_to_set_t &cs) -> quotient_t< Aut > |
| template<typename RandomGenerator = std::default_random_engine> | |
| oneset::value_t | random_label (const oneset &ls, RandomGenerator &=RandomGenerator()) |
| template<typename... LabelSet, typename RandomGenerator = std::default_random_engine> | |
| tupleset< LabelSet...>::value_t | random_label (const tupleset< LabelSet...> &ls, RandomGenerator &gen=RandomGenerator()) |
| template<typename... LabelSet, size_t... I, typename RandomGenerator = std::default_random_engine> | |
| tupleset< LabelSet...>::value_t | random_label (const tupleset< LabelSet...> &ls, RandomGenerator &gen, detail::index_sequence< I...>) |
| template<typename GenSet , typename RandomGenerator = std::default_random_engine> | |
| wordset< GenSet >::value_t | random_label (const wordset< GenSet > &ls, RandomGenerator &gen=RandomGenerator()) |
| template<typename LabelSet , typename RandomGenerator = std::default_random_engine> | |
| LabelSet::value_t | random_label (const LabelSet &ls, RandomGenerator &gen=RandomGenerator()) |
| template<typename LabelSet , typename RandomGenerator = std::default_random_engine> | |
| nullableset< LabelSet >::value_t | random_label (const nullableset< LabelSet > &ls, RandomGenerator &gen=RandomGenerator()) |
| template<typename Context , typename RandomGenerator = std::default_random_engine> | |
| expressionset< Context >::value_t | random_label (const expressionset< Context > &rs, RandomGenerator &gen=RandomGenerator()) |
| template<typename Ctx > | |
| mutable_automaton< Ctx > | random_automaton (const Ctx &ctx, unsigned num_states, float density=0.1, unsigned num_initial=1, unsigned num_final=1, float loop_chance=0.0) |
| template<typename Ctx > | |
| mutable_automaton< Ctx > | random_automaton_deterministic (const Ctx &ctx, unsigned num_states) |
| template<typename Context > | |
| auto | read_label (const Context &ctx, std::istream &is, bool quoted=false) -> label_t_of< Context > |
| template<typename Context > | |
| auto | read_polynomial (const Context &ctx, std::istream &is) -> typename polynomialset< Context >::value_t |
| template<typename Context > | |
| auto | read_weight (const Context &ctx, std::istream &is) -> weight_t_of< Context > |
| template<typename Aut > | |
| auto | left_reduce (const Aut &input) -> decltype(copy(input)) |
| template<typename Aut > | |
| auto | reduce (const Aut &input) -> decltype(copy(input)) |
| template<typename Aut > | |
| std::vector< state_t_of< Aut > > | reverse_postorder (const Aut &aut) |
| Get all states in reverse postorder. More... | |
| scc_algo_t | scc_algo (const std::string &algo) |
| template<typename Aut > | |
| const detail::components_t< Aut > | strong_components (const Aut &aut, scc_algo_t algo=scc_algo_t::tarjan_iterative) |
| Find all strongly connected components of aut. More... | |
| template<typename Aut > | |
| fresh_automaton_t_of< Aut > | aut_of_component (const detail::component_t< Aut > &com, const Aut &aut) |
| Generate a subautomaton corresponding to an SCC. More... | |
| template<typename Aut > | |
| scc_automaton< Aut > | scc (const Aut &aut, const std::string &algo="auto") |
| Get scc_automaton from aut. More... | |
| template<typename Aut > | |
| std::size_t | num_components (const scc_automaton< Aut > &aut) |
| Get number of strongly connected components. More... | |
| template<typename Aut > | |
| std::size_t | num_components (const Aut &) |
| template<typename Aut > | |
| filter_automaton< scc_automaton< Aut > > | component (const scc_automaton< Aut > &aut, unsigned num) |
| An SCC as a subautomaton. More... | |
| template<typename Aut > | |
| void | component (const Aut &, unsigned) |
| template<typename Aut > | |
| partition_automaton< scc_automaton< Aut > > | condense (const scc_automaton< Aut > &aut) |
| Create a condensation of automaton with each its state who is a strongly connected component of aut. More... | |
| template<typename Aut > | |
| partition_automaton< Aut > | condense (const Aut &) |
| template<typename Automaton > | |
| detail::enumerater< Automaton >::polynomial_t | shortest (const Automaton &aut, boost::optional< unsigned > num={}, boost::optional< unsigned > len={}) |
| The approximated behavior of an automaton. More... | |
| template<typename Automaton > | |
| detail::enumerater< Automaton >::polynomial_t | enumerate (const Automaton &aut, unsigned len) |
| The approximated behavior of an automaton. More... | |
| template<typename Aut > | |
| bool | is_out_sorted (const Aut &a) |
| Whether for each state, the outgoing transitions are sorted by increasing label. More... | |
| template<typename Aut > | |
| auto | sort (const Aut &a) -> permutation_automaton< Aut > |
| template<typename ExpSet > | |
| rat::expression_polynomial_t< ExpSet > | split (const ExpSet &rs, const typename ExpSet::value_t &e) |
| Split an expression. More... | |
| template<typename PolynomialSet > | |
| PolynomialSet::value_t | split_polynomial (const PolynomialSet &ps, const typename PolynomialSet::value_t &p) |
| Split a polynomial of expressions, given the polynomialset. More... | |
| template<typename ExpSet > | |
| rat::expression_polynomial_t< ExpSet > | split (const ExpSet &rs, const rat::expression_polynomial_t< ExpSet > &p) |
| Split a polynomial of expressions, given the expressionset. More... | |
| template<typename Aut > | |
| bool | is_standard (const Aut &a) |
| Whether a is standard. More... | |
| template<typename Aut > | |
| bool | is_costandard (const Aut &a) |
| Whether a is costandard. More... | |
| template<typename Aut > | |
| void | standard_here (Aut &aut) |
| Turn aut into a standard automaton. More... | |
| template<typename Aut > | |
| auto | standard (const Aut &aut) -> decltype(copy(aut)) |
| template<typename Aut > | |
| auto | costandard (const Aut &aut) -> decltype(copy(aut)) |
| template<typename Aut , typename ExpSet > | |
| Aut | standard (const ExpSet &rs, const typename ExpSet::value_t &r) |
| Build a standard automaton from an expression. More... | |
| template<typename ExpSet > | |
| unsigned | star_height (const typename ExpSet::value_t &e) |
| Star height of an expression. More... | |
| template<typename ExpSet > | |
| ExpSet::value_t | star_normal_form (const ExpSet &rs, const typename ExpSet::value_t &e) |
| Star-normal form of an expression. More... | |
| template<typename Aut > | |
| Aut & | star_here (Aut &res) |
| In-place star of a standard automaton. More... | |
| template<typename Aut > | |
| fresh_automaton_t_of< Aut > | star (const Aut &aut) |
| Star of a standard automaton. More... | |
| template<typename Aut > | |
| auto | strip (const Aut &aut) -> decltype(detail::strip(aut, 0)) |
| Remove (all) the decorations from a decorated automaton. More... | |
| template<typename A , typename B > | |
| A & | sum_here (A &res, const B &b) |
| Merge transitions of b into those of res. More... | |
| template<typename A , typename B > | |
| auto | sum (const A &lhs, const B &rhs) -> decltype(join_automata(lhs, rhs)) |
| template<typename ValueSet > | |
| ValueSet::value_t | sum (const ValueSet &vs, const typename ValueSet::value_t &lhs, const typename ValueSet::value_t &rhs) |
| Sums of values. More... | |
| template<typename Aut > | |
| auto | synchronize (const Aut &aut) -> decltype(detail::synchronize(aut)) |
| Synchronize the transducer. More... | |
| template<typename Aut > | |
| bool | is_synchronized_by (const Aut &aut, const word_t_of< Aut > &w) |
| Whether w synchronizes automaton aut. More... | |
| template<typename Aut > | |
| bool | is_synchronizing (const Aut &aut) |
| Whether this automaton is synchronizing, i.e., has synchronizing words. More... | |
| template<typename Aut > | |
| word_t_of< Aut > | synchronizing_word (const Aut &aut, const std::string &algo="greedy") |
| Return a synchronizing word for aut using algo algo. More... | |
| template<typename Aut , typename ExpSet > | |
| Aut | thompson (const context_t_of< Aut > &ctx, const ExpSet &rs, const typename ExpSet::value_t &r) |
| Build a Thompson automaton from an expression. More... | |
| template<typename Aut , typename ExpSet > | |
| Aut | thompson (const ExpSet &rs, const typename ExpSet::value_t &r) |
| Build a Thompson automaton from an expression. More... | |
| template<typename AutPtr > | |
| std::ostream & | tikz (const AutPtr &aut, std::ostream &out) |
| Print automaton to TikZ format. More... | |
| template<typename Aut > | |
| Aut & | eliminate_state_here (Aut &res, state_t_of< Aut > s=Aut::element_type::null_state()) |
| In place removal of state s from automaton res. More... | |
| template<typename Aut > | |
| auto | eliminate_state (const Aut &aut, state_t_of< Aut > s=Aut::element_type::null_state()) -> fresh_automaton_t_of< Aut > |
| A copy of automaton res without the state s. More... | |
| template<typename Aut , typename Profiler , typename ExpSet = expressionset<context_t_of<Aut>>> | |
| ExpSet::value_t | to_expression (Aut &a, Profiler &profiler) |
| template<typename Aut , typename ExpSet = expressionset<context_t_of<Aut>>> | |
| ExpSet::value_t | to_expression_heuristic (const Aut &aut, vcsn::rat::identities ids, to_expression_heuristic_t algo) |
| template<typename Aut , typename ExpSet = expressionset<context_t_of<Aut>>> | |
| ExpSet::value_t | to_expression (const Aut &aut, vcsn::rat::identities ids, to_expression_heuristic_t algo) |
| template<typename Aut , typename ExpSet = expressionset<context_t_of<Aut>>> | |
| ExpSet::value_t | to_expression (const Aut &a, vcsn::rat::identities ids, const std::string &algo) |
| template<typename ExpressionSet > | |
| ExpressionSet::value_t | to_expression (const ExpressionSet &rs, const letter_class_t &letters, bool accept=true) |
| An expression matching one letter in a letter class. More... | |
| template<typename Aut > | |
| Aut | transpose (const transpose_automaton< Aut > &aut) |
| template<typename Aut > | |
| transpose_automaton< Aut > | transpose (Aut aut) |
| template<typename PolynomialSet > | |
| mutable_automaton< detail::free_context< context_t_of< PolynomialSet > > > | trie (const PolynomialSet &ps, const typename PolynomialSet::value_t &p) |
| Make a trie-like mutable_automaton for a finite series given as a polynomial. More... | |
| template<typename PolynomialSet > | |
| mutable_automaton< detail::free_context< context_t_of< PolynomialSet > > > | cotrie (const PolynomialSet &ps, const typename PolynomialSet::value_t &p) |
| Make a cotrie-like mutable_automaton for a finite series given as a polynomial. More... | |
| template<typename PolynomialSet > | |
| mutable_automaton< detail::free_context< context_t_of< PolynomialSet > > > | trie (const PolynomialSet &ps, std::istream &is) |
| Make a trie-like mutable_automaton for a finite series read from a stream. More... | |
| template<typename PolynomialSet > | |
| mutable_automaton< detail::free_context< context_t_of< PolynomialSet > > > | cotrie (const PolynomialSet &ps, std::istream &is) |
| Make a trie-like mutable_automaton for a finite series read from a stream. More... | |
| template<typename... Ctx> | |
| auto | tuple_context (Ctx &&...ctx) -> context< tupleset< labelset_t_of< Ctx >...>, join_t< weightset_t_of< Ctx >...>> |
| template<typename ValueSet , typename... ValueSets> | |
| ValueSet::value_t | tuple (const ValueSet &vs, const typename ValueSets::value_t &...v) |
| template<typename... ExpSets> | |
| auto | tuple_expressionset (const ExpSets &...rss) -> expressionset< decltype(tuple_context(rss.context()...))> |
| template<typename Context > | |
| mutable_automaton< Context > | u (const Context &ctx, unsigned n) |
| The Brzozowski universal witness. More... | |
| template<typename A , typename B > | |
| A & | union_here (A &res, const B &b) |
| Merge transitions of b into those of res. More... | |
| template<typename A , typename B > | |
| auto | union_a (const A &lhs, const B &rhs) -> decltype(join_automata(lhs, rhs)) |
| Union of two automata. More... | |
| template<typename Aut > | |
| Aut | universal (const Aut &a) |
| template<typename Aut > | |
| auto | weight_series (const Aut &a) -> weight_t_of< Aut > |
| template<typename Aut , typename ExpSet > | |
| Aut | zpc (const context_t_of< Aut > &ctx, const ExpSet &rs, const typename ExpSet::value_t &r, const std::string &algo="auto") |
| Build a ZPC automaton from an expression. More... | |
| template<> | |
| char_letters::letter_t | char_letters::special< char_letters::letter_t > () |
| template<> | |
| char_letters::word_t | char_letters::special< char_letters::word_t > () |
| template<> | |
| string_letters::letter_t | string_letters::special< string_letters::letter_t > () |
| template<> | |
| string_letters::word_t | string_letters::special< string_letters::word_t > () |
| template<typename ValueSet > | |
| auto | join (const ValueSet &vs) -> ValueSet |
| The join of a single valueset. More... | |
| template<typename ValueSet1 , typename ValueSet2 > | |
| auto | join (ValueSet1 vs1, ValueSet2 vs2) -> decltype(detail::join_(vs1, vs2, 0)) |
| The join of two valuesets. More... | |
| template<typename ValueSet1 , typename ValueSet2 , typename ValueSet3 , typename... VSs> | |
| auto | join (ValueSet1 vs1, ValueSet2 vs2, ValueSet3 vs3, VSs &&...vs) -> decltype(join(join(vs1, vs2), vs3, std::forward< VSs >(vs)...)) |
| The join of three (or more) valuesets. More... | |
| template<typename Context > | |
| mutable_automaton< Context > | make_mutable_automaton (const Context &ctx) |
| template<typename Aut > | |
| auto | make_partition_automaton (const fresh_automaton_t_of< Aut > &res, const Aut &input, const typename detail::partition_automaton_impl< Aut >::origins_t origins) -> partition_automaton_t< Aut > |
| Build a partition_automaton. More... | |
| template<typename Aut > | |
| auto | make_partition_automaton (const fresh_automaton_t_of< Aut > &res, const partition_automaton< Aut > &input, const typename detail::partition_automaton_impl< Aut >::origins_t origins) -> partition_automaton_t< Aut > |
| Build a partition_automaton of a partition_automaton: smash into a single level partition_automaton. More... | |
| template<typename Aut > | |
| auto | make_partition_automaton (const fresh_automaton_t_of< transpose_automaton< Aut >> &res, const transpose_automaton< Aut > &input, const typename detail::partition_automaton_impl< Aut >::origins_t origins) -> transpose_automaton< partition_automaton_t< Aut >> |
| Build a partition_automaton of a transpose_automaton: smash into a transpose_automaton of a partition_automaton. More... | |
| template<typename Context > | |
| expressionset< Context > | make_expressionset (const Context &ctx, rat::identities identities={}) |
| Shorthand to expressionset constructor. More... | |
| template<typename Ctx1 , typename Ctx2 > | |
| auto | meet (const expressionset< Ctx1 > &a, const expressionset< Ctx2 > &b) -> expressionset< meet_t< Ctx1, Ctx2 >> |
| The meet of two expressionsets. More... | |
| template<typename ExpSet > | |
| ExpSet::value_t | transpose (const ExpSet &rs, const typename ExpSet::value_t &v) |
| A expression that denotes the transposition of v. More... | |
| template<typename... Auts> | |
| auto | make_tuple_automaton (const Auts &...auts) -> tuple_automaton< Auts...> |
| template<typename LabelSet , typename WeightSet > | |
| context< LabelSet, WeightSet > | make_context (const LabelSet &ls, const WeightSet &ws) |
| Shorthand to build a context. More... | |
| template<typename ValueSet > | |
| auto | meet (const ValueSet &vs) -> ValueSet |
| The meet of a single valueset. More... | |
| template<typename ValueSet1 , typename ValueSet2 , typename ValueSet3 , typename... VSs> | |
| auto | meet (const ValueSet1 &vs1, const ValueSet2 &vs2, const ValueSet3 &vs3, const VSs &...vs) -> decltype(meet(meet(vs1, vs2), vs3, vs...)) |
| template<typename LhsLabelSet , typename LhsWeightSet , typename RhsLabelSet , typename RhsWeightSet > | |
| auto | meet (const context< LhsLabelSet, LhsWeightSet > &a, const context< RhsLabelSet, RhsWeightSet > &b) -> context< meet_t< LhsLabelSet, RhsLabelSet >, join_t< LhsWeightSet, RhsWeightSet >> |
| The meet of two contexts. More... | |
| VCSN_CTX_INSTANTIATE (ctx::lal_char_b) | |
| VCSN_CTX_INSTANTIATE (ctx::lal_char_br) | |
| VCSN_CTX_INSTANTIATE (ctx::lal_char_q) | |
| VCSN_CTX_INSTANTIATE (ctx::lal_char_zr) | |
| VCSN_CTX_INSTANTIATE (ctx::lal_char_zrr) | |
| VCSN_CTX_INSTANTIATE (ctx::law_char_br) | |
| VCSN_CTX_INSTANTIATE (ctx::law_char_zr) | |
| VCSN_CTX_INSTANTIATE (ctx::law_char_zrr) | |
| template<typename GenSet > | |
| letterset< GenSet > | meet (const letterset< GenSet > &lhs, const letterset< GenSet > &rhs) |
| Compute the meet with another labelset. More... | |
| template<typename GenSet > | |
| nullableset< letterset< GenSet > > | meet (const nullableset< letterset< GenSet >> &lhs, const nullableset< letterset< GenSet >> &rhs) |
| Compute the meet with another labelset. More... | |
| template<typename GenSet > | |
| nullableset< letterset< GenSet > > | meet (const letterset< GenSet > &lhs, const nullableset< letterset< GenSet >> &rhs) |
| template<typename GenSet > | |
| nullableset< letterset< GenSet > > | meet (const nullableset< letterset< GenSet >> &lhs, const letterset< GenSet > &rhs) |
| template<typename Lls , typename Rls > | |
| nullableset< meet_t< Lls, Rls > > | meet (const nullableset< Lls > &lhs, const nullableset< Rls > &rhs) |
| oneset | meet (const oneset &, const oneset &) |
| The meet of two labelsets. More... | |
| template<typename GenSet > | |
| wordset< GenSet > | meet (const wordset< GenSet > &lhs, const wordset< GenSet > &rhs) |
| Compute the meet with another alphabet. More... | |
| template<typename Container > | |
| bool | same_domain (const Container &x, const Container &y) |
| Check that two associative containers have the same keys. More... | |
| template<typename Cont , typename Pred > | |
| container_filter_range< Cont, Pred > | make_container_filter_range (const Cont &cont, Pred pred) |
| template<typename... Sequences> | |
| cross_sequences< Sequences...> | cross (Sequences &&...seqs) |
| template<typename... Sequences> | |
| cross_sequences< Sequences...> | cross_tuple (const std::tuple< Sequences...> &seqs) |
| template<typename T , typename Allocator = std::allocator<T>> | |
| ATTRIBUTE_PURE bool | has (const std::deque< T, Allocator > &s, const T &e) |
| Whether e is member of s. More... | |
| std::string | to_string (direction d) |
| Conversion to string. More... | |
| std::istream & | operator>> (std::istream &is, direction &d) |
| Parsing. More... | |
| std::ostream & | operator<< (std::ostream &os, direction d) |
| Pretty-printing. More... | |
| bool | operator< (empty_t, empty_t) |
| bool | operator== (empty_t, empty_t) |
| std::ostream & | str_escape (std::ostream &os, const std::string &str) |
| Output a string, escaping special characters. More... | |
| std::string | str_escape (const std::string &c) |
| Likewise, but produces a string. More... | |
| std::ostream & | str_escape (std::ostream &os, int c) |
| Output a character, escaping special characters. More... | |
| std::string | str_escape (int c) |
| Likewise, but produces a string. More... | |
| std::ostream & | operator<< (std::ostream &o, const file_library &l) |
| Print l on o. More... | |
| std::string | to_string (format i) |
| Wrapper around operator<<. More... | |
| std::istream & | operator>> (std::istream &is, format &i) |
| Read from string form. More... | |
| std::ostream & | operator<< (std::ostream &os, format i) |
| Output in string form. More... | |
| void | hash_combine_hash (std::size_t &seed, size_t h) |
| template<typename T > | |
| void | hash_combine (std::size_t &seed, const T &v) |
| template<typename T > | |
| auto | hash_value (const T &v) -> decltype(std::hash< T > |
| Following the naming convention of Boost. More... | |
| return | hasher (v) |
| template<typename C > | |
| C::mapped_type | getargs (const std::string &kind, const C &map, const std::string &key) |
| Find a correspondance in a map. More... | |
| std::ostream & | incindent (std::ostream &o) |
| Increment the indentation. More... | |
| std::ostream & | decindent (std::ostream &o) |
| Decrement the indentation. More... | |
| std::ostream & | resetindent (std::ostream &o) |
| Reset the indentation. More... | |
| std::ostream & | indent (std::ostream &o) |
| Set the indentation. More... | |
| std::ostream & | iendl (std::ostream &o) |
| Print an end of line, then set the indentation. More... | |
| std::ostream & | incendl (std::ostream &o) |
| Increment the indentation, print an end of line, and set the indentation. More... | |
| std::ostream & | decendl (std::ostream &o) |
| Decrement the indentation, print an end of line, and set the indentation. More... | |
| template<typename T , typename U > | |
| bool | has (const std::initializer_list< T > &s, const U &e) |
| Whether e is in s. More... | |
| template<typename Key , typename Value , typename Compare , typename Alloc > | |
| bool | has (const std::map< Key, Value, Compare, Alloc > &s, const Key &e) |
| Whether e is in s. More... | |
| template<typename Key , typename Value , typename Comp , typename Alloc > | |
| std::set< typename std::map< Key, Value, Comp, Alloc >::mapped_type > | image (const std::map< Key, Value, Comp, Alloc > &m) |
| The set of values of a map. More... | |
| template<typename SharedPtr , typename... Args> | |
| SharedPtr | make_shared_ptr (Args &&...args) |
| Same as std::make_shared, but parameterized by the shared_ptr type, not the (pointed to) element_type. More... | |
| int | address (const void *t) |
| Name pointers, to make them easier to read. More... | |
| template<typename T > | |
| int | address (T *t) |
| template<typename T > | |
| int | address (const T &t) |
| template<typename T > | |
| symbol | sname () |
| template<typename T > | |
| symbol | sname (T &) |
| template<typename... Args> | |
| signature | ssignature () |
| Static signature. More... | |
| template<typename T > | |
| symbol | vname (T &t) |
| template<typename... Args> | |
| signature | vsignature (Args &&...args) |
| The signature of (Args...). More... | |
| template<typename T > | |
| std::pair< T, T > | make_ordered_pair (T e1, T e2) |
| path | absolute (const path &p) |
| bool | exists (const path &p) |
| std::ostream & | operator<< (std::ostream &o, const path &p) |
| Dump p on o. More... | |
| template<typename T , typename Container = std::deque<T>> | |
| ATTRIBUTE_PURE bool | has (const std::queue< T, Container > &s, const T &e) |
| Whether e is member of s. More... | |
| template<typename... Args> | |
| ATTRIBUTE_NORETURN void | raise (Args &&...args) |
| Raise a runtime_error with the concatenation of args as message. More... | |
| template<typename... Args> | |
| void | require (bool b, Args &&...args) |
| If b is not verified, raise an error with args as message. More... | |
| template<typename RandomGenerator = std::default_random_engine> | |
| struct random_selector< RandomGenerator > | make_random_selector (const RandomGenerator &g) ATTRIBUTE_PURE |
| template<typename T , typename Compare , typename Alloc > | |
| std::set< T, Compare, Alloc > | set_difference (const std::set< T, Compare, Alloc > &set1, const std::set< T, Compare, Alloc > &set2) |
| The set of members of set1 that are not members of set2. More... | |
| template<typename T , typename Compare , typename Alloc > | |
| bool | has (const std::set< T, Compare, Alloc > &s, const T &e) ATTRIBUTE_PURE |
| Whether e is member of s. More... | |
| template<typename T , typename Compare , typename Alloc > | |
| std::set< T, Compare, Alloc > | intersection (const std::set< T, Compare, Alloc > &set1, const std::set< T, Compare, Alloc > &set2) |
| The intersection of two sets. More... | |
| template<typename T , typename Compare , typename Alloc > | |
| std::set< std::set< T, Compare, Alloc > > | intersection_closure (std::set< std::set< T, Compare, Alloc >> pset) |
| The set of all the intersections of the sets in pset. More... | |
| template<typename T , typename Compare , typename Alloc > | |
| std::set< T, Compare, Alloc > | get_union (const std::set< T, Compare, Alloc > &set1, const std::set< T, Compare, Alloc > &set2) |
| The union of two sets. More... | |
| template<typename T , typename Compare , typename Alloc > | |
| std::ostream & | print (const std::set< T, Compare, Alloc > &set, std::ostream &o) |
| Print with a separator. Meant to help debugging. More... | |
| template<typename Container > | |
| bool | subset (const Container &set1, const Container &set2) ATTRIBUTE_PURE |
| Whether set1 ⊆ set2. More... | |
| std::ostream & | operator<< (std::ostream &os, const signature &sig) |
| Output a string, escaping special characters. More... | |
| std::string | bracketed (std::istream &i, char lbracket, char rbracket) |
| Extract the string which is here between lbracket and rbracket. More... | |
| template<typename ValueSet , typename... Args> | |
| auto | conv (const ValueSet &vs, const std::string &str, Args &&...args) -> decltype(vs.conv(std::declval< std::istream & >(), std::forward< Args >(args)...)) |
| Parse str via vs.conv. More... | |
| char | eat (std::istream &is, char c) |
| Check lookahead character and advance. More... | |
| const std::string & | eat (std::istream &is, const std::string &s) |
| Check lookahead string and advance. More... | |
| template<typename... Args> | |
| ATTRIBUTE_NORETURN void | fail_reading (std::istream &is, Args &&...args) |
| Throw an exception after failing to read from is. More... | |
| char | get_char (std::istream &i) |
| Read a single char, with possible -escape support. More... | |
| template<typename ValueSet , typename Value = typename ValueSet::value_t, typename... Args> | |
| auto | to_string (const ValueSet &vs, const Value &v, Args &&...args) -> std::string |
| Format v via vs.print. More... | |
| std::string | get_file_contents (const std::string &file) |
| Return the contents of file. More... | |
| std::shared_ptr< std::istream > | open_input_file (const std::string &file) |
| Open file for reading and return its autoclosing stream. More... | |
| std::shared_ptr< std::ostream > | open_output_file (const std::string &file) |
| Open file for writing and return its autoclosing stream. More... | |
| std::string | operator+ (symbol l, const char *r) |
| std::string | operator+ (const char *l, symbol r) |
| std::string | operator+ (symbol l, const std::string &r) |
| std::string | operator+ (const std::string &l, symbol r) |
| template<bool... B> | |
| constexpr bool | any_ () |
| Static evaluation of the 'or' of the template parameters. More... | |
| template<bool... B> | |
| constexpr bool | all_ () |
| template<typename Key , typename T , typename Hash , typename KeyEqual , typename Alloc > | |
| size_t | collision_count (const std::unordered_map< Key, T, Hash, KeyEqual, Alloc > &m) |
| Sum of bucket sizes. More... | |
| template<typename Key , typename T , typename Hash , typename KeyEqual , typename Alloc > | |
| bool | has (const std::unordered_map< Key, T, Hash, KeyEqual, Alloc > &m, const Key &k) |
| Whether e is member of m. More... | |
| template<typename Key , typename Hash , typename KeyEqual , typename Alloc > | |
| bool | has (const std::unordered_set< Key, Hash, KeyEqual, Alloc > &s, const Key &k) |
| Whether e is member of s. More... | |
| template<typename Key , typename Hash , typename KeyEqual , typename Alloc > | |
| std::unordered_set< Key, Hash, KeyEqual, Alloc > | intersection (const std::unordered_set< Key, Hash, KeyEqual, Alloc > &s1, const std::unordered_set< Key, Hash, KeyEqual, Alloc > &s2) |
| Intersection of s1 and s2. More... | |
| template<typename T , typename Alloc > | |
| ATTRIBUTE_PURE bool | has (const std::vector< T, Alloc > &s, const T &e) |
| Whether e is member of s. More... | |
| template<typename Label , typename Weight > | |
| auto | label_of (const welement< Label, Weight > &m) -> decltype(m.label()) |
| template<typename Label , typename Weight > | |
| auto | weight_of (const welement< Label, Weight > &m) -> decltype(m.weight()) |
| template<typename Label , typename Weight > | |
| void | weight_set (welement< Label, Weight > &m, const Weight &w) |
| template<typename Label , typename Weight > | |
| const Label & | label_of (const std::pair< Label, Weight > &m) |
| template<typename Label , typename Weight > | |
| const Weight & | weight_of (const std::pair< Label, Weight > &m) |
| template<typename Label , typename Weight > | |
| Label & | label_of (std::pair< Label, Weight > &m) |
| template<typename Label , typename Weight > | |
| void | weight_set (std::pair< Label, Weight > &m, const Weight &w) |
| std::ostream & | operator<< (std::ostream &o, const iomanipulator &g) |
| Launch the iomanipulator action on o. More... | |
| template<typename Dereference = as_pair, typename... Maps> | |
| zipped_maps< Dereference, Maps...> | zip_maps (Maps &&...maps) |
| template<typename Dereference = as_pair, typename... Maps> | |
| zipped_maps< Dereference, Maps...> | zip_map_tuple (const std::tuple< Maps...> &maps) |
| template<typename... Sequences> | |
| zip_sequences< Sequences...> | zip (Sequences &&...seqs) |
| template<typename... Sequences> | |
| zip_sequences< Sequences...> | zip_tuple (const std::tuple< Sequences...> &seqs) |
| template<typename... Sequences> | |
| zip_sequences_padded< zip_sequences< Sequences...> > | zip_with_padding (const std::tuple< typename Sequences::value_type...> &pad, const Sequences &...seq) |
| template<typename LabelSet > | |
| auto | label_is_zero (const LabelSet &ls, const typename LabelSet::value_t *l) -> decltype(ls.is_zero(l), bool()) |
| template<typename LabelSet > | |
| bool | label_is_zero (const LabelSet &,...) ATTRIBUTE_CONST |
Variables | |
| v | |
| std::ostream | cnull {nullptr} |
| An narrow-char stream that discards the output. More... | |
| std::wostream | wcnull {nullptr} |
| An wide-char stream that discards the output. More... | |
| using vcsn::b = typedef weightset_mixin<detail::b_impl> |
| using vcsn::base_t = typedef remove_cv_t<remove_reference_t<T>> |
| using vcsn::bool_constant = typedef std::integral_constant<bool, B> |
Definition at line 35 of file type_traits.hh.
| using vcsn::conditional_t = typedef typename std::conditional<B, T, U>::type |
Definition at line 13 of file type_traits.hh.
| using vcsn::context_t_of = typedef typename detail:: context_t_of_impl<base_t<ValueSet>>::type |
| using vcsn::delay_automaton = typedef std::shared_ptr<detail::delay_automaton_impl<Aut>> |
| using vcsn::determinized_automaton = typedef std::shared_ptr<detail::determinized_automaton_impl<Aut>> |
A determinized automaton as a shared pointer.
Definition at line 246 of file determinize.hh.
| using vcsn::detweighted_automaton = typedef std::shared_ptr<detail::detweighted_automaton_impl<Aut>> |
A determinized automaton as a shared pointer.
Definition at line 499 of file determinize.hh.
| using vcsn::dynamic_bitset = typedef boost::dynamic_bitset<> |
Definition at line 27 of file dynamic_bitset.hh.
| using vcsn::enable_if_t = typedef typename std::enable_if<Cond, T>::type |
Definition at line 16 of file type_traits.hh.
| using vcsn::expression_automaton = typedef std::shared_ptr<detail::expression_automaton_impl<Aut>> |
| using vcsn::expressionset = typedef weightset_mixin<rat::expressionset_impl<Context>> |
| using vcsn::f2 = typedef weightset_mixin<detail::f2_impl> |
| using vcsn::filter_automaton = typedef std::shared_ptr<detail::filter_automaton_impl<Aut>> |
| using vcsn::focus_automaton = typedef std::shared_ptr<detail::focus_automaton_impl<Tape, Aut>> |
| using vcsn::fresh_automaton_t_of = typedef typename Aut::element_type::template fresh_automaton_t<Context> |
| using vcsn::is_same_t = typedef typename std::is_same<T, U>::type |
Definition at line 19 of file type_traits.hh.
| using vcsn::join_t = typedef decltype(join(std::declval<ValueSets>()...)) |
| using vcsn::label_t_of = typedef typename detail:: label_t_of_impl<base_t<ValueSet>>::type |
| using vcsn::labelset_t_of = typedef typename detail:: labelset_t_of_impl<base_t<ValueSet>>::type |
| using vcsn::letter_class_t = typedef std::set<std::pair<std::string, std::string>> |
| using vcsn::letter_t_of = typedef typename labelset_t_of<base_t<ValueSet>>::letter_t |
| using vcsn::log = typedef weightset_mixin<detail::log_impl> |
| using vcsn::meet_t = typedef decltype(meet(std::declval<ValueSets>()...)) |
Definition at line 143 of file context.hh.
| using vcsn::mutable_automaton = typedef std::shared_ptr<detail::mutable_automaton_impl<Context>> |
| using vcsn::name_automaton = typedef std::shared_ptr<detail::name_automaton_impl<Context>> |
| using vcsn::nmin = typedef weightset_mixin<detail::nmin_impl> |
| using vcsn::pair_automaton = typedef std::shared_ptr<detail::pair_automaton_impl<Aut>> |
| using vcsn::partial_identity_context_t_of = typedef typename detail::partial_identity_context<Aut>::context_t |
Definition at line 33 of file partial-identity.hh.
| using vcsn::partition_automaton = typedef std::shared_ptr<detail::partition_automaton_impl<Aut>> |
A partition automaton as a shared pointer.
Definition at line 140 of file partition-automaton.hh.
| using vcsn::partition_automaton_t = typedef typename detail::partition_automaton_t_impl<Aut>::type |
The return type when calling quotient on Aut.
Definition at line 199 of file partition-automaton.hh.
| using vcsn::permutation_automaton = typedef std::shared_ptr<detail::permutation_automaton_impl<Aut>> |
| using vcsn::polynomialset = typedef weightset_mixin<detail::polynomialset_impl<Context, Kind>> |
| using vcsn::product_automaton = typedef std::shared_ptr<detail::product_automaton_impl<Aut, Auts...>> |
A product automaton as a shared pointer.
Definition at line 532 of file conjunction.hh.
| using vcsn::q = typedef weightset_mixin<detail::q_impl> |
| using vcsn::qmp = typedef weightset_mixin<detail::qmp_impl> |
| using vcsn::quotient_t = typedef partition_automaton_t<Aut> |
The return type when calling quotient on Aut.
Definition at line 119 of file quotient.hh.
| using vcsn::r = typedef weightset_mixin<detail::r_impl> |
| using vcsn::remove_const_t = typedef typename std::remove_const<T>::type |
Definition at line 22 of file type_traits.hh.
| using vcsn::remove_cv_t = typedef typename std::remove_cv<T>::type |
Definition at line 25 of file type_traits.hh.
| using vcsn::remove_reference_t = typedef typename std::remove_reference<T>::type |
Definition at line 28 of file type_traits.hh.
| using vcsn::rmin = typedef weightset_mixin<detail::rmin_impl> |
| using vcsn::scc_automaton = typedef std::shared_ptr<detail::scc_automaton_impl<Aut>> |
| using vcsn::state_t_of = typedef typename detail:: state_t_of_impl<base_t<ValueSet>>::type |
| using vcsn::states_t = typedef std::unordered_set<state_t_of<Aut>> |
Definition at line 19 of file accessible.hh.
| using vcsn::symbol = typedef boost::flyweight<std::string, boost::flyweights::no_tracking, boost::flyweights::intermodule_holder> |
An internalized string.
We do use different modules, since we dlopen plugins. For a while, we had the illusion that it work properly, but that's only because we were using the default operator< which actually compares the strings, not the address of the symbols. So we did have synonymous symbols, which the code gracefully accepted.
Play it safe and make our symbols unique.
| using vcsn::synchronized_automaton = typedef std::shared_ptr<detail::synchronized_automaton_impl<Aut>> |
| using vcsn::transition_t_of = typedef typename detail:: transition_t_of_impl<base_t<ValueSet>>::type |
| using vcsn::transpose_automaton = typedef std::shared_ptr<detail::transpose_automaton_impl<Aut>> |
| using vcsn::tuple_automaton = typedef std::shared_ptr<detail::tuple_automaton_impl<Auts...>> |
A tuple automaton as a shared pointer.
Definition at line 259 of file tuple-automaton.hh.
| using vcsn::tuple_element_t = typedef typename std::tuple_element<I, T>::type |
| using vcsn::tupleset = typedef weightset_mixin<detail::tupleset_impl<LabelSets...>> |
| using vcsn::weight_t_of = typedef typename detail:: weight_t_of_impl<base_t<ValueSet>>::type |
| using vcsn::weightset_t_of = typedef typename detail:: weightset_t_of_impl<base_t<ValueSet>>::type |
| using vcsn::wet = typedef detail::wet_impl<Kind, Key, Value, Compare, Hash, KeyEqual> |
| using vcsn::wet_of = typedef wet<label_t_of<Context>, weight_t_of<Context>, Kind, vcsn::less<labelset_t_of<Context>>, vcsn::hash<labelset_t_of<Context>>, vcsn::equal_to<labelset_t_of<Context>>> |
| using vcsn::word_t_of = typedef typename labelset_t_of<base_t<ValueSet>>::word_t |
| using vcsn::z = typedef weightset_mixin<detail::z_impl> |
| using vcsn::zmin = typedef weightset_mixin<detail::zmin_impl> |
|
strong |
Orientation.
| Enumerator | |
|---|---|
| forward |
Looking downstream. |
| backward |
Looking upstream. |
Definition at line 9 of file direction.hh.
|
strong |
| enum vcsn::star_status_t |
| Enumerator | |
|---|---|
| ABSVAL |
valid iff proper succeeds on the "absolute value" of the automaton |
| NON_STARRABLE | |
| STARRABLE |
always valid. |
| TOPS |
valid iff proper succeeds. |
Definition at line 5 of file star-status.hh.
|
strong |
| Enumerator | |
|---|---|
| best | |
| delgado | |
| delgado_label | |
| naive | |
Definition at line 478 of file to-expression.hh.
|
strong |
Definition at line 104 of file path.cc.
References vcsn::path::cwd(), and vcsn::path::is_absolute().
Referenced by vcsn::file_library::push_back(), vcsn::file_library::push_current_directory(), and vcsn::file_library::push_front().
| filter_automaton<Aut> vcsn::accessible | ( | const Aut & | a | ) |
Accessible part of an automaton.
Definition at line 134 of file accessible.hh.
References accessible_states(), and filter().
Referenced by vcsn::dyn::accessible(), vcsn::ctx::detail::register_functions(), and useful_states().
| states_t<Aut> vcsn::accessible_states | ( | const Aut & | aut, |
| bool | strict = true |
||
| ) |
The set of accessible states, including pre(), and possibly post().
| aut | the automaton. |
| strict | whether to evaluate lazy states. |
Definition at line 27 of file accessible.hh.
Referenced by accessible(), coaccessible_states(), num_accessible_states(), suffix_here(), and useful_states().
|
inline |
Name pointers, to make them easier to read.
Definition at line 22 of file memory.hh.
Referenced by address(), and vcsn::rat::printer< ExpSet >::operator()().
|
inline |
|
inline |
| std::vector<std::vector<weight_t_of<Aut> > > vcsn::all_distances | ( | const Aut & | aut | ) |
Definition at line 281 of file distance.hh.
Referenced by vcsn::detail::epsilon_remover_distance< Aut, has_one >::epsilon_remover_distance().
| word_t_of<Aut> vcsn::ambiguous_word | ( | const Aut & | aut | ) |
Definition at line 65 of file is-ambiguous.hh.
References is_ambiguous(), path_bfs(), and require().
Referenced by vcsn::dyn::ambiguous_word().
| constexpr bool vcsn::any_ | ( | ) |
| auto vcsn::are_equivalent | ( | const Aut1 & | a1, |
| const Aut2 & | a2 | ||
| ) | -> vcsn::enable_if_t<(std::is_same<weightset_t_of<Aut1>, b>::value && std::is_same<weightset_t_of<Aut2>, b>::value), bool> |
Check equivalence between Boolean automata on a free labelset.
Check equivalence between automata on fields, or Z.
Definition at line 27 of file are-equivalent.hh.
References difference(), is_useless(), and realtime().
Referenced by are_equivalent().
| auto vcsn::are_equivalent | ( | const ExpSet1 & | rs1, |
| const typename ExpSet1::value_t | r1, | ||
| const ExpSet2 & | rs2, | ||
| const typename ExpSet2::value_t | r2 | ||
| ) | -> bool |
Check equivalence between two expressions.
Definition at line 83 of file are-equivalent.hh.
References are_equivalent(), derived_term(), and strip().
Referenced by vcsn::dyn::are_equivalent(), and vcsn::dyn::detail::are_equivalent_expression().
| bool vcsn::are_isomorphic | ( | const Aut1 & | a1, |
| const Aut2 & | a2 | ||
| ) |
Definition at line 686 of file are-isomorphic.hh.
Referenced by vcsn::ctx::detail::register_functions().
|
inline |
Generate a subautomaton corresponding to an SCC.
Definition at line 512 of file scc.hh.
References has(), and make_fresh_automaton().
Referenced by is_cycle_ambiguous().
Extract the string which is here between lbracket and rbracket.
Support nested lbracket/rbracket.
Definition at line 17 of file stream.cc.
References str_escape().
Referenced by vcsn::detail::polynomialset_impl< Context, Kind >::conv_weight().
| mutable_automaton<Ctx> vcsn::cerny | ( | const Ctx & | ctx, |
| unsigned | num_states | ||
| ) |
Cerny automata are automata whose synchronizing word length is always (n - 1)^2, the upper bound of the Cerny's conjecture.
Their transition function d(q, l) is defined by:
Definition at line 25 of file cerny.hh.
References vcsn::rat::ctx(), and require().
Referenced by vcsn::dyn::cerny(), and vcsn::ctx::detail::register_functions_is_free().
|
inline |
|
inline |
| filter_automaton<Aut> vcsn::coaccessible | ( | const Aut & | a | ) |
Coaccessible part of an automaton.
Definition at line 142 of file accessible.hh.
References coaccessible_states(), and filter().
Referenced by vcsn::dyn::coaccessible(), is_ambiguous(), vcsn::ctx::detail::register_functions(), and useful_states().
| states_t<Aut> vcsn::coaccessible_states | ( | const Aut & | a, |
| bool | strict = true |
||
| ) |
The set of coaccessible states, including post(), and possibly pre().
| a | the automaton. |
| strict | whether to evaluate lazy states. |
Definition at line 64 of file accessible.hh.
References accessible_states(), and transpose().
Referenced by coaccessible(), is_ambiguous(), is_partial_identity(), and useful_states().
|
inline |
Definition at line 263 of file determinize.hh.
Referenced by minimize_brzozowski().
|
inline |
Definition at line 515 of file determinize.hh.
|
inline |
Sum of bucket sizes.
Definition at line 13 of file unordered_map.hh.
|
inline |
Definition at line 74 of file minimize.hh.
References minimize(), and transpose().
Referenced by vcsn::dyn::detail::cominimize_().
|
inline |
Definition at line 26 of file minimize-brzozowski.hh.
References minimize_brzozowski(), and transpose().
Referenced by vcsn::dyn::detail::cominimize_().
| auto vcsn::complement | ( | const Aut & | aut | ) | -> decltype(copy(aut)) |
Definition at line 47 of file complement.hh.
References complement_here(), and copy().
Referenced by vcsn::dyn::complement(), difference(), and info().
| void vcsn::complement_here | ( | Aut & | aut | ) |
Definition at line 20 of file complement.hh.
References has(), is_complete(), is_deterministic(), and require().
Referenced by complement().
| auto vcsn::complete | ( | const Aut & | aut | ) | -> decltype(::vcsn::copy(aut)) |
Definition at line 61 of file complete.hh.
References complete_here(), and copy().
Referenced by vcsn::dyn::complete(), difference(), vcsn::detail::universaler< Aut >::operator()(), and vcsn::ctx::detail::register_functions_is_free().
| Aut& vcsn::complete_here | ( | Aut & | aut | ) |
Complete aut and return it.
Definition at line 13 of file complete.hh.
References has().
Referenced by complete().
|
inline |
|
inline |
| auto vcsn::compose | ( | Lhs & | lhs, |
| Rhs & | rhs | ||
| ) | -> typename detail::composer<focus_automaton<OutTape, Lhs>, focus_automaton<InTape, Rhs>>::automaton_t |
Build the (accessible part of the) composition.
Definition at line 290 of file compose.hh.
References vcsn::detail::insplit(), and vcsn::detail::make_composer().
Referenced by vcsn::dyn::compose(), and is_functional().
|
inline |
|
inline |
|
inline |
Build the (accessible part of the) conjunction.
Definition at line 553 of file conjunction.hh.
References make_product_automaton(), and vcsn::detail::meet_automata().
Referenced by vcsn::dyn::detail::conjunction_(), vcsn::dyn::detail::conjunction_expression(), vcsn::dyn::detail::conjunction_repeated(), difference(), has_twins_property(), info(), is_ambiguous(), and is_cycle_ambiguous_scc().
| auto vcsn::conjunction | ( | const Aut & | aut, |
| unsigned | n | ||
| ) | -> fresh_automaton_t_of<Aut> |
Definition at line 800 of file conjunction.hh.
References vcsn::detail::product_automaton_impl< Aut, Auts >::conjunction(), make_fresh_automaton(), and vcsn::detail::automaton_decorator< tuple_automaton< Aut, Auts...> >::strip().
|
inline |
Intersection/Hadamard product of expressions.
Definition at line 863 of file conjunction.hh.
|
inline |
Build the (accessible part of the) conjunction.
Definition at line 567 of file conjunction.hh.
References make_product_automaton(), and vcsn::detail::meet_automata().
Referenced by vcsn::dyn::detail::conjunction_().
| weight_t_of<ExpSet> vcsn::constant_term | ( | const ExpSet & | rs, |
| const typename ExpSet::value_t & | e | ||
| ) |
The constant term of e.
Definition at line 191 of file constant-term.hh.
Referenced by vcsn::rat::star_normal_form_visitor< ExpSet >::box_of(), is_valid(), vcsn::ctx::detail::register_functions(), vcsn::rat::derivation_visitor< ExpSet >::VCSN_RAT_VISIT(), vcsn::rat::star_normal_form_visitor< ExpSet >::VCSN_RAT_VISIT(), and vcsn::detail::derived_termer< ExpSet >::via_derivation().
|
inline |
Parse str via vs.conv.
Definition at line 28 of file stream.hh.
References require(), and str_escape().
Referenced by vcsn::edit_automaton< Aut >::add_entry(), vcsn::detail::mutable_automaton_impl< Context >::add_transition_copy(), vcsn::detail::tupleset_impl< ValueSets >::conv(), vcsn::rat::expressionset_impl< Context >::conv(), vcsn::detail::tupleset_impl< ValueSets >::conv_(), vcsn::detail::polynomialset_impl< Context, Kind >::conv_weight(), vcsn::edit_automaton< Aut >::label_(), read_polynomial(), and vcsn::edit_automaton< Aut >::weight_().
|
inline |
A copy of input keeping only its states that are accepted by keep_state.
Definition at line 254 of file copy.hh.
References copy_into().
Referenced by vcsn::detail::absval(), complement(), complete(), vcsn::dyn::copy(), copy_into(), eliminate_state(), factor(), getargs(), vcsn::detail::is_valider< Aut, has_one >::is_valid_(), multiply(), multiply_here(), vcsn::detail::epsilon_remover_distance< Aut, false >::operator()(), vcsn::detail::epsilon_remover< Aut, false >::operator()(), vcsn::detail::epsilon_remover_separate< Aut, false >::operator()(), prefix(), push_weights(), vcsn::ctx::detail::register_automaton_functions(), vcsn::detail::properer< Aut >::remover_(), right_mult(), standard(), star(), and suffix().
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Copy selected states and transitions of an automaton.
Definition at line 126 of file copy.hh.
References copy(), and make_copier().
Referenced by copy_into(), vcsn::dyn::left_mult(), multiply(), vcsn::detail::epsilon_remover< Aut, has_one >::operator()(), project(), vcsn::dyn::right_mult(), subword(), and union_here().
|
inline |
Copy the selected states an automaton.
Definition at line 138 of file copy.hh.
References copy_into().
|
inline |
Copy an automaton.
Definition at line 149 of file copy.hh.
References copy_into().
|
inline |
Copy an automaton.
Definition at line 161 of file copy.hh.
References copy(), and make_copier().
Referenced by copy(), and vcsn::dyn::detail::copy_convert().
| auto vcsn::costandard | ( | const Aut & | aut | ) | -> decltype(copy(aut)) |
Definition at line 126 of file standard.hh.
References standard(), and transpose().
Referenced by normalize().
| mutable_automaton<detail::free_context<context_t_of<PolynomialSet> > > vcsn::cotrie | ( | const PolynomialSet & | ps, |
| const typename PolynomialSet::value_t & | p | ||
| ) |
| mutable_automaton<detail::free_context<context_t_of<PolynomialSet> > > vcsn::cotrie | ( | const PolynomialSet & | ps, |
| std::istream & | is | ||
| ) |
| void vcsn::create_states_and_trans_ | ( | const InAut & | aut, |
| OutAut & | naut1, | ||
| OutAut & | naut2 | ||
| ) |
Create states and the transitions two new automata naut1 and naut2 with weight of transition <(w, one)> and <(one, w)> corresponding with the weight of transition <w> of aut.
Definition at line 102 of file has-twins-property.hh.
Referenced by has_twins_property().
| cross_sequences<Sequences...> vcsn::cross | ( | Sequences &&... | seqs | ) |
Definition at line 272 of file cross.hh.
Referenced by vcsn::detail::tupleset_impl< ValueSets >::genset_().
| cross_sequences<Sequences...> vcsn::cross_tuple | ( | const std::tuple< Sequences...> & | seqs | ) |
| bool vcsn::cycle_identity | ( | const detail::component_t< Aut > & | c, |
| const Aut & | aut | ||
| ) |
Check the weight of two states on this component is unique.
Definition at line 86 of file has-twins-property.hh.
References vcsn::detail::cycle_identity_impl< Aut >::check().
Referenced by has_twins_property().
| mutable_automaton<Context> vcsn::de_bruijn | ( | const Context & | ctx, |
| unsigned | n | ||
| ) |
Definition at line 19 of file de-bruijn.hh.
References vcsn::rat::ctx(), vcsn::detail::front(), and require().
Referenced by vcsn::dyn::de_bruijn(), vcsn::ctx::detail::register_functions_is_free(), and vcsn::ctx::detail::register_kind_functions().
| std::ostream & vcsn::decendl | ( | std::ostream & | o | ) |
Decrement the indentation, print an end of line, and set the indentation.
Definition at line 59 of file indent.cc.
References decindent(), and iendl().
Referenced by vcsn::rat::printer< ExpSet >::operator()().
| std::ostream & vcsn::decindent | ( | std::ostream & | o | ) |
Decrement the indentation.
Definition at line 27 of file indent.cc.
References vcsn::detail::indentation.
Referenced by decendl().
| rat::expression_polynomial_t< ExpSet > vcsn::derivation | ( | const ExpSet & | rs, |
| const typename ExpSet::value_t & | e, | ||
| label_t_of< ExpSet > | a, | ||
| bool | breaking = false |
||
| ) |
Derive an expression wrt to a letter.
Definition at line 267 of file derivation.hh.
References split().
Referenced by vcsn::dyn::derivation(), derivation(), vcsn::ctx::detail::register_functions_is_free(), vcsn::dyn::to_automaton(), vcsn::detail::derived_termer< ExpSet >::via_derivation(), and vcsn::rat::derivation_visitor< ExpSet >::visit_tuple< bool, Dummy >::work_().
| rat::expression_polynomial_t<ExpSet> vcsn::derivation | ( | const ExpSet & | rs, |
| const rat::expression_polynomial_t< ExpSet > & | p, | ||
| label_t_of< ExpSet > | a, | ||
| bool | breaking = false |
||
| ) |
Derive a polynomial of expressions wrt to a letter.
Definition at line 285 of file derivation.hh.
References derivation(), label_of(), vcsn::rat::make_expression_polynomialset(), and weight_of().
| rat::expression_polynomial_t<ExpSet> vcsn::derivation | ( | const ExpSet & | rs, |
| const typename ExpSet::value_t & | e, | ||
| const word_t_of< ExpSet > & | l, | ||
| bool | breaking = false |
||
| ) |
Derive an expression wrt to a word.
Do not enable this overload when labels and words are the same thing (e.g., when working on a wordset), since in this case we fail with an ambiguous overload. Thanks to this enable_if, only the first overload (derivation wrt a label) is enabled, and the compilation fails but this time with the right diagnostic: the labelset must be free.
Definition at line 314 of file derivation.hh.
References derivation(), and require().
|
inline |
The derived-term automaton, for free labelsets.
| rs | the expressionset |
| r | the expression |
| algo | the algo to run: "auto", "derivation", or "expansion". |
Definition at line 226 of file derived-term.hh.
References vcsn::detail::rs.
Referenced by are_equivalent(), vcsn::dyn::derived_term(), and vcsn::ctx::detail::register_functions().
|
inline |
The derived-term automaton, for non free labelsets.
| rs | the expressionset |
| r | the expression |
| algo | the algo to run: "auto", "derivation", or "expansion". |
Definition at line 244 of file derived-term.hh.
References vcsn::detail::derived_term_algo::expansion, require(), and vcsn::detail::rs.
|
inline |
Definition at line 251 of file determinize.hh.
Referenced by minimize_brzozowski(), vcsn::detail::universaler< Aut >::operator()(), and vcsn::detail::universaler< Aut >::work_().
|
inline |
Definition at line 504 of file determinize.hh.
Referenced by difference().
| fresh_automaton_t_of<Lhs> vcsn::difference | ( | const Lhs & | lhs, |
| const Rhs & | rhs | ||
| ) |
An automaton that computes weights of lhs, but not by rhs.
Definition at line 122 of file are-equivalent.hh.
References complement(), complete(), conjunction(), determinize_weighted(), is_complete(), is_deterministic(), and strip().
Referenced by are_equivalent(), and vcsn::dyn::difference().
|
inline |
Difference of expressions.
Definition at line 157 of file are-equivalent.hh.
Referenced by vcsn::dyn::detail::difference_expression().
| mutable_automaton<Context> vcsn::divkbaseb | ( | const Context & | ctx, |
| unsigned | divisor, | ||
| unsigned | base | ||
| ) |
Build the Boolean automaton which accepts a word n representing a number in base "base" if and only if divisor|n.
Definition at line 18 of file divkbaseb.hh.
References vcsn::rat::ctx(), and require().
Referenced by vcsn::dyn::divkbaseb(), vcsn::ctx::detail::register_functions_is_free(), and vcsn::ctx::detail::register_kind_functions().
| std::ostream& vcsn::dot | ( | const Aut & | aut, |
| std::ostream & | out, | ||
| bool | dot2tex = false |
||
| ) |
Definition at line 371 of file dot.hh.
Referenced by vcsn::detail::epsilon_remover< Aut, has_one >::in_situ_remover_(), vcsn::detail::epsilon_remover_separate< Aut, has_one >::operator()(), print(), and vcsn::dyn::read_automaton().
| mutable_automaton<Context> vcsn::double_ring | ( | const Context & | ctx, |
| unsigned | n, | ||
| const std::vector< unsigned > & | finals | ||
| ) |
Definition at line 18 of file double-ring.hh.
References vcsn::rat::ctx(), vcsn::detail::make_vector(), and require().
Referenced by vcsn::dyn::double_ring(), vcsn::ctx::detail::register_functions_is_free(), and vcsn::ctx::detail::register_kind_functions().
Check lookahead character and advance.
| is | the stream to read. |
| c | the expected character. |
| std::runtime_error | if the next character is not c. |
Definition at line 37 of file stream.cc.
References fail_reading(), and str_escape().
Referenced by vcsn::ast::context_parser::automaton_(), vcsn::ast::context_parser::context_(), vcsn::detail::log_impl::conv(), vcsn::detail::q_impl::conv(), vcsn::detail::tupleset_impl< ValueSets >::conv_(), vcsn::detail::genset_labelset< GenSet >::convs_(), vcsn::detail::tupleset_impl< ValueSets >::eat_separator_(), vcsn::ast::context_parser::expansionset_(), vcsn::ast::context_parser::expressionset_(), vcsn::char_letters::get_letter(), vcsn::ast::context_parser::labelset_(), vcsn::detail::rmin_impl::make(), vcsn::detail::zmin_impl::make(), vcsn::detail::nmin_impl::make(), vcsn::detail::z_impl::make(), vcsn::detail::f2_impl::make(), vcsn::detail::b_impl::make(), vcsn::detail::log_impl::make(), vcsn::detail::r_impl::make(), vcsn::detail::q_impl::make(), vcsn::set_alphabet< L >::make(), vcsn::detail::qmp_impl::make(), vcsn::letterset< GenSet >::make(), vcsn::wordset< GenSet >::make(), vcsn::context< Tape, full_context_t >::make(), vcsn::rat::expressionset_impl< Context >::make(), vcsn::detail::tupleset_impl< ValueSets >::make(), vcsn::nullableset< LabelSet >::make(), vcsn::detail::polynomialset_impl< Context, Kind >::make(), operator>>(), vcsn::ast::context_parser::parameters_(), vcsn::ast::context_parser::polynomialset_(), vcsn::ast::context_parser::seriesset_(), vcsn::ast::context_parser::tuple_(), and vcsn::ast::context_parser::tupleset_().
| const std::string & vcsn::eat | ( | std::istream & | is, |
| const std::string & | s | ||
| ) |
Check lookahead string and advance.
| is | the stream to read. |
| s | the expected string. |
| std::runtime_error | if the next character is not s. |
Definition at line 48 of file stream.cc.
References require(), and str_escape().
| std::ostream& vcsn::efsm | ( | const Aut & | aut, |
| std::ostream & | out | ||
| ) |
Format automaton to EFSM format, based on FSM format.
| Aut | an automaton type. |
Definition at line 343 of file efsm.hh.
Referenced by print(), and vcsn::dyn::read_automaton().
| auto vcsn::eliminate_state | ( | const Aut & | aut, |
| state_t_of< Aut > | s = Aut::element_type::null_state() |
||
| ) | -> fresh_automaton_t_of<Aut> |
A copy of automaton res without the state s.
Definition at line 424 of file to-expression.hh.
References copy(), eliminate_state_here(), make_copier(), and require().
Referenced by vcsn::dyn::eliminate_state(), eliminate_state_here(), and vcsn::ctx::detail::register_kind_functions().
| Aut& vcsn::eliminate_state_here | ( | Aut & | res, |
| state_t_of< Aut > | s = Aut::element_type::null_state() |
||
| ) |
In place removal of state s from automaton res.
Delgado profiler not fit for lao with non expression weightset.
Definition at line 411 of file to-expression.hh.
References eliminate_state(), and vcsn::detail::make_state_eliminator().
Referenced by eliminate_state().
|
inline |
The approximated behavior of an automaton.
| aut | the automaton whose behavior to approximate |
| len | maximum length of words looked for. |
Definition at line 262 of file shortest.hh.
References shortest().
|
inline |
Definition at line 99 of file eval.hh.
Referenced by vcsn::ctx::detail::register_functions_is_free().
| bool vcsn::exists | ( | const path & | p | ) |
Definition at line 98 of file path.cc.
References vcsn::path::c_str().
Referenced by vcsn::file_library::find_file(), and vcsn::file_library::find_in_search_path().
|
inline |
Expand a typed expression.
Definition at line 151 of file expand.hh.
Referenced by vcsn::ctx::detail::register_functions().
| auto vcsn::factor | ( | const Aut & | aut | ) | -> decltype(::vcsn::copy(aut)) |
Definition at line 106 of file prefix.hh.
References copy(), and factor_here().
Referenced by vcsn::dyn::factor(), and vcsn::detail::polynomialset_impl< Context, Kind >::ldiv().
| Aut& vcsn::factor_here | ( | Aut & | aut | ) |
Make each useful state both initial and final.
Definition at line 99 of file prefix.hh.
References prefix_here(), and suffix_here().
Referenced by factor().
| std::ostream& vcsn::fado | ( | const Aut & | aut, |
| std::ostream & | out | ||
| ) |
Definition at line 204 of file grail.hh.
Referenced by vcsn::dyn::read_automaton().
|
inline |
Throw an exception after failing to read from is.
Reset the stream to a "good" state, and read the presumably ill-formed input into a buffer string; then throw with the given explanation followed by the buffer string. explanation should not contain trailing punctuation or spaces.
Definition at line 62 of file stream.hh.
References str_escape().
Referenced by vcsn::ast::check_eof(), vcsn::detail::nmin_impl::conv(), vcsn::detail::min_plus_impl< unsigned int >::conv(), vcsn::detail::z_impl::conv(), eat(), and operator>>().
|
inline |
Get an automaton who is a part state set ss of aut.
Definition at line 329 of file filter.hh.
Referenced by accessible(), coaccessible(), and trim().
|
inline |
|
inline |
Read a single char, with possible -escape support.
EOF is an error.
Definition at line 78 of file stream.hh.
References require().
Referenced by vcsn::char_letters::get_letter(), and vcsn::string_letters::get_letter().
| std::string vcsn::get_file_contents | ( | const std::string & | file | ) |
| C::mapped_type vcsn::getargs | ( | const std::string & | kind, |
| const C & | map, | ||
| const std::string & | key | ||
| ) |
Find a correspondance in a map.
Meant for string to enum mostly.
| kind | the nature of arguments, e.g., "identities" |
| map | a map from keys to values. |
| key | the value to look for. |
Definition at line 21 of file getargs.hh.
References copy().
Referenced by vcsn::detail::efsmer< Aut >::arc_type_(), vcsn::detail::derived_term_algo::derived_term_algo(), vcsn::format::format(), vcsn::rat::operator>>(), print(), vcsn::dyn::read_automaton(), vcsn::dyn::read_efsm(), vcsn::dyn::read_expression(), vcsn::dyn::read_label(), vcsn::dyn::to_automaton(), to_expression(), and vcsn::ast::context_printer::visit().
| std::ostream& vcsn::grail | ( | const Aut & | aut, |
| std::ostream & | out | ||
| ) |
|
inline |
Whether e is in s.
Definition at line 12 of file initializer_list.hh.
| ATTRIBUTE_PURE bool vcsn::has | ( | const std::deque< T, Allocator > & | s, |
| const T & | e | ||
| ) |
Whether e is member of s.
Definition at line 13 of file deque.hh.
Referenced by vcsn::ast::context_parser::any_(), aut_of_component(), vcsn::detail::cycle_identity_impl< Aut >::check(), complement_here(), complete_here(), vcsn::detail::scc_dijkstra_impl< Aut >::components(), copy(), vcsn::detail::reverse_postorder_impl< Aut >::dfs(), vcsn::detail::scc_dijkstra_impl< Aut >::dfs(), vcsn::detail::scc_kosaraju_impl< Aut >::dfs(), vcsn::detail::scc_tarjan_iterative_impl< Aut >::dfs(), vcsn::detail::scc_tarjan_recursive_impl< Aut >::dfs(), vcsn::set_alphabet< L >::has(), intersection(), is_ambiguous(), vcsn::are_isomorphicer< Aut1, Aut2 >::is_isomorphism_valid_throwing(), is_partial_identity(), vcsn::ast::context_parser::labelset_or_weightset_(), vcsn::rat::expressionset_impl< Context >::letter_class_(), num_accessible_states(), num_useful_states(), vcsn::detail::dotter< Aut >::print_state_(), vcsn::detail::dotter< Aut >::print_transitions_(), ss_shortest_distance(), vcsn::detail::tuple_automaton_impl< Aut, Auts >::state_has_name(), vcsn::detail::pair_automaton_impl< Aut >::state_has_name(), vcsn::rat::standard_visitor< Aut, ExpSet >::VCSN_RAT_VISIT(), vcsn::ast::context_parser::weightset_(), and vcsn::detail::universaler< Aut >::work_().
| ATTRIBUTE_PURE bool vcsn::has | ( | const std::queue< T, Container > & | s, |
| const T & | e | ||
| ) |
|
inline |
Whether e is member of m.
Definition at line 26 of file unordered_map.hh.
| ATTRIBUTE_PURE bool vcsn::has | ( | const std::vector< T, Alloc > & | s, |
| const T & | e | ||
| ) |
| bool vcsn::has | ( | const std::unordered_set< Key, Hash, KeyEqual, Alloc > & | s, |
| const Key & | k | ||
| ) |
Whether e is member of s.
Definition at line 37 of file unordered_set.hh.
|
inline |
| bool vcsn::has | ( | const std::set< T, Compare, Alloc > & | s, |
| const T & | e | ||
| ) |
| bool vcsn::has_bounded_lag | ( | const Aut & | aut | ) |
Whether a transducer has a bounded lag.
| [in] | aut | the transducer |
Definition at line 148 of file has-bounded-lag.hh.
References vcsn::detail::bounded_lag_checker< Aut >::has_bounded_lag().
| bool vcsn::has_twins_property | ( | const Aut & | aut | ) |
Whether aut has the twins property.
Definition at line 132 of file has-twins-property.hh.
References conjunction(), create_states_and_trans_(), cycle_identity(), is_cycle_ambiguous(), make_context(), make_mutable_automaton(), require(), strong_components(), tarjan_iterative, and trim().
|
inline |
Definition at line 32 of file functional.hh.
References hash_combine_hash(), and hasher().
Referenced by vcsn::rat::hash< ExpSet >::combine_type(), vcsn::detail::q_impl::hash(), vcsn::detail::polynomialset_impl< Context, Kind >::hash(), std::hash< std::tuple< Elements...> >::hash_(), vcsn::detail::tupleset_impl< ValueSets >::hash_(), std::hash< pair< T1, T2 > >::operator()(), std::hash< map< Key, Value, Compare, Alloc > >::operator()(), std::hash< set< T, Compare, Alloc > >::operator()(), std::hash< vector< T, Alloc > >::operator()(), vcsn::detail_signature::minimizer< Aut >::signature_hasher::operator()(), std::hash< std::array< Value, Size > >::operator()(), vcsn::are_isomorphicer< Aut1, Aut2 >::state_to_class(), and vcsn::rat::hash< ExpSet >::visit_weight_node().
|
inline |
|
inline |
Following the naming convention of Boost.
Use SFINAE to avoid being too eager.
Definition at line 63 of file functional.hh.
Referenced by vcsn::detail_weighted::minimizer< Aut >::classset::hash(), vcsn::detail::min_plus_impl< unsigned int >::hash(), vcsn::detail::log_impl::hash(), vcsn::detail::f2_impl::hash(), vcsn::detail::qmp_impl::hash(), vcsn::oneset::hash(), vcsn::detail::z_impl::hash(), vcsn::detail::b_impl::hash(), vcsn::detail::r_impl::hash(), vcsn::detail::q_impl::hash(), vcsn::letterset< GenSet >::hash(), vcsn::wordset< GenSet >::hash(), vcsn::detail::detweighted_automaton_impl< Aut >::stateset::hash(), vcsn::detail::polynomialset_impl< Context, Kind >::hash_impl(), std::hash< boost::dynamic_bitset< B, A > >::operator()(), and std::hash< vcsn::signature >::operator()().
| return vcsn::hasher | ( | v | ) |
| std::ostream & vcsn::iendl | ( | std::ostream & | o | ) |
| std::set<typename std::map<Key, Value, Comp, Alloc>::mapped_type> vcsn::image | ( | const std::map< Key, Value, Comp, Alloc > & | m | ) |
The set of values of a map.
Definition at line 46 of file map.hh.
Referenced by vcsn::detail::universaler< Aut >::work_().
| bool vcsn::in_situ_remover | ( | Aut & | aut, |
| bool | prune = true |
||
| ) |
| std::ostream & vcsn::incendl | ( | std::ostream & | o | ) |
Increment the indentation, print an end of line, and set the indentation.
Definition at line 54 of file indent.cc.
References iendl(), and incindent().
Referenced by vcsn::rat::printer< ExpSet >::operator()(), and vcsn::ast::context_printer::visit().
| std::ostream & vcsn::incindent | ( | std::ostream & | o | ) |
Increment the indentation.
Definition at line 21 of file indent.cc.
References vcsn::detail::indentation.
Referenced by incendl().
| std::ostream & vcsn::indent | ( | std::ostream & | o | ) |
Set the indentation.
Definition at line 40 of file indent.cc.
References vcsn::detail::indentation.
Referenced by iendl().
|
inline |
The (accessible part of the) infiltration product.
Definition at line 713 of file conjunction.hh.
References vcsn::detail::join_automata(), and make_product_automaton().
Referenced by vcsn::dyn::detail::infiltration_(), vcsn::dyn::detail::infiltration_expression(), and info().
|
inline |
The (accessible part of the) infiltration product.
Definition at line 726 of file conjunction.hh.
References vcsn::detail::product_automaton_impl< Aut, Auts >::infiltration().
|
inline |
Infiltration product of expressions.
Definition at line 767 of file conjunction.hh.
| std::ostream& vcsn::info | ( | const Aut & | aut, |
| std::ostream & | out, | ||
| bool | detailed = false |
||
| ) |
Definition at line 207 of file info.hh.
References ECHO, vcsn::detail_info::is_ambiguous(), vcsn::detail_info::is_codeterministic(), vcsn::detail_info::is_complete(), vcsn::detail_info::is_cycle_ambiguous(), vcsn::detail_info::is_deterministic(), is_empty(), is_eps_acyclic(), is_normalized(), is_proper(), is_standard(), vcsn::detail_info::is_synchronizing(), is_trim(), is_useless(), is_valid(), num_accessible_states(), num_coaccessible_states(), vcsn::detail_info::num_codeterministic_states(), num_components(), vcsn::detail_info::num_deterministic_states(), vcsn::detail_info::num_lazy_states(), vcsn::detail_info::num_spontaneous_transitions(), num_useful_states(), scc(), and vcsn::format::text.
Referenced by info(), vcsn::dyn::detail::info_expression(), print(), and vcsn::ctx::detail::register_automaton_functions().
| void vcsn::info | ( | const ExpSet & | rs, |
| const typename ExpSet::value_t & | e, | ||
| std::ostream & | o | ||
| ) |
Definition at line 274 of file info.hh.
References complement(), conjunction(), ECHO, infiltration(), info(), ldiv(), shuffle(), star(), sum(), vcsn::format::text, and tuple().
|
inline |
Definition at line 107 of file insplit.hh.
References vcsn::detail::insplit().
Referenced by vcsn::dyn::insplit(), and is_functional().
| std::unordered_set<Key, Hash, KeyEqual, Alloc> vcsn::intersection | ( | const std::unordered_set< Key, Hash, KeyEqual, Alloc > & | s1, |
| const std::unordered_set< Key, Hash, KeyEqual, Alloc > & | s2 | ||
| ) |
Intersection of s1 and s2.
Definition at line 45 of file unordered_set.hh.
References has(), and intersection().
| std::set< T, Compare, Alloc > vcsn::intersection | ( | const std::set< T, Compare, Alloc > & | set1, |
| const std::set< T, Compare, Alloc > & | set2 | ||
| ) |
The intersection of two sets.
Definition at line 15 of file set.hxx.
Referenced by intersection(), intersection_closure(), and useful_states().
| std::set< std::set< T, Compare, Alloc > > vcsn::intersection_closure | ( | std::set< std::set< T, Compare, Alloc >> | pset | ) |
The set of all the intersections of the sets in pset.
Definition at line 31 of file set.hxx.
References intersection().
Referenced by vcsn::detail::universaler< Aut >::work_().
| bool vcsn::is_accessible | ( | const Aut & | a | ) |
Whether all its states are accessible.
Definition at line 175 of file accessible.hh.
References num_accessible_states().
Referenced by vcsn::are_isomorphicer< Aut1, Aut2 >::get_full_response().
| bool vcsn::is_ambiguous | ( | const Aut & | aut, |
| std::tuple< state_t_of< Aut >, state_t_of< Aut >> & | witness | ||
| ) |
Whether an automaton is ambiguous.
| [in] | aut | the automaton |
| [out] | witness | if ambiguous, a pair of "ambiguous" states. |
Definition at line 22 of file is-ambiguous.hh.
References coaccessible(), coaccessible_states(), conjunction(), and has().
| bool vcsn::is_ambiguous | ( | const Aut & | aut | ) |
Definition at line 40 of file is-ambiguous.hh.
Referenced by ambiguous_word(), vcsn::detail_info::is_ambiguous(), and vcsn::ctx::detail::register_functions_is_free().
| bool vcsn::is_coaccessible | ( | const Aut & | a | ) |
Whether all its states are coaccessible.
Definition at line 182 of file accessible.hh.
References num_coaccessible_states().
|
inline |
Whether the transpositive automaton is deterministic.
Definition at line 73 of file is-deterministic.hh.
References is_deterministic(), and transpose().
Referenced by vcsn::detail_info::is_codeterministic().
| bool vcsn::is_complete | ( | const Aut & | aut | ) |
Whether aut is complete.
Definition at line 13 of file is-complete.hh.
Referenced by complement_here(), difference(), vcsn::detail_info::is_complete(), vcsn::detail::universaler< Aut >::operator()(), and vcsn::ctx::detail::register_functions_is_free().
| bool vcsn::is_costandard | ( | const Aut & | a | ) |
Whether a is costandard.
Definition at line 40 of file standard.hh.
References is_standard(), and transpose().
Referenced by is_normalized().
| bool vcsn::is_cycle_ambiguous | ( | const Aut & | aut | ) |
Whether aut is cycle-ambiguous.
Definition at line 114 of file is-ambiguous.hh.
References aut_of_component(), is_cycle_ambiguous_scc(), strong_components(), and tarjan_iterative.
Referenced by has_twins_property(), and vcsn::detail_info::is_cycle_ambiguous().
| bool vcsn::is_cycle_ambiguous_scc | ( | const Aut & | aut | ) |
Whether aut is cycle-ambiguous.
Precondition: aut is a strongly connected component.
Definition at line 142 of file is-ambiguous.hh.
References conjunction(), strong_components(), and tarjan_iterative.
Referenced by is_cycle_ambiguous().
|
inline |
Whether state s is deterministic in aut.
Definition at line 16 of file is-deterministic.hh.
Referenced by complement_here(), difference(), is_codeterministic(), is_deterministic(), vcsn::detail_info::is_deterministic(), vcsn::detail::fadoer< Aut >::is_deterministic_(), vcsn::detail_moore::minimizer< Aut >::minimizer(), num_deterministic_states(), vcsn::detail::universaler< Aut >::operator()(), and vcsn::ctx::detail::register_functions_is_free().
|
inline |
Whether has at most an initial state, and all its states are deterministic.
Definition at line 56 of file is-deterministic.hh.
References is_deterministic().
| bool vcsn::is_empty | ( | const Aut & | a | ) |
Whether has no states.
Definition at line 192 of file accessible.hh.
Referenced by info(), and vcsn::ctx::detail::register_functions().
| ATTRIBUTE_CONST bool vcsn::is_eps_acyclic | ( | const Aut & | aut | ) |
Definition at line 111 of file is-eps-acyclic.hh.
Referenced by info(), vcsn::detail::is_valider< Aut, has_one >::is_valid_(), and vcsn::ctx::detail::register_functions().
| bool vcsn::is_functional | ( | const Aut & | aut | ) |
Whether aut is functional.
Definition at line 17 of file is-functional.hh.
References compose(), insplit(), is_partial_identity(), and vcsn::detail::make_composer().
| bool vcsn::is_letterized | ( | const Aut & | aut | ) |
Check if the transitions are all letters.
| [in] | aut | the automaton |
Definition at line 191 of file letterize.hh.
References vcsn::detail::is_letterized().
| bool vcsn::is_normalized | ( | const Aut & | a | ) |
Whether a is standard and co-standard.
Definition at line 12 of file normalize.hh.
References is_costandard(), and is_standard().
Referenced by info(), and vcsn::ctx::detail::register_functions().
|
inline |
Whether for each state, the outgoing transitions are sorted by increasing label.
Definition at line 60 of file sort.hh.
References vcsn::detail::is_sorted_forward().
Referenced by vcsn::ctx::detail::register_functions().
| bool vcsn::is_partial_identity | ( | const Aut & | aut | ) |
Whether transducer aut is equivalent to a partial identity function on all successful paths.
This automaton is expected to be two-tape, both tapes having the same labelset.
Words of the k-tape automaton: k-tuples of words.
Common labelset for both tapes.
Residue of input and output paths arriving to a given state, with longest common prefix eliminated.
Definition at line 21 of file is-partial-identity.hh.
References coaccessible_states(), has(), vcsn::detail::make_wordset(), vcsn::weightset_mixin< WeightSet >::mul(), and vcsn::detail::rs.
Referenced by is_functional().
|
inline |
Test whether an automaton is proper.
An automaton is proper iff it contains no epsilon-transition.
| aut | The tested automaton |
Definition at line 48 of file is-proper.hh.
References vcsn::detail::is_proper_().
Referenced by info(), is_realtime(), vcsn::detail::is_valider< Aut, has_one >::is_valid_(), vcsn::detail::epsilon_remover< Aut, has_one >::operator()(), and vcsn::ctx::detail::register_functions().
| bool vcsn::is_realtime | ( | const Aut & | aut | ) |
Check if the automaton is realtime, i.e.
it is letterized and proper.
| [in] | aut | the automaton |
Definition at line 249 of file letterize.hh.
References vcsn::dyn::detail::is_letterized(), and is_proper().
| bool vcsn::is_standard | ( | const Aut & | a | ) |
Whether a is standard.
Definition at line 27 of file standard.hh.
Referenced by info(), is_costandard(), is_normalized(), vcsn::detail::standard_operations< Aut >::left_mult_here(), multiply(), multiply_here(), vcsn::ctx::detail::register_functions(), standard_here(), star_here(), and sum_here().
| bool vcsn::is_synchronized | ( | const Aut & | aut | ) |
Check whether the transducer is synchronized.
| [in] | aut | the transducer |
Definition at line 307 of file is-synchronized.hh.
| bool vcsn::is_synchronized_by | ( | const Aut & | aut, |
| const word_t_of< Aut > & | w | ||
| ) |
Whether w synchronizes automaton aut.
Definition at line 36 of file synchronizing-word.hh.
References require(), and vcsn::rat::size().
Referenced by vcsn::dyn::is_synchronized_by(), and vcsn::ctx::detail::register_functions_is_free().
| bool vcsn::is_synchronizing | ( | const Aut & | aut | ) |
Whether this automaton is synchronizing, i.e., has synchronizing words.
Definition at line 383 of file synchronizing-word.hh.
References vcsn::detail::word_synchronizer< Aut >::is_synchronizing().
Referenced by vcsn::detail_info::is_synchronizing(), vcsn::dyn::is_synchronizing(), and vcsn::ctx::detail::register_functions_is_free().
| bool vcsn::is_trim | ( | const Aut & | a | ) |
Whether all its states are useful.
Definition at line 161 of file accessible.hh.
References num_useful_states().
Referenced by info(), vcsn::detail_moore::minimizer< Aut >::minimizer(), vcsn::detail_weighted::minimizer< Aut >::minimizer(), vcsn::detail_signature::minimizer< Aut >::minimizer(), and vcsn::ctx::detail::register_functions().
| bool vcsn::is_useless | ( | const Aut & | a | ) |
Whether all no state is useful.
Definition at line 168 of file accessible.hh.
References num_useful_states().
Referenced by are_equivalent(), info(), and vcsn::ctx::detail::register_functions().
|
inline |
Definition at line 141 of file is-valid.hh.
References vcsn::detail::is_valider< Aut, has_one >::is_valid().
Referenced by info(), vcsn::dyn::detail::is_valid_expression(), vcsn::detail::properer< Aut >::proper_star(), and vcsn::ctx::detail::register_functions().
| bool vcsn::is_valid | ( | const ExpSet & | rs, |
| const typename ExpSet::value_t & | e | ||
| ) |
Whether e has only computable stars.
Definition at line 17 of file is-valid-expression.hh.
References constant_term().
| auto vcsn::join | ( | const ValueSet & | vs | ) | -> ValueSet |
The join of a single valueset.
Useful for variadic operator on a single argument.
Definition at line 44 of file join.hh.
Referenced by vcsn::dyn::detail::concatenate_expression(), vcsn::dyn::detail::conjunction_expression(), vcsn::dyn::detail::infiltration_expression(), join(), vcsn::detail::join_impl< context< LS1, WS1 >, context< LS2, WS2 > >::join(), vcsn::detail::join_impl< expressionset< Ctx1 >, expressionset< Ctx2 > >::join(), vcsn::detail::join_impl< letterset< GenSet1 >, expressionset< Ctx2 > >::join(), vcsn::detail::join_impl_simple< WeightSet, expressionset< Context > >::join(), vcsn::detail::join_impl< tupleset< VS1...>, tupleset< VS2...> >::join(), vcsn::detail::join_impl< polynomialset< Ctx1, Kind1 >, polynomialset< Ctx2, Kind2 > >::join(), vcsn::detail::join_impl< polynomialset< Ctx1, Kind1 >, WS2 >::join(), vcsn::detail::join_automata(), join_weightset_expressionset(), vcsn::detail::composer< Lhs, Rhs >::make_context_(), meet(), vcsn::dyn::detail::multiply_expression(), vcsn::dyn::detail::shuffle_expression(), tuple_context(), and tuple_expressionset().
| auto vcsn::join | ( | ValueSet1 | vs1, |
| ValueSet2 | vs2 | ||
| ) | -> decltype(detail::join_(vs1, vs2, 0)) |
The join of two valuesets.
Definition at line 53 of file join.hh.
References vcsn::detail::join_().
| auto vcsn::join | ( | ValueSet1 | vs1, |
| ValueSet2 | vs2, | ||
| ValueSet3 | vs3, | ||
| VSs &&... | vs | ||
| ) | -> decltype(join(join(vs1, vs2), vs3, std::forward<VSs>(vs)...)) |
The join of three (or more) valuesets.
We once had a single case for two-and-more arguments (instead of one join for two and one join for three-and-more), but the decltype() used in the return type failed to find the appropriate 'recursive' call to join in the case of three rat::identities. It turns out that removing the return type (and leaving its computation to the C++14 compiler) suffices to force the instantiation of the function, and to fix the problem.
Definition at line 71 of file join.hh.
References join().
Referenced by vcsn::detail::join_().
| expressionset<context<labelset_t_of<ExpSet>, join_t<WeightSet, weightset_t_of<ExpSet> > > > vcsn::join_weightset_expressionset | ( | const WeightSet & | ws, |
| const ExpSet & | rs | ||
| ) |
Join between an expressionset and a weightset.
We must not perform a plain
join(w1.weightset(), r1.expressionset())
here. Consider for instance
expressionset<lal(abc), expressionset<law(xyz), b>>
we would perform
join(expressionset<law(xyz), b>, expressionset<lal(abc), expressionset<law(xyz), b>>)
i.e., a join of contexts which applies to both labelsets (here, join(lal(abc), "law(xyz)) = law(abcxyz)") and weightsets. Here, the "expressionset<law(xyz), b>" must really be considered as a weightset, so compute the join of weightsets by hand, and leave the labelset alone.
Definition at line 161 of file left-mult.hh.
References vcsn::rat::ctx(), join(), make_context(), and make_expressionset().
Referenced by vcsn::dyn::detail::left_mult_expression(), and vcsn::dyn::detail::right_mult_expression().
| auto vcsn::label_is_zero | ( | const LabelSet & | ls, |
| const typename LabelSet::value_t * | l | ||
| ) | -> decltype(ls.is_zero(l), bool()) |
Definition at line 36 of file polynomialset.hh.
Referenced by vcsn::detail::polynomialset_impl< Context, Kind >::add_here(), and vcsn::detail::polynomialset_impl< Context, Kind >::sub_here().
| bool vcsn::label_is_zero | ( | const LabelSet & | , |
| ... | |||
| ) |
Definition at line 51 of file polynomialset.hh.
| auto vcsn::label_of | ( | const welement< Label, Weight > & | m | ) | -> decltype(m.label()) |
Definition at line 125 of file wet.hh.
Referenced by vcsn::detail::trie_builder< Context, Dir >::add(), vcsn::edit_automaton< Aut >::add_entry(), vcsn::detail::polynomialset_impl< Context, Kind >::add_here(), vcsn::rat::split_visitor< ExpSet >::conjunction(), vcsn::detail::polynomialset_impl< Context, Kind >::conjunction(), vcsn::detail::polynomialset_impl< Context, Kind >::conv(), derivation(), vcsn::detail::polynomialset_impl< Context, Kind >::hash(), vcsn::detail::polynomialset_impl< Context, Kind >::infiltration(), vcsn::detail::derived_termer< ExpSet >::init_(), vcsn::detail::polynomialset_impl< Context, Kind >::ldiv(), vcsn::detail::polynomialset_impl< Context, Kind >::lmul(), vcsn::detail::polynomialset_impl< Context, Kind >::lmul_label(), vcsn::detail::polynomialset_impl< Context, Kind >::monomial_equal(), vcsn::detail::polynomialset_impl< Context, Kind >::monomial_less(), vcsn::detail::polynomialset_impl< Context, Kind >::mul(), vcsn::detail::polynomialset_impl< Context, Kind >::mul_impl(), vcsn::detail::polynomialset_impl< Context, Kind >::print_with_classes_(), vcsn::rat::split_visitor< ExpSet >::product(), vcsn::detail::polynomialset_impl< Context, Kind >::rmul(), vcsn::detail::polynomialset_impl< Context, Kind >::rmul_label(), split_polynomial(), vcsn::detail::polynomialset_impl< Context, Kind >::sub_here(), vcsn::detail::polynomialset_impl< Context, Kind >::to_label(), vcsn::detail::polynomialset_impl< Context, Kind >::transpose(), vcsn::rat::expand_visitor< ExpSet >::VCSN_RAT_VISIT(), vcsn::rat::derivation_visitor< ExpSet >::VCSN_RAT_VISIT(), vcsn::rat::to_expansion_visitor< ExpSet >::VCSN_RAT_VISIT(), vcsn::detail::derived_termer< ExpSet >::via_derivation(), vcsn::detail::derived_termer< ExpSet >::via_expansion(), vcsn::detail::wet_bitset::wet_bitset(), and vcsn::detail::wet_set< Key, Compare >::wet_set().
| const Label& vcsn::label_of | ( | const std::pair< Label, Weight > & | m | ) |
| Label& vcsn::label_of | ( | std::pair< Label, Weight > & | m | ) |
| mutable_automaton<Context> vcsn::ladybird | ( | const Context & | ctx, |
| unsigned | n | ||
| ) |
Definition at line 16 of file ladybird.hh.
References make_mutable_automaton(), vcsn::detail::make_vector(), and require().
Referenced by vcsn::dyn::ladybird(), vcsn::ctx::detail::register_functions_is_free(), and vcsn::ctx::detail::register_kind_functions().
|
inline |
Left-division of values.
Definition at line 17 of file divide.hh.
Referenced by info(), and vcsn::detail::tupleset_impl< ValueSets >::ldiv_().
|
inline |
Definition at line 90 of file left-mult.hh.
References left_mult_here().
Referenced by vcsn::dyn::detail::left_mult_expression(), and vcsn::ctx::detail::register_functions().
|
inline |
Definition at line 131 of file left-mult.hh.
|
inline |
Definition at line 81 of file left-mult.hh.
References vcsn::detail::standard_operations< Aut >::left_mult_here().
Referenced by left_mult(), and vcsn::dyn::left_mult().
| auto vcsn::left_reduce | ( | const Aut & | input | ) | -> decltype(copy(input)) |
| bool vcsn::less_than | ( | const ExpSet & | rs, |
| const typename ExpSet::value_t & | lhs, | ||
| const typename ExpSet::value_t & | rhs | ||
| ) |
Whether lhs precedes rhs.
Definition at line 17 of file less-than.hh.
Referenced by vcsn::dyn::detail::less_than_expression().
| auto vcsn::letterize | ( | const Aut & | aut | ) | -> decltype(detail::letterize(aut)) |
Split the word transitions in the input automaton into letter ones.
| [in] | aut | the automaton |
Definition at line 135 of file letterize.hh.
References vcsn::detail::letterize().
Referenced by vcsn::dyn::letterize(), and realtime().
| mutable_automaton<Context> vcsn::levenshtein | ( | const Context & | ctx | ) |
Definition at line 16 of file levenshtein.hh.
References make_mutable_automaton(), vcsn::detail::make_vector(), and vcsn::rat::size().
Referenced by vcsn::dyn::levenshtein().
|
inline |
Left-division of values.
Definition at line 65 of file divide.hh.
Referenced by vcsn::detail::tupleset_impl< ValueSets >::lgcd_(), and vcsn::detail::tupleset_impl< ValueSets >::lnormalize_here_().
|
inline |
Lift some tapes of the transducer.
| a | the input automaton |
| ids | the identities to use for the generated expressions |
Definition at line 215 of file lift.hh.
Referenced by vcsn::dyn::detail::lift_expression(), and to_expression_heuristic().
|
inline |
Move all the labels to the weights.
Definition at line 294 of file lift.hh.
References vcsn::detail::lift_expressionset().
|
inline |
The approximated behavior of an automaton.
| aut | the automaton whose behavior to approximate |
| num | number of words looked for. |
Definition at line 167 of file lightest.hh.
Referenced by weigh().
|
inline |
Definition at line 188 of file print.hh.
Referenced by vcsn::dyn::detail::list_polynomial().
| container_filter_range<Cont, Pred> vcsn::make_container_filter_range | ( | const Cont & | cont, |
| Pred | pred | ||
| ) |
| Ctx vcsn::make_context | ( | const std::string & | name | ) |
Definition at line 20 of file make-context.hh.
References is, and str_escape().
Referenced by has_twins_property(), join_weightset_expressionset(), and vcsn::ctx::detail::register_functions().
| context<LabelSet, WeightSet> vcsn::make_context | ( | const LabelSet & | ls, |
| const WeightSet & | ws | ||
| ) |
Shorthand to build a context.
Definition at line 131 of file context.hh.
| detail::copier<AutIn, AutOut> vcsn::make_copier | ( | const AutIn & | in, |
| AutOut & | out | ||
| ) |
Build an automaton copier.
Definition at line 116 of file copy.hh.
Referenced by copy_into(), eliminate_state(), vcsn::detail::epsilon_remover_distance< Aut, has_one >::epsilon_remover_distance(), vcsn::detail::epsilon_remover_separate< Aut, has_one >::epsilon_remover_separate(), and multiply_here().
| auto vcsn::make_delay_automaton | ( | const Aut & | aut | ) | -> decltype(detail::make_delay_automaton(aut)) |
Check whether the transducer is synchronized.
| [in] | aut | the transducer |
Definition at line 335 of file is-synchronized.hh.
| expressionset<Context> vcsn::make_expressionset | ( | const Context & | ctx, |
| rat::identities | identities = {} |
||
| ) |
Shorthand to expressionset constructor.
Definition at line 543 of file expressionset.hh.
Referenced by vcsn::dyn::detail::copy_expression(), vcsn::dyn::expression_one(), vcsn::dyn::expression_zero(), join_weightset_expressionset(), vcsn::dyn::detail::to_expression_class(), and vcsn::dyn::detail::to_expression_label().
|
inline |
Create an empty, mutable, automaton, based on another one.
To this end, each automaton type provides a fresh_automaton_t. In the case of mutable_automaton, it's simply mutable_automaton. In the case of a transpose_automaton<Aut>, it's transpose_automaton (of the fresh_automaton of Aut) so that we also create a transposed automaton. In the case of decorator, it's the base type, as we don't copy decorations.
Definition at line 239 of file copy.hh.
References vcsn::detail::real_context().
Referenced by aut_of_component(), conjunction(), multiply(), vcsn::detail::quotienter< Aut >::operator()(), vcsn::detail::universaler< Aut >::work_(), and vcsn::detail::standard_operations< Aut >::zero_here().
| mutable_automaton<Context> vcsn::make_mutable_automaton | ( | const Context & | ctx | ) |
Definition at line 1022 of file mutable-automaton.hh.
References vcsn::rat::ctx().
Referenced by vcsn::dyn::detail::copy_convert(), has_twins_property(), vcsn::detail::join_automata(), ladybird(), vcsn::dyn::left_mult(), levenshtein(), vcsn::detail::meet_automata(), project(), and vcsn::dyn::right_mult().
| std::pair<T, T> vcsn::make_ordered_pair | ( | T | e1, |
| T | e2 | ||
| ) |
Definition at line 34 of file pair.hh.
Referenced by vcsn::detail::pair_automaton_impl< Aut >::state_().
| auto vcsn::make_partition_automaton | ( | const fresh_automaton_t_of< Aut > & | res, |
| const Aut & | input, | ||
| const typename detail::partition_automaton_impl< Aut >::origins_t | origins | ||
| ) | -> partition_automaton_t<Aut> |
Build a partition_automaton.
| res | the actual result, typically a mutable_automaton |
| input | the automaton from which the partition is computed |
| origins | map each state of res to its states in input |
Definition at line 209 of file partition-automaton.hh.
Referenced by vcsn::detail::quotienter< Aut >::operator()().
| auto vcsn::make_partition_automaton | ( | const fresh_automaton_t_of< Aut > & | res, |
| const partition_automaton< Aut > & | input, | ||
| const typename detail::partition_automaton_impl< Aut >::origins_t | origins | ||
| ) | -> partition_automaton_t<Aut> |
Build a partition_automaton of a partition_automaton: smash into a single level partition_automaton.
| res | the actual result, typically a mutable_automaton |
| input | the automaton from which the partition is computed |
| origins | map each state of res to its states in input |
Definition at line 225 of file partition-automaton.hh.
| auto vcsn::make_partition_automaton | ( | const fresh_automaton_t_of< transpose_automaton< Aut >> & | res, |
| const transpose_automaton< Aut > & | input, | ||
| const typename detail::partition_automaton_impl< Aut >::origins_t | origins | ||
| ) | -> transpose_automaton<partition_automaton_t<Aut>> |
Build a partition_automaton of a transpose_automaton: smash into a transpose_automaton of a partition_automaton.
| res | the actual result, typically a mutable_automaton |
| input | the automaton from which the partition is computed |
| origins | map each state of res to its states in input |
Definition at line 251 of file partition-automaton.hh.
|
inline |
Definition at line 537 of file conjunction.hh.
Referenced by conjunction(), conjunction_lazy(), infiltration(), and shuffle().
| struct random_selector< RandomGenerator > vcsn::make_random_selector | ( | const RandomGenerator & | g | ) |
Definition at line 64 of file random.hh.
Referenced by random_label().
|
inline |
Same as std::make_shared, but parameterized by the shared_ptr type, not the (pointed to) element_type.
Definition at line 14 of file memory.hh.
References vcsn::dyn::type().
|
inline |
Definition at line 264 of file tuple-automaton.hh.
Referenced by vcsn::detail::product_automaton_impl< Aut, Auts >::product_automaton_impl().
| auto vcsn::meet | ( | const ValueSet & | vs | ) | -> ValueSet |
The meet of a single valueset.
Useful for variadic operator on a single argument.
Definition at line 154 of file context.hh.
| auto vcsn::meet | ( | const ValueSet1 & | vs1, |
| const ValueSet2 & | vs2, | ||
| const ValueSet3 & | vs3, | ||
| const VSs &... | vs | ||
| ) | -> decltype(meet(meet(vs1, vs2), vs3, vs...)) |
Definition at line 163 of file context.hh.
References meet().
| auto vcsn::meet | ( | const context< LhsLabelSet, LhsWeightSet > & | a, |
| const context< RhsLabelSet, RhsWeightSet > & | b | ||
| ) | -> context<meet_t<LhsLabelSet, RhsLabelSet>, join_t<LhsWeightSet, RhsWeightSet>> |
The meet of two contexts.
Definition at line 206 of file context.hh.
References join(), and meet().
| letterset<GenSet> vcsn::meet | ( | const letterset< GenSet > & | lhs, |
| const letterset< GenSet > & | rhs | ||
| ) |
Compute the meet with another labelset.
Definition at line 335 of file letterset.hh.
| wordset<GenSet> vcsn::meet | ( | const wordset< GenSet > & | lhs, |
| const wordset< GenSet > & | rhs | ||
| ) |
Compute the meet with another alphabet.
Definition at line 363 of file wordset.hh.
|
inline |
The meet of two expressionsets.
Definition at line 552 of file expressionset.hh.
References vcsn::rat::meet().
Referenced by meet(), and vcsn::detail::meet_automata().
| nullableset<letterset<GenSet> > vcsn::meet | ( | const nullableset< letterset< GenSet >> & | lhs, |
| const nullableset< letterset< GenSet >> & | rhs | ||
| ) |
Compute the meet with another labelset.
Definition at line 620 of file nullableset.hh.
| nullableset<letterset<GenSet> > vcsn::meet | ( | const letterset< GenSet > & | lhs, |
| const nullableset< letterset< GenSet >> & | rhs | ||
| ) |
Definition at line 623 of file nullableset.hh.
| nullableset<letterset<GenSet> > vcsn::meet | ( | const nullableset< letterset< GenSet >> & | lhs, |
| const letterset< GenSet > & | rhs | ||
| ) |
Definition at line 626 of file nullableset.hh.
| nullableset<meet_t<Lls, Rls> > vcsn::meet | ( | const nullableset< Lls > & | lhs, |
| const nullableset< Rls > & | rhs | ||
| ) |
Definition at line 630 of file nullableset.hh.
|
inline |
Definition at line 30 of file minimize.hh.
References minimize_moore(), minimize_signature(), minimize_weighted(), and str_escape().
Referenced by cominimize(), vcsn::dyn::detail::minimize_(), minimize_moore(), minimize_signature(), minimize_weighted(), and vcsn::ctx::detail::register_functions().
|
inline |
Definition at line 48 of file minimize.hh.
References minimize_signature(), minimize_weighted(), and str_escape().
|
inline |
Definition at line 63 of file minimize.hh.
References minimize_weighted(), and str_escape().
|
inline |
Definition at line 17 of file minimize-brzozowski.hh.
References codeterminize(), and determinize().
Referenced by cominimize_brzozowski(), and vcsn::dyn::detail::minimize_().
|
inline |
Minimize automaton a using the Moore algorithm.
Definition at line 194 of file minimize-moore.hh.
References minimize(), and quotient().
Referenced by minimize().
|
inline |
Definition at line 285 of file minimize-signature.hh.
References minimize(), and quotient().
Referenced by minimize().
|
inline |
Definition at line 246 of file minimize-weighted.hh.
References minimize(), and quotient().
Referenced by minimize().
|
inline |
Concatenate two standard automata.
Definition at line 86 of file multiply.hh.
References copy_into(), is_standard(), vcsn::detail::join_automata(), multiply_here(), and require().
Referenced by multiply(), vcsn::dyn::multiply(), vcsn::dyn::detail::multiply_expression(), vcsn::dyn::detail::multiply_repeated(), vcsn::dyn::detail::multiply_weight(), and vcsn::ctx::detail::register_functions().
| auto vcsn::multiply | ( | const Aut & | aut, |
| int | min, | ||
| int | max | ||
| ) | -> typename Aut::element_type::template fresh_automaton_t<> |
Repeated concatenation of an automaton.
The return type, via SFINAE, makes the difference with another overload, <ValueSet>(ValueSet, value, value), which coincides in the case ValueSet = Z, hence value = int.
Unfortunately, fresh_automaton_t_of, which uses context_t_of<Aut>, is not SFINAE transparent: it causes a hard failure instead of being ignored.
FIXME: if you know how to use fresh_automaton_t_of instead, let me know.
Definition at line 131 of file multiply.hh.
References copy(), make_fresh_automaton(), multiply(), star(), and sum().
|
inline |
Product (concatenation) of expressions/labels/polynomials/weights.
Definition at line 201 of file multiply.hh.
| ExpSet::value_t vcsn::multiply | ( | const ExpSet & | rs, |
| const typename ExpSet::value_t & | r, | ||
| int | min, | ||
| int | max | ||
| ) |
Definition at line 254 of file multiply.hh.
References require(), and sum().
Referenced by vcsn::dyn::detail::multiply_expression_repeated(), and vcsn::dyn::detail::multiply_weight_repeated().
| A& vcsn::multiply_here | ( | A & | res, |
| const B & | b | ||
| ) |
Append automaton b to res.
Definition at line 31 of file multiply.hh.
References copy(), is_standard(), make_copier(), vcsn::detail::make_vector(), and require().
Referenced by multiply().
| auto vcsn::normalize | ( | const Aut & | a | ) | -> decltype(copy(a)) |
Normalize a automaton.
Definition at line 20 of file normalize.hh.
References costandard(), and standard().
Referenced by vcsn::dyn::normalize().
| size_t vcsn::num_accessible_states | ( | const Aut & | a | ) |
Number of accessible states, not counting pre() and post().
Definition at line 90 of file accessible.hh.
References accessible_states(), has(), and set.
Referenced by info(), is_accessible(), and num_coaccessible_states().
| size_t vcsn::num_coaccessible_states | ( | const Aut & | a | ) |
Number of accessible states, not counting pre() and post().
Definition at line 105 of file accessible.hh.
References num_accessible_states(), and transpose().
Referenced by info(), and is_coaccessible().
|
inline |
Number of non-deterministic states of transpositive automaton.
Definition at line 47 of file is-deterministic.hh.
References num_deterministic_states(), and transpose().
Referenced by vcsn::detail_info::num_codeterministic_states().
|
inline |
|
inline |
|
inline |
Number of non-deterministic states.
Definition at line 33 of file is-deterministic.hh.
References is_deterministic().
Referenced by num_codeterministic_states(), and vcsn::detail_info::num_deterministic_states().
| constexpr auto vcsn::num_tapes | ( | const Ctx & | ) | -> enable_if_t<Ctx::is_lat, size_t> |
Definition at line 127 of file make-context.hh.
References vcsn::rat::size().
Referenced by vcsn::dyn::num_tapes(), and vcsn::ctx::detail::register_functions().
| size_t vcsn::num_useful_states | ( | const Aut & | a | ) |
Number of accessible states, not counting pre() and post().
Definition at line 113 of file accessible.hh.
References has(), set, and useful_states().
Referenced by info(), is_trim(), and is_useless().
| std::shared_ptr< std::istream > vcsn::open_input_file | ( | const std::string & | file | ) |
| std::shared_ptr< std::ostream > vcsn::open_output_file | ( | const std::string & | file | ) |
|
inline |
|
inline |
| std::ostream & vcsn::operator<< | ( | std::ostream & | os, |
| direction | d | ||
| ) |
Pretty-printing.
Definition at line 19 of file direction.cc.
References to_string().
|
inline |
Launch the iomanipulator action on o.
Call the operator() of g(so set, get or swap the xalloced data with data_).
Definition at line 14 of file xalloc.hxx.
| std::ostream & vcsn::operator<< | ( | std::ostream & | os, |
| const signature & | sig | ||
| ) |
Output a string, escaping special characters.
Definition at line 17 of file signature.cc.
References os, and vcsn::signature::sig.
| std::ostream & vcsn::operator<< | ( | std::ostream & | os, |
| format | i | ||
| ) |
Output in string form.
Definition at line 40 of file format.cc.
References to_string().
|
inline |
Dump p on o.
Definition at line 42 of file path.hxx.
References vcsn::path::dump().
|
inline |
Print l on o.
Definition at line 103 of file file-library.hxx.
References vcsn::file_library::dump().
| std::istream & vcsn::operator>> | ( | std::istream & | is, |
| direction & | d | ||
| ) |
Parsing.
Definition at line 24 of file direction.cc.
References backward, eat(), fail_reading(), forward, and is.
| std::istream & vcsn::operator>> | ( | std::istream & | is, |
| format & | i | ||
| ) |
| pair_automaton<Aut> vcsn::pair | ( | const Aut & | aut, |
| bool | keep_initials = false |
||
| ) |
Definition at line 243 of file pair.hh.
Referenced by vcsn::detail::epsilon_remover< Aut, has_one >::in_situ_remover_(), vcsn::detail::word_synchronizer< Aut >::init_pair(), vcsn::dyn::pair(), vcsn::ctx::detail::register_functions_is_free(), and vcsn::detail::epsilon_remover_separate< Aut, has_one >::remover_on().
| fresh_automaton_t_of<Aut, partial_identity_context_t_of<Aut> > vcsn::partial_identity | ( | const Aut & | aut | ) |
Create a partial identity transducer from aut.
Definition at line 38 of file partial-identity.hh.
References vcsn::detail::back().
Referenced by vcsn::dyn::partial_identity().
| std::vector<transition_t_of<Aut> > vcsn::path_bfs | ( | const Aut & | aut, |
| state_t_of< Aut > | start, | ||
| state_t_of< Aut > | end | ||
| ) |
A shortest path between two states.
| aut | the automaton |
| start | the starting state |
| end | the target state |
Definition at line 233 of file distance.hh.
Referenced by ambiguous_word().
| std::unordered_map<state_t_of<Aut>, std::pair<unsigned, transition_t_of<Aut> > > vcsn::paths_ibfs | ( | const Aut & | aut, |
| const std::vector< state_t_of< Aut >> & | start | ||
| ) |
Find the shortest paths from some states to all the states.
| aut | the automaton to traverse. |
| start | the states from which we reach the order states. |
Definition at line 190 of file distance.hh.
Referenced by vcsn::detail::word_synchronizer< Aut >::init_pair().
| auto vcsn::prefix | ( | const Aut & | aut | ) | -> decltype(::vcsn::copy(aut)) |
Definition at line 69 of file prefix.hh.
References copy(), and prefix_here().
Referenced by vcsn::ast::context_parser::automaton_(), vcsn::detail::synchronizer< Aut >::get_prefix(), and vcsn::dyn::prefix().
| Aut& vcsn::prefix_here | ( | Aut & | aut | ) |
Make all coaccessible states final.
Definition at line 60 of file prefix.hh.
References suffix_here(), and transpose().
Referenced by factor_here(), and prefix().
| std::ostream & vcsn::print | ( | const std::set< T, Compare, Alloc > & | set, |
| std::ostream & | o | ||
| ) |
| std::ostream& vcsn::print | ( | const Aut & | aut, |
| std::ostream & | out, | ||
| const std::string & | format | ||
| ) |
Definition at line 77 of file print.hh.
References dot(), efsm(), getargs(), info(), and tikz().
Referenced by vcsn::rat::printer< ExpSet >::operator()(), vcsn::rat::expressionset_impl< Context >::print(), vcsn::rat::printer< ExpSet >::visit_tuple< bool, Dummy >::print_(), vcsn::dyn::detail::print_expansion(), vcsn::dyn::detail::print_expression(), vcsn::dyn::detail::print_label(), vcsn::dyn::detail::print_polynomial(), vcsn::dyn::detail::print_weight(), and vcsn::ctx::detail::register_automaton_functions().
|
inline |
| auto vcsn::project | ( | const Aut & | aut | ) | -> mutable_automaton<detail::project_context<Tape, context_t_of<Aut>>> |
Definition at line 18 of file project-automaton.hh.
References copy_into(), and make_mutable_automaton().
| auto vcsn::proper | ( | const Aut & | aut, |
| direction | dir = direction::backward, |
||
| bool | prune = true, |
||
| const std::string & | algo = "auto" |
||
| ) | -> fresh_automaton_t_of<Aut, detail::proper_context<context_t_of<Aut>>> |
Eliminate spontaneous transitions.
Raise if the input automaton is invalid.
| aut | the input automaton |
| dir | whether backward or forward elimination |
| prune | whether to suppress states becoming inaccessible |
| algo | how elimination is performed "auto" same as "inplace" "default" same as "inplace" "inplace" eliminate in place "separate" first separate the automaton into spontaneous and proper parts "distance" compute all-pairs distances |
Definition at line 165 of file proper.hh.
References backward, BUILTIN_UNREACHABLE, forward, vcsn::detail::make_properer(), and transpose().
Referenced by vcsn::dyn::proper(), realtime(), and vcsn::ctx::detail::register_automaton_functions().
| auto vcsn::push_weights | ( | const Aut & | aut | ) | -> decltype(::vcsn::copy(aut)) |
The algorithm weight pushing.
1) Calculate shortest distance each state s to final states. 2) Update the weight of each transition by using shortest distance.
Definition at line 44 of file push-weights.hh.
References copy(), and shortest_distance_to_finals().
Referenced by vcsn::dyn::push_weights(), and vcsn::ctx::detail::register_functions().
|
inline |
Definition at line 124 of file quotient.hh.
Referenced by minimize_moore(), minimize_signature(), and minimize_weighted().
|
inline |
Raise a runtime_error with the concatenation of args as message.
Definition at line 62 of file raise.hh.
References vcsn::detail::print_(), and vcsn::detail::void.
| mutable_automaton<Ctx> vcsn::random_automaton | ( | const Ctx & | ctx, |
| unsigned | num_states, | ||
| float | density = 0.1, |
||
| unsigned | num_initial = 1, |
||
| unsigned | num_final = 1, |
||
| float | loop_chance = 0.0 |
||
| ) |
Definition at line 99 of file random.hh.
References vcsn::rat::ctx(), vcsn::random_selector< RandomGenerator >::pop(), random_label(), and require().
Referenced by vcsn::dyn::random_automaton(), and vcsn::ctx::detail::register_functions().
| mutable_automaton<Ctx> vcsn::random_automaton_deterministic | ( | const Ctx & | ctx, |
| unsigned | num_states | ||
| ) |
Definition at line 259 of file random.hh.
References vcsn::rat::ctx(), and require().
Referenced by vcsn::dyn::random_automaton_deterministic(), and vcsn::ctx::detail::register_functions_is_free().
| oneset::value_t vcsn::random_label | ( | const oneset & | ls, |
| RandomGenerator & | = RandomGenerator() |
||
| ) |
Definition at line 19 of file random.hh.
References vcsn::oneset::one().
Referenced by random_automaton(), and random_label().
| tupleset<LabelSet...>::value_t vcsn::random_label | ( | const tupleset< LabelSet...> & | ls, |
| RandomGenerator & | gen = RandomGenerator() |
||
| ) |
Definition at line 28 of file random.hh.
References random_label().
| tupleset<LabelSet...>::value_t vcsn::random_label | ( | const tupleset< LabelSet...> & | ls, |
| RandomGenerator & | gen, | ||
| detail::index_sequence< I...> | |||
| ) |
Definition at line 38 of file random.hh.
References random_label().
| wordset<GenSet>::value_t vcsn::random_label | ( | const wordset< GenSet > & | ls, |
| RandomGenerator & | gen = RandomGenerator() |
||
| ) |
Definition at line 48 of file random.hh.
References vcsn::detail::genset_labelset< GenSet >::genset(), make_random_selector(), vcsn::detail::genset_labelset< GenSet >::mul(), vcsn::wordset< GenSet >::one(), and vcsn::wordset< GenSet >::value().
| LabelSet::value_t vcsn::random_label | ( | const LabelSet & | ls, |
| RandomGenerator & | gen = RandomGenerator() |
||
| ) |
Definition at line 62 of file random.hh.
References make_random_selector().
| nullableset<LabelSet>::value_t vcsn::random_label | ( | const nullableset< LabelSet > & | ls, |
| RandomGenerator & | gen = RandomGenerator() |
||
| ) |
Definition at line 73 of file random.hh.
References vcsn::nullableset< LabelSet >::labelset(), vcsn::nullableset< LabelSet >::one(), random_label(), and vcsn::nullableset< LabelSet >::value().
| expressionset<Context>::value_t vcsn::random_label | ( | const expressionset< Context > & | rs, |
| RandomGenerator & | gen = RandomGenerator() |
||
| ) |
Definition at line 87 of file random.hh.
References random_label().
|
inline |
Right-division of values.
Definition at line 100 of file divide.hh.
Referenced by vcsn::detail::tupleset_impl< ValueSets >::rdiv_().
|
inline |
Definition at line 20 of file read.hh.
References vcsn::rat::ctx(), and is.
Referenced by vcsn::ctx::detail::register_functions().
|
inline |
Definition at line 51 of file read.hh.
References conv(), vcsn::rat::ctx(), and is.
Referenced by vcsn::ctx::detail::register_functions().
|
inline |
Definition at line 82 of file read.hh.
References vcsn::rat::ctx(), and is.
Referenced by vcsn::ctx::detail::register_functions().
| auto vcsn::realtime | ( | const Aut & | aut | ) | -> decltype(proper(::vcsn::letterize(aut))) |
Split the word transitions in the input automaton into letter ones, and remove the spontaneous transitions.
| [in] | aut | the automaton |
Definition at line 220 of file letterize.hh.
References letterize(), and proper().
Referenced by are_equivalent(), and vcsn::dyn::realtime().
| auto vcsn::reduce | ( | const Aut & | input | ) | -> decltype(copy(input)) |
Definition at line 608 of file reduce.hh.
References left_reduce(), and transpose().
|
inline |
If b is not verified, raise an error with args as message.
Definition at line 75 of file raise.hh.
Referenced by vcsn::edit_automaton< Aut >::add_entry(), vcsn::set_alphabet< L >::add_letter(), ambiguous_word(), cerny(), complement_here(), conv(), vcsn::detail::min_plus_impl< unsigned int >::conv(), vcsn::detail::f2_impl::conv(), vcsn::oneset::conv(), vcsn::detail::b_impl::conv(), vcsn::letterset< GenSet >::conv(), vcsn::wordset< GenSet >::conv(), vcsn::detail::q_impl::conv(), vcsn::detail::polynomialset_impl< Context, Kind >::conv_label(), vcsn::detail::polynomialset_impl< Context, Kind >::conv_monomial(), vcsn::detail::genset_labelset< GenSet >::convs_classes_(), de_bruijn(), derivation(), derived_term(), vcsn::detail::word_synchronizer< Aut >::dest_state(), divkbaseb(), double_ring(), eat(), eliminate_state(), vcsn::rat::expressionset_impl< Context >::expressionset_impl(), vcsn::detail::gcd(), vcsn::ast::context_parser::genset_(), vcsn::dyn::detail::Registry< Fun >::get(), get_char(), get_file_contents(), vcsn::are_isomorphicer< Aut1, Aut2 >::get_full_response(), vcsn::detail::genset_labelset< GenSet >::get_letter(), vcsn::detail::pair_automaton_impl< Aut >::get_origin(), vcsn::set_alphabet< L >::get_word(), has_twins_property(), vcsn::detail::product_automaton_impl< Aut, Auts >::infiltration(), vcsn::detail::word_synchronizer< Aut >::init_synchro(), is_synchronized_by(), ladybird(), vcsn::rat::expressionset_impl< Context >::letter_class_(), vcsn::detail::z_impl::lgcd(), vcsn::detail::r_impl::lgcd(), vcsn::detail::b_impl::lgcd(), vcsn::detail::q_impl::lgcd(), vcsn::rat::driver::make_label(), vcsn::rat::driver::make_weight(), vcsn::detail_moore::minimizer< Aut >::minimizer(), vcsn::detail_weighted::minimizer< Aut >::minimizer(), vcsn::detail_signature::minimizer< Aut >::minimizer(), multiply(), multiply_here(), vcsn::detail::state_eliminator< Aut, Profiler >::operator()(), vcsn::are_isomorphicer< Aut1, Aut2 >::origins(), vcsn::detail::dot::driver::parse(), vcsn::detail::dot::parser::parse(), vcsn::detail::properer< Aut >::proper_star(), random_automaton(), random_automaton_deterministic(), vcsn::detail::min_plus_impl< unsigned int >::rdiv(), vcsn::detail::log_impl::rdiv(), vcsn::detail::f2_impl::rdiv(), vcsn::detail::qmp_impl::rdiv(), vcsn::detail::z_impl::rdiv(), vcsn::detail::b_impl::rdiv(), vcsn::detail::r_impl::rdiv(), vcsn::detail::q_impl::rdiv(), vcsn::dyn::read_efsm(), vcsn::detail::f2_impl::star(), star_here(), sum_here(), u(), and zpc().
| std::ostream & vcsn::resetindent | ( | std::ostream & | o | ) |
Reset the indentation.
Definition at line 34 of file indent.cc.
References vcsn::detail::indentation.
|
inline |
Get all states in reverse postorder.
Definition at line 96 of file scc.hh.
References vcsn::detail::reverse_postorder_impl< Aut >::reverse_post().
|
inline |
Definition at line 204 of file left-mult.hh.
References copy(), and right_mult_here().
Referenced by vcsn::ctx::detail::register_functions(), and vcsn::dyn::detail::right_mult_expression().
|
inline |
Definition at line 240 of file left-mult.hh.
|
inline |
Definition at line 196 of file left-mult.hh.
References vcsn::detail::standard_operations< Aut >::right_mult_here().
Referenced by right_mult(), and vcsn::dyn::right_mult().
| bool vcsn::same_domain | ( | const Container & | x, |
| const Container & | y | ||
| ) |
Check that two associative containers have the same keys.
Definition at line 165 of file algorithm.hh.
|
inline |
Get scc_automaton from aut.
Definition at line 633 of file scc.hh.
Referenced by vcsn::detail::scc_dijkstra_impl< Aut >::dfs(), and info().
|
inline |
Definition at line 471 of file scc.hh.
References dijkstra, kosaraju, str_escape(), tarjan_iterative, and tarjan_recursive.
| std::set<T, Compare, Alloc> vcsn::set_difference | ( | const std::set< T, Compare, Alloc > & | set1, |
| const std::set< T, Compare, Alloc > & | set2 | ||
| ) |
The set of members of set1 that are not members of set2.
Definition at line 35 of file set.hh.
Referenced by vcsn::detail::genset_labelset< GenSet >::convs_classes_().
|
inline |
The approximated behavior of an automaton.
| aut | the automaton whose behavior to approximate |
| num | number of words looked for. |
| len | maximum length of words looked for. |
Definition at line 246 of file shortest.hh.
Referenced by enumerate(), and vcsn::ctx::detail::register_functions_is_free().
| weight_t_of<Aut> vcsn::shortest_distance_to_finals | ( | Aut | aut, |
| state_t_of< Aut > | s0 | ||
| ) |
Find shorhest of s0 to the final states of aut by using single source shortest distance.
Definition at line 18 of file push-weights.hh.
References ss_shortest_distance().
Referenced by push_weights(), and shortest_distance_to_finals().
| std::unordered_map<state_t_of<Aut>, weight_t_of<Aut> > vcsn::shortest_distance_to_finals | ( | Aut | aut | ) |
Find all shortest distances of each state to the final states of aut.
Definition at line 28 of file push-weights.hh.
References shortest_distance_to_finals().
|
inline |
The (accessible part of the) shuffle product.
Definition at line 634 of file conjunction.hh.
References vcsn::detail::join_automata(), and make_product_automaton().
Referenced by info(), vcsn::dyn::detail::shuffle_(), and vcsn::dyn::detail::shuffle_expression().
|
inline |
Shuffle product of expressions.
Definition at line 678 of file conjunction.hh.
| symbol vcsn::sname | ( | ) |
Definition at line 67 of file name.hh.
References vcsn::snamer< T >::name().
Referenced by vcsn::detail::label_one(), vcsn::dyn::make_context(), vcsn::set_alphabet< L >::sname(), vcsn::detail::genset_labelset< GenSet >::sname(), vcsn::detail::permutation_automaton_impl< Aut >::sname(), vcsn::detail::name_automaton_impl< Aut >::sname(), vcsn::detail::filter_automaton_impl< Aut >::sname(), vcsn::detail::expression_automaton_impl< Aut >::sname(), vcsn::rat::expansionset< expressionset_t >::sname(), vcsn::detail::transpose_automaton_impl< Aut >::sname(), vcsn::detail::partition_automaton_impl< Aut >::sname(), vcsn::detail::delay_automaton_impl< Aut >::sname(), vcsn::context< Tape, full_context_t >::sname(), vcsn::detail::determinized_automaton_impl< Aut >::sname(), vcsn::rat::expressionset_impl< Context >::sname(), vcsn::detail::synchronized_automaton_impl< Aut >::sname(), vcsn::detail::polynomialset_impl< Context, Kind >::sname(), vcsn::detail::mutable_automaton_impl< Context >::sname(), vcsn::detail::focus_automaton_impl< Tape, Aut >::sname(), vcsn::detail::pair_automaton_impl< Aut >::sname(), vcsn::nullableset< LabelSet >::sname(), vcsn::detail::detweighted_automaton_impl< Aut >::sname(), vcsn::detail::scc_automaton_impl< Aut >::sname(), vcsn::detail::tuple_automaton_impl< Aut, Auts >::sname_(), and vcsn::detail::tupleset_impl< ValueSets >::sname_().
| symbol vcsn::sname | ( | T & | ) |
Definition at line 73 of file name.hh.
Referenced by vcsn::snamer< T >::name().
|
inline |
Definition at line 163 of file sort.hh.
Referenced by vcsn::detail::outputter< Aut >::finals_(), vcsn::detail::outputter< Aut >::initials_(), vcsn::are_isomorphicer< Aut1, Aut2 >::make_state_classes(), vcsn::detail_signature::minimizer< Aut >::minimizer(), vcsn::detail::outputter< Aut >::output_state_(), vcsn::detail::efsmer< Aut >::output_transitions_(), vcsn::ctx::detail::register_functions(), vcsn::dyn::detail::Registry< Fun >::signatures(), vcsn::dyn::sort(), and vcsn::detail::quotienter< Aut >::sort_classes_().
|
inline |
Split an expression.
Definition at line 264 of file split.hh.
Referenced by derivation(), vcsn::detail::derived_termer< ExpSet >::init_(), vcsn::ctx::detail::register_functions(), split_polynomial(), and vcsn::detail::derived_termer< ExpSet >::via_expansion().
|
inline |
Split a polynomial of expressions, given the expressionset.
Definition at line 308 of file split.hh.
References vcsn::rat::make_expression_polynomialset(), and split_polynomial().
|
inline |
Split a polynomial of expressions, given the polynomialset.
Definition at line 292 of file split.hh.
References label_of(), vcsn::detail::rs, split(), and weight_of().
Referenced by split().
| std::vector<weight_t_of<Aut> > vcsn::ss_shortest_distance | ( | const Aut & | aut, |
| state_t_of< Aut > | s0 | ||
| ) |
Single source shortest distance.
Find shortest (weighted) path from state s0 to all states of automaton aut.
Definition at line 28 of file distance.hh.
References has(), and vcsn::weightset_mixin< WeightSet >::mul().
Referenced by shortest_distance_to_finals().
|
inline |
| auto vcsn::standard | ( | const Aut & | aut | ) | -> decltype(copy(aut)) |
Definition at line 116 of file standard.hh.
References copy(), and standard_here().
Referenced by costandard(), normalize(), vcsn::ctx::detail::register_functions(), standard(), vcsn::dyn::standard(), and vcsn::dyn::to_automaton().
| Aut vcsn::standard | ( | const ExpSet & | rs, |
| const typename ExpSet::value_t & | r | ||
| ) |
Build a standard automaton from an expression.
| Aut | relative to the generated automaton. |
| ExpSet | relative to the expression. |
Definition at line 380 of file standard.hh.
References standard().
| void vcsn::standard_here | ( | Aut & | aut | ) |
Turn aut into a standard automaton.
| Aut | an automaton type, not a pointer type. |
Definition at line 81 of file standard.hh.
References is_standard().
Referenced by standard().
| fresh_automaton_t_of<Aut> vcsn::star | ( | const Aut & | aut | ) |
Star of a standard automaton.
Definition at line 60 of file star.hh.
References copy(), and star_here().
Referenced by info(), multiply(), vcsn::dyn::star(), and vcsn::detail::tupleset_impl< ValueSets >::star_().
|
inline |
Star height of an expression.
Definition at line 100 of file star-height.hh.
Referenced by vcsn::ctx::detail::register_functions().
| Aut& vcsn::star_here | ( | Aut & | res | ) |
In-place star of a standard automaton.
See standard_visitor::visit(star).
Definition at line 20 of file star.hh.
References is_standard(), and require().
Referenced by star().
|
inline |
Star-normal form of an expression.
Definition at line 185 of file star-normal-form.hh.
| std::ostream & vcsn::str_escape | ( | std::ostream & | os, |
| const std::string & | str | ||
| ) |
Output a string, escaping special characters.
Definition at line 43 of file escape.cc.
References os.
Referenced by vcsn::ast::context_parser::automaton_(), bracketed(), conv(), vcsn::detail::min_plus_impl< unsigned int >::conv(), vcsn::letterset< GenSet >::conv(), vcsn::wordset< GenSet >::conv(), vcsn::detail::polynomialset_impl< Context, Kind >::conv_label(), eat(), fail_reading(), vcsn::detail::genset_labelset< GenSet >::get_letter(), vcsn::set_alphabet< L >::get_word(), vcsn::ast::context_parser::labelset_(), make_context(), minimize(), vcsn::dyn::print(), vcsn::detail::print_(), scc_algo(), str_escape(), synchronizing_word(), and vcsn::ast::context_parser::weightset_().
| std::string vcsn::str_escape | ( | const std::string & | c | ) |
Likewise, but produces a string.
Definition at line 58 of file escape.cc.
References str_escape().
| std::ostream & vcsn::str_escape | ( | std::ostream & | os, |
| int | c | ||
| ) |
| std::string vcsn::str_escape | ( | int | c | ) |
Likewise, but produces a string.
Definition at line 35 of file escape.cc.
References str_escape().
|
inline |
Definition at line 262 of file string.hh.
References vcsn::string_letters::special_letter().
|
inline |
Definition at line 270 of file string.hh.
References vcsn::string_letters::special_letter().
|
inline |
Remove (all) the decorations from a decorated automaton.
Definition at line 37 of file strip.hh.
References vcsn::detail::strip().
Referenced by are_equivalent(), difference(), and vcsn::dyn::strip().
|
inline |
Find all strongly connected components of aut.
Definition at line 491 of file scc.hh.
References BUILTIN_UNREACHABLE, vcsn::detail::scc_dijkstra_impl< Aut >::components(), vcsn::detail::scc_kosaraju_impl< Aut >::components(), vcsn::detail::scc_tarjan_iterative_impl< Aut >::components(), vcsn::detail::scc_tarjan_recursive_impl< Aut >::components(), dijkstra, kosaraju, tarjan_iterative, and tarjan_recursive.
Referenced by has_twins_property(), is_cycle_ambiguous(), is_cycle_ambiguous_scc(), and vcsn::detail::scc_automaton_impl< Aut >::scc_automaton_impl().
| bool vcsn::subset | ( | const Container & | set1, |
| const Container & | set2 | ||
| ) |
Whether set1 ⊆ set2.
Definition at line 78 of file set.hxx.
Referenced by vcsn::detail::universaler< Aut >::work_().
| auto vcsn::subword | ( | const Aut & | aut | ) | -> fresh_automaton_t_of<Aut, detail::nullableset_context_t<context_t_of<Aut>>> |
Apply subword_here() to a copy of aut.
Definition at line 158 of file prefix.hh.
References copy_into(), vcsn::detail::make_nullableset_context(), and subword_here().
Referenced by vcsn::dyn::subword().
| Aut& vcsn::subword_here | ( | Aut & | aut | ) |
| auto vcsn::suffix | ( | const Aut & | aut | ) | -> decltype(::vcsn::copy(aut)) |
Definition at line 29 of file prefix.hh.
References copy(), and suffix_here().
Referenced by vcsn::detail::synchronizer< Aut >::get_prefix(), and vcsn::dyn::suffix().
| Aut& vcsn::suffix_here | ( | Aut & | aut | ) |
Make all accessible states initial.
Definition at line 17 of file prefix.hh.
References accessible_states().
Referenced by factor_here(), prefix_here(), and suffix().
|
inline |
Definition at line 64 of file sum.hh.
References vcsn::detail::join_automata(), and sum_here().
Referenced by info(), multiply(), vcsn::are_isomorphicer< Aut1, Aut2 >::print_class_stats(), vcsn::dyn::sum(), and vcsn::dyn::detail::sum_expression().
|
inline |
| A& vcsn::sum_here | ( | A & | res, |
| const B & | b | ||
| ) |
Merge transitions of b into those of res.
Definition at line 27 of file sum.hh.
References is_standard(), and require().
Referenced by sum().
| auto vcsn::synchronize | ( | const Aut & | aut | ) | -> decltype(detail::synchronize(aut)) |
Synchronize the transducer.
| [in] | aut | the transducer |
Definition at line 352 of file synchronize.hh.
References vcsn::dyn::detail::synchronize().
Referenced by vcsn::dyn::synchronize().
| word_t_of<Aut> vcsn::synchronizing_word | ( | const Aut & | aut, |
| const std::string & | algo = "greedy" |
||
| ) |
Return a synchronizing word for aut using algo algo.
Definition at line 411 of file synchronizing-word.hh.
References vcsn::detail::word_synchronizer< Aut >::cycle(), vcsn::detail::word_synchronizer< Aut >::fastsynchro(), vcsn::detail::word_synchronizer< Aut >::greedy(), str_escape(), vcsn::detail::word_synchronizer< Aut >::synchroP(), and vcsn::detail::word_synchronizer< Aut >::synchroPL().
Referenced by vcsn::ctx::detail::register_functions_is_free(), and vcsn::dyn::synchronizing_word().
|
inline |
Build a Thompson automaton from an expression.
| Aut | relative to the generated automaton. |
| ExpSet | relative to the expression. |
Definition at line 176 of file thompson.hh.
References vcsn::rat::ctx().
Referenced by vcsn::ctx::detail::register_functions(), thompson(), and vcsn::dyn::to_automaton().
|
inline |
Build a Thompson automaton from an expression.
| Aut | relative to the generated automaton. |
| ExpSet | relative to the expression. |
Definition at line 190 of file thompson.hh.
References thompson().
| std::ostream& vcsn::tikz | ( | const AutPtr & | aut, |
| std::ostream & | out | ||
| ) |
| rat::expansionset< ExpSet >::value_t vcsn::to_expansion | ( | const ExpSet & | rs, |
| const typename ExpSet::value_t & | e | ||
| ) |
First order expansion.
Definition at line 413 of file to-expansion.hh.
Referenced by vcsn::ctx::detail::register_functions(), vcsn::detail::derived_termer< ExpSet >::via_expansion(), and vcsn::rat::to_expansion_visitor< ExpSet >::visit_tuple< bool, Dummy >::work_().
| ExpSet::value_t vcsn::to_expression | ( | Aut & | a, |
| Profiler & | profiler | ||
| ) |
Definition at line 471 of file to-expression.hh.
References vcsn::detail::make_state_eliminator().
Referenced by vcsn::ctx::detail::register_functions().
| ExpSet::value_t vcsn::to_expression | ( | const Aut & | aut, |
| vcsn::rat::identities | ids, | ||
| to_expression_heuristic_t | algo | ||
| ) |
Definition at line 525 of file to-expression.hh.
References best, delgado, delgado_label, vcsn::rat::ids(), and naive.
| ExpSet::value_t vcsn::to_expression | ( | const Aut & | a, |
| vcsn::rat::identities | ids, | ||
| const std::string & | algo | ||
| ) |
Definition at line 555 of file to-expression.hh.
References best, delgado, delgado_label, getargs(), vcsn::rat::ids(), and naive.
| ExpressionSet::value_t vcsn::to_expression | ( | const ExpressionSet & | rs, |
| const letter_class_t & | letters, | ||
| bool | accept = true |
||
| ) |
An expression matching one letter in a letter class.
| rs | The expressionset to use. |
| letters | The letter class as a set of ranges. |
| accept | Whether to accept these characters ([abc]) as opposed to refusing them ([^abc]). |
Definition at line 675 of file to-expression.hh.
References vcsn::detail::letter_class_impl().
Referenced by vcsn::dyn::to_expression().
| ExpSet::value_t vcsn::to_expression_heuristic | ( | const Aut & | aut, |
| vcsn::rat::identities | ids, | ||
| to_expression_heuristic_t | algo | ||
| ) |
Definition at line 489 of file to-expression.hh.
References best, BUILTIN_UNREACHABLE, delgado, delgado_label, lift(), and naive.
| std::string vcsn::to_string | ( | direction | d | ) |
Conversion to string.
Definition at line 7 of file direction.cc.
References backward, BUILTIN_UNREACHABLE, and forward.
Referenced by vcsn::oneset::conv(), vcsn::detail::qmp_impl::hash(), vcsn::detail::outputter< Aut >::label_(), vcsn::nullableset< LabelSet >::ldiv(), vcsn::detail::polynomialset_impl< Context, Kind >::ldiv(), operator<<(), vcsn::detail::dotter< Aut >::print_transitions_(), vcsn::detail::polynomialset_impl< Context, Kind >::rdiv(), vcsn::lazy_automaton_editor::result_context(), vcsn::detail::min_plus_impl< unsigned int >::star(), vcsn::detail::qmp_impl::star(), vcsn::detail::z_impl::star(), vcsn::detail::q_impl::star(), vcsn::detail::polynomialset_impl< Context, Kind >::star(), and vcsn::detail::polynomialset_impl< Context, Kind >::sub_here().
| std::string vcsn::to_string | ( | format | i | ) |
Wrapper around operator<<.
Definition at line 26 of file format.cc.
References BUILTIN_UNREACHABLE, vcsn::format::kind(), vcsn::format::latex, vcsn::format::raw, and vcsn::format::text.
|
inline |
| ExpSet::value_t vcsn::transpose | ( | const ExpSet & | rs, |
| const typename ExpSet::value_t & | v | ||
| ) |
A expression that denotes the transposition of v.
Works deeply, contrary to transposition() that merely applies the {T} operator.
Definition at line 177 of file transpose.hh.
|
inline |
Definition at line 235 of file transpose.hh.
Referenced by vcsn::detail::mutable_automaton_impl< Context >::add_transition_copy(), coaccessible_states(), cominimize(), cominimize_brzozowski(), costandard(), is_codeterministic(), is_costandard(), num_coaccessible_states(), num_codeterministic_states(), prefix_here(), proper(), reduce(), vcsn::ctx::detail::register_functions(), vcsn::detail::trie_builder< Context, Dir >::result(), and vcsn::detail::universaler< Aut >::work_().
|
inline |
Definition at line 243 of file transpose.hh.
| mutable_automaton<detail::free_context<context_t_of<PolynomialSet> > > vcsn::trie | ( | const PolynomialSet & | ps, |
| const typename PolynomialSet::value_t & | p | ||
| ) |
| mutable_automaton<detail::free_context<context_t_of<PolynomialSet> > > vcsn::trie | ( | const PolynomialSet & | ps, |
| std::istream & | is | ||
| ) |
| filter_automaton<Aut> vcsn::trim | ( | const Aut & | a | ) |
Useful part of an automaton.
Definition at line 150 of file accessible.hh.
References filter(), and useful_states().
Referenced by has_twins_property(), vcsn::ctx::detail::register_functions(), and vcsn::dyn::trim().
|
inline |
Definition at line 28 of file tuple.hh.
Referenced by info(), and vcsn::dyn::detail::tuple_().
| auto vcsn::tuple_context | ( | Ctx &&... | ctx | ) | -> context<tupleset<labelset_t_of<Ctx>...>, join_t<weightset_t_of<Ctx>...>> |
Definition at line 11 of file tuple.hh.
References vcsn::rat::ctx(), join(), and vcsn::detail::make_tupleset().
Referenced by tuple_expressionset().
| auto vcsn::tuple_expressionset | ( | const ExpSets &... | rss | ) | -> expressionset<decltype(tuple_context(rss.context()...))> |
Definition at line 40 of file tuple.hh.
References vcsn::rat::ctx(), vcsn::rat::ids(), join(), and tuple_context().
Referenced by vcsn::dyn::detail::tuple_().
| mutable_automaton<Context> vcsn::u | ( | const Context & | ctx, |
| unsigned | n | ||
| ) |
The Brzozowski universal witness.
Definition at line 17 of file u.hh.
References vcsn::rat::ctx(), and require().
Referenced by vcsn::ctx::detail::register_functions_is_free(), vcsn::ctx::detail::register_kind_functions(), and vcsn::dyn::u().
|
inline |
Union of two automata.
Definition at line 32 of file union.hh.
References vcsn::detail::join_automata(), and union_here().
Referenced by vcsn::ctx::detail::register_functions(), and vcsn::dyn::union_a().
|
inline |
Merge transitions of b into those of res.
Definition at line 22 of file union.hh.
References copy_into().
Referenced by union_a().
|
inline |
Definition at line 124 of file universal.hh.
Referenced by vcsn::dyn::universal().
| states_t<Aut> vcsn::useful_states | ( | const Aut & | a, |
| bool | strict = true |
||
| ) |
The set of useful states, including possibly pre() and post().
| a | the automaton. |
| strict | whether to evaluate lazy states. |
Definition at line 75 of file accessible.hh.
References accessible(), accessible_states(), coaccessible(), coaccessible_states(), and intersection().
Referenced by num_useful_states(), and trim().
| vcsn::VCSN_CTX_INSTANTIATE | ( | ctx::lal_char_q | ) |
| vcsn::VCSN_CTX_INSTANTIATE | ( | ctx::lal_char_zr | ) |
| vcsn::VCSN_CTX_INSTANTIATE | ( | ctx::law_char_zr | ) |
| vcsn::VCSN_CTX_INSTANTIATE | ( | ctx::law_char_br | ) |
| vcsn::VCSN_CTX_INSTANTIATE | ( | ctx::law_char_zrr | ) |
| vcsn::VCSN_CTX_INSTANTIATE | ( | ctx::lal_char_zrr | ) |
| vcsn::VCSN_CTX_INSTANTIATE | ( | ctx::lal_char_br | ) |
| vcsn::VCSN_CTX_INSTANTIATE | ( | ctx::lal_char_b | ) |
| symbol vcsn::vname | ( | T & | t | ) |
Definition at line 101 of file name.hh.
References vcsn::vnamer< T >::name().
Referenced by vcsn::dyn::lift(), vcsn::vnamer< const std::vector< dyn::expression > >::name(), vcsn::vnamer< const std::vector< dyn::automaton > >::name(), and vsignature().
|
inline |
The signature of (Args...).
Definition at line 287 of file name.hh.
References vname().
Referenced by vcsn::dyn::detail::Registry< Fun >::call().
|
inline |
The approximated behavior of an automaton.
| aut | the automaton whose behavior to approximate |
Definition at line 180 of file lightest.hh.
References lightest().
| auto vcsn::weight_of | ( | const welement< Label, Weight > & | m | ) | -> decltype(m.weight()) |
Definition at line 132 of file wet.hh.
Referenced by vcsn::detail::trie_builder< Context, Dir >::add(), vcsn::edit_automaton< Aut >::add_entry(), vcsn::detail::polynomialset_impl< Context, Kind >::add_here(), vcsn::rat::split_visitor< ExpSet >::conjunction(), vcsn::detail::polynomialset_impl< Context, Kind >::conjunction(), vcsn::detail::polynomialset_impl< Context, Kind >::conv(), derivation(), vcsn::detail::polynomialset_impl< Context, Kind >::get_weight(), vcsn::detail::polynomialset_impl< Context, Kind >::hash(), vcsn::detail::polynomialset_impl< Context, Kind >::infiltration(), vcsn::detail::derived_termer< ExpSet >::init_(), vcsn::detail::polynomialset_impl< Context, Kind >::ldiv(), vcsn::detail::polynomialset_impl< Context, Kind >::ldiv_here(), vcsn::detail::polynomialset_impl< Context, Kind >::lmul(), vcsn::detail::polynomialset_impl< Context, Kind >::lmul_label(), vcsn::detail::polynomialset_impl< Context, Kind >::monomial_equal(), vcsn::detail::polynomialset_impl< Context, Kind >::monomial_less(), vcsn::detail::polynomialset_impl< Context, Kind >::mul(), vcsn::detail::polynomialset_impl< Context, Kind >::mul_impl(), vcsn::detail::polynomialset_impl< Context, Kind >::norm_< WeightSet, Dummy >::operator()(), vcsn::detail::polynomialset_impl< Context, Kind >::norm_< z, Dummy >::operator()(), vcsn::detail::polynomialset_impl< Context, Kind >::norm_< polynomialset< Ctx, Knd >, Dummy >::operator()(), vcsn::detail::polynomialset_impl< Context, Kind >::print_with_classes_(), vcsn::rat::split_visitor< ExpSet >::product(), vcsn::detail::polynomialset_impl< Context, Kind >::rdiv_here(), vcsn::detail::polynomialset_impl< Context, Kind >::rmul(), vcsn::detail::polynomialset_impl< Context, Kind >::rmul_label(), vcsn::detail::polynomialset_impl< Context, Kind >::scalar_product(), split_polynomial(), vcsn::detail::polynomialset_impl< Context, Kind >::sub_here(), vcsn::detail::polynomialset_impl< Context, Kind >::to_label(), vcsn::detail::polynomialset_impl< Context, Kind >::transpose(), vcsn::rat::expand_visitor< ExpSet >::VCSN_RAT_VISIT(), vcsn::rat::derivation_visitor< ExpSet >::VCSN_RAT_VISIT(), vcsn::rat::to_expansion_visitor< ExpSet >::VCSN_RAT_VISIT(), vcsn::detail::derived_termer< ExpSet >::via_derivation(), vcsn::detail::derived_termer< ExpSet >::via_expansion(), vcsn::detail::wet_bitset::wet_bitset(), and vcsn::detail::wet_set< Key, Compare >::wet_set().
| const Weight& vcsn::weight_of | ( | const std::pair< Label, Weight > & | m | ) |
|
inline |
Definition at line 13 of file weight-series.hh.
| void vcsn::weight_set | ( | welement< Label, Weight > & | m, |
| const Weight & | w | ||
| ) |
Definition at line 139 of file wet.hh.
References vcsn::detail::welement_weight< Weight >::weight().
Referenced by vcsn::detail::polynomialset_impl< Context, Kind >::ldiv_here(), vcsn::detail::polynomialset_impl< Context, Kind >::rdiv_here(), and vcsn::detail::polynomialset_impl< Context, Kind >::sub_here().
| void vcsn::weight_set | ( | std::pair< Label, Weight > & | m, |
| const Weight & | w | ||
| ) |
| zip_sequences<Sequences...> vcsn::zip | ( | Sequences &&... | seqs | ) |
| zipped_maps<Dereference, Maps...> vcsn::zip_map_tuple | ( | const std::tuple< Maps...> & | maps | ) |
Definition at line 257 of file zip-maps.hh.
Referenced by vcsn::detail::product_automaton_impl< Aut, Auts >::add_conjunction_transitions().
| zipped_maps<Dereference, Maps...> vcsn::zip_maps | ( | Maps &&... | maps | ) |
Definition at line 250 of file zip-maps.hh.
Referenced by vcsn::detail::composer< Lhs, Rhs >::add_compose_transitions(), vcsn::detail::pair_automaton_impl< Aut >::pair_automaton_impl(), and vcsn::rat::to_expansion_visitor< ExpSet >::VCSN_RAT_VISIT().
| zip_sequences<Sequences...> vcsn::zip_tuple | ( | const std::tuple< Sequences...> & | seqs | ) |
| zip_sequences_padded<zip_sequences<Sequences...> > vcsn::zip_with_padding | ( | const std::tuple< typename Sequences::value_type...> & | pad, |
| const Sequences &... | seq | ||
| ) |
|
inline |
Build a ZPC automaton from an expression.
| Aut | relative to the generated automaton. |
| ExpSet | relative to the expression. |
Definition at line 335 of file zpc.hh.
References vcsn::rat::ctx(), require(), and vcsn::detail::rs.
Referenced by vcsn::dyn::to_automaton().
| std::ostream vcsn::cnull {nullptr} |
| vcsn::v |
Definition at line 65 of file functional.hh.
Referenced by vcsn::detail::r_impl::abs(), vcsn::rat::variadic< Type, Context >::accept(), vcsn::rat::unary< Type, Context >::accept(), vcsn::rat::weight_node< Type, Context >::accept(), vcsn::rat::constant< Type, Context >::accept(), vcsn::rat::atom< Context >::accept(), vcsn::detail::polynomialset_impl< Context, Kind >::add_here(), vcsn::rat::expressionset_impl< Context >::tuple_of_label< Dummy >::as_label_(), vcsn::detail::dot::parser::basic_symbol< Base >::basic_symbol(), vcsn::rat::parser::basic_symbol< Base >::basic_symbol(), vcsn::detail::nmin_impl::conv(), vcsn::detail::rmin_impl::conv(), vcsn::detail::zmin_impl::conv(), vcsn::detail::log_impl::conv(), vcsn::detail::f2_impl::conv(), vcsn::detail::qmp_impl::conv(), vcsn::oneset::conv(), vcsn::detail::z_impl::conv(), vcsn::detail::b_impl::conv(), vcsn::detail::r_impl::conv(), vcsn::detail::q_impl::conv(), vcsn::letterset< GenSet >::conv(), vcsn::wordset< GenSet >::conv(), vcsn::nullableset< LabelSet >::conv(), vcsn::rat::expressionset_impl< Context >::conv(), vcsn::detail::tupleset_impl< ValueSets >::conv(), vcsn::detail::polynomialset_impl< Context, Kind >::conv(), vcsn::detail::tupleset_impl< ValueSets >::conv_(), vcsn::detail::polynomialset_impl< Context, Kind >::del_weight(), vcsn::rat::printer< ExpSet >::for(), vcsn::detail::nullable_helper< LabelSet >::get_value(), vcsn::detail::nullable_helper< letterset< GenSet > >::get_value(), vcsn::detail::polynomialset_impl< Context, Kind >::get_weight(), vcsn::rat::expressionset_impl< Context >::hash(), vcsn::detail::polynomialset_impl< Context, Kind >::hash(), vcsn::rat::info< ExpSet >::visit_tuple< bool, Dummy >::info_(), vcsn::rat::printer< ExpSet >::is_letter_(), vcsn::detail::f2_impl::is_one(), vcsn::detail::b_impl::is_one(), vcsn::rat::expressionset_impl< Context >::is_one(), vcsn::detail::polynomialset_impl< Context, Kind >::is_one(), vcsn::letterset< GenSet >::is_special(), vcsn::rat::printer< ExpSet >::is_word_(), vcsn::detail::f2_impl::is_zero(), vcsn::detail::b_impl::is_zero(), vcsn::rat::expressionset_impl< Context >::is_zero(), vcsn::detail::polynomialset_impl< Context, Kind >::ldiv_here(), vcsn::letterset< GenSet >::letters_of(), vcsn::wordset< GenSet >::letters_of(), vcsn::nullableset< LabelSet >::letters_of(), vcsn::letterset< GenSet >::letters_of_padded(), vcsn::wordset< GenSet >::letters_of_padded(), vcsn::nullableset< LabelSet >::letters_of_padded(), vcsn::detail::polynomialset_impl< Context, Kind >::lmul(), vcsn::detail::polynomialset_impl< Context, Kind >::new_weight(), vcsn::detail::none_of_equal(), vcsn::detail::polynomialset_impl< Context, Kind >::norm(), std::hash< vector< T, Alloc > >::operator()(), vcsn::rat::printer< ExpSet >::operator()(), vcsn::detail::left_reductioner< Aut >::operator()(), vcsn::rat::printer< ExpSet >::precedence_(), vcsn::rat::expressionset_impl< Context >::print(), vcsn::rat::printer< ExpSet >::visit_tuple< bool, Dummy >::print_(), vcsn::rat::printer< ExpSet >::print_(), vcsn::detail::polynomialset_impl< Context, Kind >::rdiv_here(), vcsn::detail::wet_map< Key, Value, Compare >::set(), vcsn::detail::wet_unordered_map< Key, Value, Hash, KeyEqual >::set(), vcsn::detail::wet_bitset::set(), vcsn::rat::expressionset_impl< Context >::size(), vcsn::rat::sizer< ExpSet >::visit_tuple< bool, Dummy >::size_(), vcsn::detail::tupleset_impl< ValueSets >::size_(), vcsn::detail::r_impl::star(), vcsn::detail::polynomialset_impl< Context, Kind >::sub_here(), to_string(), vcsn::detail::min_plus_impl< unsigned int >::transpose(), vcsn::detail::log_impl::transpose(), vcsn::detail::f2_impl::transpose(), vcsn::detail::qmp_impl::transpose(), vcsn::detail::z_impl::transpose(), vcsn::detail::b_impl::transpose(), vcsn::detail::r_impl::transpose(), vcsn::detail::q_impl::transpose(), vcsn::rat::expressionset_impl< Context >::transpose(), vcsn::detail::star_heighter< ExpSet >::VCSN_RAT_VISIT(), vcsn::rat::hash< ExpSet >::VCSN_RAT_VISIT(), vcsn::rat::sizer< ExpSet >::VCSN_RAT_VISIT(), vcsn::rat::expand_visitor< ExpSet >::VCSN_RAT_VISIT(), vcsn::detail::transposer< ExpSet >::VCSN_RAT_VISIT(), vcsn::rat::star_normal_form_visitor< ExpSet >::VCSN_RAT_VISIT(), vcsn::rat::constant_term_visitor< ExpSet >::VCSN_RAT_VISIT(), vcsn::rat::derivation_visitor< ExpSet >::VCSN_RAT_VISIT(), vcsn::rat::copier< InExpSet, OutExpSet >::VCSN_RAT_VISIT(), vcsn::rat::info< ExpSet >::VCSN_RAT_VISIT(), vcsn::rat::printer< ExpSet >::VCSN_RAT_VISIT(), vcsn::rat::split_visitor< ExpSet >::VCSN_RAT_VISIT(), vcsn::rat::to_expansion_visitor< ExpSet >::VCSN_RAT_VISIT(), vcsn::rat::const_visitor< Context >::visit(), vcsn::rat::hash< ExpSet >::visit(), vcsn::rat::sizer< ExpSet >::visit(), vcsn::rat::less< ExpSet >::visit(), vcsn::rat::copier< InExpSet, OutExpSet >::visit(), vcsn::rat::printer< ExpSet >::visit(), vcsn::rat::constant_term_visitor< ExpSet >::visit(), vcsn::rat::info< ExpSet >::visit(), vcsn::rat::derivation_visitor< ExpSet >::visit(), vcsn::rat::to_expansion_visitor< ExpSet >::visit(), vcsn::wordset< GenSet >::word(), and vcsn::detail::tupleset_impl< ValueSets >::word().