Vcsn
2.0
Be Rational
|
Namespaces | |
ast | |
ctx | |
detail | |
detail_info | |
detail_moore | |
detail_signature | |
detail_weighted | |
dyn | |
FIXME: duplicate code with determinize. | |
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 |
struct | container_filter_range |
struct | container_range |
Restrict the interface of a container to begin/end. More... | |
class | context |
struct | cross_sequences |
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... | |
struct | has_size_member_function |
Whether T features a size() function. 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_letters |
struct | labels_are_nullable |
struct | labels_are_one |
struct | labels_are_ratexps |
struct | labels_are_tuples |
struct | labels_are_words |
class | lazy_automaton_editor |
Build an automaton with unknown context. More... | |
class | less |
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... | |
class | polynomialset |
Linear combination of labels: map labels to weights. More... | |
struct | possibly_labeled_transition_tuple |
struct | possibly_labeled_transition_tuple< State, empty_t > |
struct | proper_labelset |
From a labelset, its non-nullable labelset. More... | |
struct | proper_labelset< nullableset< LabelSet > > |
struct | random_selector |
class | set_alphabet |
struct | signature |
Signature of a function call. More... | |
struct | snamer |
struct | snamer< bool > |
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< unsigned > |
struct | snamer< vcsn::direction > |
struct | snamer< vcsn::rat::identities > |
class | string_letters |
Represent alphabets whose "letters" are strings. More... | |
struct | transition_tuple |
struct | transition_tuple< State, Label, bool > |
class | tupleset |
A ValueSet which is a Cartesian product of ValueSets. More... | |
struct | variadic_mul_mixin |
Provide a variadic mul on top of a binary mul(), and one(). More... | |
struct | vnamer |
struct | vnamer< bool > |
struct | vnamer< const std::string > |
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 > |
class | wordset |
Implementation of labels are words. More... | |
class | xalloc |
Allocate slots in std::ostreams. More... | |
struct | zip_sequences |
struct | zipped_maps |
Typedefs | |
template<typename Aut > | |
using | states_t = std::unordered_set< state_t_of< Aut >> |
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<std::size_t Tape, typename Aut > | |
using | blind_automaton = std::shared_ptr< detail::blind_automaton_impl< Tape, Aut >> |
A blind automaton as a shared pointer. More... | |
template<typename Aut > | |
using | transpose_automaton = std::shared_ptr< detail::transpose_automaton_impl< Aut >> |
An automaton wrapper that presents the transposed automaton. More... | |
template<typename Aut > | |
using | pair_automaton = std::shared_ptr< detail::pair_automaton_impl< 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 , typename Lifted = detail::lifted_automaton_t<Aut>> | |
using | state_chooser_t = std::function< state_t_of< Lifted >(const Lifted &)> |
A state (inner) from an automaton. More... | |
template<typename Context > | |
using | mutable_automaton = std::shared_ptr< detail::mutable_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 | ratexp_automaton = std::shared_ptr< detail::ratexp_automaton_impl< Aut >> |
A ratexp 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 Kinded , typename R = Kinded> | |
using | if_lal = typename std::enable_if< is_lal< Kinded >::value, R >::type |
template<typename Kinded , typename R = Kinded> | |
using | if_lan = typename std::enable_if< is_lan< Kinded >::value, R >::type |
template<typename Kinded , typename R = Kinded> | |
using | if_lao = typename std::enable_if< is_lao< Kinded >::value, R >::type |
template<typename Kinded , typename R = Kinded> | |
using | if_lar = typename std::enable_if< is_lar< Kinded >::value, R >::type |
template<typename Kinded , typename R = Kinded> | |
using | if_lat = typename std::enable_if< is_lat< Kinded >::value, R >::type |
template<typename Kinded , typename R = Kinded> | |
using | if_law = typename std::enable_if< is_law< Kinded >::value, R >::type |
template<typename Aut > | |
using | partition_automaton = std::shared_ptr< detail::partition_automaton_impl< Aut >> |
A partition automaton as a shared pointer. More... | |
template<typename Context > | |
using | ratexpset = variadic_mul_mixin< rat::ratexpset_impl< Context >> |
template<typename... Auts> | |
using | tuple_automaton = std::shared_ptr< detail::tuple_automaton_impl< Auts...>> |
A product automaton as a shared pointer. More... | |
template<typename... ValueSets> | |
using | meet_t = decltype(meet(std::declval< ValueSets >()...)) |
template<typename T > | |
using | base_t = typename std::remove_cv< typename std::remove_reference< T >::type >::type |
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... ValueSets> | |
using | labelset_types = detail::labelset_types< void, ValueSets...> |
using | dynamic_bitset = boost::dynamic_bitset<> |
using | symbol = boost::flyweight< std::string, boost::flyweights::no_tracking > |
An internalized string. More... | |
template<bool Cond, typename T = void> | |
using | enable_if_t = typename std::enable_if< Cond, T >::type |
using | b = variadic_mul_mixin< detail::b_impl > |
using | f2 = variadic_mul_mixin< detail::f2_impl > |
using | q = variadic_mul_mixin< detail::q_impl > |
using | qmp = variadic_mul_mixin< detail::qmp_impl > |
using | r = variadic_mul_mixin< detail::r_impl > |
using | z = variadic_mul_mixin< detail::z_impl > |
using | zmin = variadic_mul_mixin< detail::zmin_impl > |
Enumerations | |
enum | SCC_ALGO { SCC_ALGO::TARJAN = 0, SCC_ALGO::KOSARAJU = 1 } |
enum | direction { direction::forward, direction::backward } |
Orientation. More... | |
enum | star_status_t { STARRABLE, NON_STARRABLE, TOPS, ABSVAL } |
Functions | |
template<typename Aut > | |
states_t< Aut > | accessible_states (const Aut &aptr) |
template<typename Aut > | |
states_t< Aut > | coaccessible_states (const Aut &a) |
template<typename Aut > | |
states_t< Aut > | useful_states (const Aut &a) |
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) |
template<typename Aut > | |
filter_automaton< Aut > | coaccessible (const Aut &a) |
template<typename Aut > | |
filter_automaton< Aut > | trim (const Aut &a) |
template<typename Aut > | |
bool | is_trim (const Aut &a) |
template<typename Aut > | |
bool | is_useless (const Aut &a) |
template<typename Aut > | |
bool | is_accessible (const Aut &a) |
template<typename Aut > | |
bool | is_coaccessible (const Aut &a) |
template<typename Aut > | |
bool | is_empty (const Aut &a) ATTRIBUTE_PURE |
template<typename Aut1 , typename Aut2 > | |
auto | are_equivalent (const Aut1 &a1, const Aut2 &a2) -> typename std::enable_if<(labelset_t_of< Aut1 >::is_free()&&std::is_same< weightset_t_of< Aut1 >, b >::value &&labelset_t_of< Aut2 >::is_free()&&std::is_same< weightset_t_of< Aut2 >, b >::value), bool >::type |
Check equivalence between Boolean automata on a free labelset. More... | |
template<typename Lhs , typename Rhs > | |
Lhs::element_type::automaton_nocv_t | difference (const Lhs &lhs, const Rhs &rhs) |
An automaton that computes weights of lhs, but not by rhs. More... | |
template<typename RatExpSet > | |
RatExpSet::value_t | difference (const RatExpSet &rs, const typename RatExpSet::value_t &lhs, const typename RatExpSet::value_t &rhs) |
Difference of ratexps. More... | |
template<typename Aut1 , typename Aut2 > | |
bool | are_isomorphic (const Aut1 &a1, const Aut2 &a2) |
template<unsigned Tape, typename Aut > | |
blind_automaton< Tape, Aut > | blind (Aut aut) |
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 > | |
auto | compose (Lhs &lhs, Rhs &rhs) -> typename detail::composer< blind_automaton< 1, Lhs >, blind_automaton< 0, Rhs >>::automaton_t |
Build the (accessible part of the) composition. More... | |
template<typename A , typename B > | |
A & | concatenate_here (A &res, const B &b) |
Append automaton b to res. More... | |
template<typename A , typename B > | |
auto | concatenate (const A &lhs, const B &rhs) -> decltype(join_automata(lhs, rhs)) |
Concatenate two standard automata. More... | |
template<typename Aut > | |
Aut | chain (const Aut &aut, int min, int max) |
template<typename ValueSet > | |
ValueSet::value_t | concatenate (const ValueSet &vs, const typename ValueSet::value_t &lhs, const typename ValueSet::value_t &rhs) |
Concatenation/product of polynomials/ratexps. More... | |
template<typename RatExpSet > | |
RatExpSet::value_t | chain (const RatExpSet &rs, const typename RatExpSet::value_t &r, int min, int max) |
template<typename ValueSet > | |
ValueSet::value_t | multiply (const ValueSet &vs, const typename ValueSet::value_t &lhs, const typename ValueSet::value_t &rhs) |
Product of weights. More... | |
template<typename RatExpSet > | |
weight_t_of< RatExpSet > | constant_term (const RatExpSet &rs, const typename RatExpSet::value_t &e) |
template<typename AutIn , typename AutOut , typename Pred > | |
void | copy_into (const AutIn &in, AutOut &out, Pred keep_state) |
Copy an automaton. More... | |
template<typename AutIn , typename AutOut > | |
void | copy_into (const AutIn &in, AutOut &out) |
template<typename AutIn , typename AutOut = typename AutIn::element_type::automaton_nocv_t, typename Pred > | |
AutOut | copy (const AutIn &input, Pred keep_state) |
A copy of input keeping only its states that are accepted by keep_state. More... | |
template<typename AutIn , typename AutOut = typename AutIn::element_type::automaton_nocv_t> | |
AutOut | copy (const AutIn &input) |
A copy of input. More... | |
template<typename AutIn , typename AutOut = typename AutIn::element_type::automaton_nocv_t> | |
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 = typename AutIn::element_type::automaton_nocv_t> | |
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 RatExpSet > | |
rat::ratexp_polynomial_t < RatExpSet > | derivation (const RatExpSet &rs, const typename RatExpSet::value_t &e, label_t_of< RatExpSet > a, bool breaking=false) |
Derive a ratexp wrt to a letter. More... | |
template<typename RatExpSet > | |
rat::ratexp_polynomial_t < RatExpSet > | derivation (const RatExpSet &rs, const rat::ratexp_polynomial_t< RatExpSet > &p, label_t_of< RatExpSet > a, bool breaking=false) |
Derive a polynomial of ratexps wrt to a letter. More... | |
template<typename RatExpSet > | |
rat::ratexp_polynomial_t < RatExpSet > | derivation (const RatExpSet &rs, const typename RatExpSet::value_t &e, const typename RatExpSet::labelset_t::word_t &l, bool breaking=false) |
Derive a ratexp wrt to a word. More... | |
template<typename RatExpSet > | |
ratexp_automaton < mutable_automaton< typename RatExpSet::context_t > > | derived_term_derivation (const RatExpSet &rs, const typename RatExpSet::value_t &r, bool breaking=false) |
The derived-term automaton, computed by derivation. More... | |
template<typename RatExpSet > | |
ratexp_automaton < mutable_automaton< typename RatExpSet::context_t > > | derived_term_expansion (const RatExpSet &rs, const typename RatExpSet::value_t &r, bool breaking=false) |
The derived-term automaton, computed by expansion. 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::unordered_map< state_t_of < Aut >, weight_t_of< Aut > > | ss_shortest_distance (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, std::vector< state_t_of< Aut >> start) |
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 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<class 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 Automaton > | |
detail::enumerater< Automaton > ::polynomial_t | enumerate (const Automaton &aut, unsigned max) |
template<typename Automaton > | |
detail::enumerater< Automaton > ::polynomial_t | shortest (const Automaton &aut, unsigned num) |
template<typename Aut > | |
auto | eval (const Aut &a, const typename labelset_t_of< Aut >::word_t &w) -> weight_t_of< Aut > |
template<typename RatExpSet > | |
RatExpSet::value_t | expand (const RatExpSet &rs, const typename RatExpSet::value_t &e) |
Expanding a typed ratexp shared_ptr. 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<typename Aut > | |
bool | in_situ_remover (Aut &aut, bool prune) |
Blindly eliminate epsilon transitions without checking for the validity of the automaton. More... | |
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 RatExpSet > | |
bool | is_valid (const RatExpSet &rs, const typename RatExpSet::value_t &e) |
Whether e has only computable stars. 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 | 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<class A > | |
std::ostream & | info (const A &aut, std::ostream &out, bool detailed=false) |
template<class RatExpSet > | |
void | info (const RatExpSet &rs, const typename RatExpSet::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 > | |
labelset_t_of< Aut >::word_t | 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<class Aut > | |
size_t | num_deterministic_states (const Aut &aut) |
Number of non-deterministic states. More... | |
template<class Aut > | |
size_t | num_codeterministic_states (const Aut &aut) |
Number of non-deterministic states of transpositive automaton. More... | |
template<class Aut > | |
bool | is_deterministic (const Aut &aut) |
Whether has at most an initial state, and all its states are deterministic. More... | |
template<class 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_identity (const Aut &aut) |
Whether transducer aut is equivalent to the identity function on all successful path. More... | |
template<typename Aut > | |
bool | is_functional (const Aut &aut) |
Whether aut is functional. More... | |
template<class 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 = typename AutIn::element_type::automaton_nocv_t> | |
AutOut | left_mult (const weight_t_of< AutOut > &w, const AutIn &aut) |
template<typename RatExpSet > | |
RatExpSet::value_t | left_mult (const RatExpSet &rs, const weight_t_of< RatExpSet > &w, const typename RatExpSet::value_t &r) |
template<typename WeightSet , typename RatExpSet > | |
ratexpset< context < labelset_t_of< RatExpSet > , join_t< WeightSet, weightset_t_of< RatExpSet > > > > | join_weightset_ratexpset (const WeightSet &ws, const RatExpSet &rs) |
Join between a ratexpset and a weightset. More... | |
template<typename Aut > | |
Aut & | right_mult_here (Aut &res, const weight_t_of< Aut > &w) |
template<typename Aut > | |
Aut::element_type::automaton_nocv_t | right_mult (const Aut &aut, const weight_t_of< Aut > &w) |
template<typename RatExpSet > | |
RatExpSet::value_t | right_mult (const RatExpSet &rs, const typename RatExpSet::value_t &r, const weight_t_of< RatExpSet > &w) |
template<typename Aut > | |
detail::lifted_automaton_t< Aut > | lift (const Aut &a) |
template<typename RatExpSet > | |
detail::lifted_ratexpset_t < RatExpSet >::value_t | lift (const RatExpSet &rs, const typename RatExpSet::value_t &e) |
template<typename Ctx > | |
Ctx | make_context (const std::string &name) |
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) -> partition_automaton< Aut > |
template<typename Aut > | |
auto | minimize_signature (const Aut &a) -> partition_automaton< Aut > |
template<typename Aut > | |
auto | minimize_weighted (const Aut &a) -> partition_automaton< Aut > |
template<typename Aut > | |
std::enable_if< std::is_same < weightset_t_of< Aut >, b > ::value &&labelset_t_of< Aut > ::is_free(), partition_automaton< Aut > >::type | minimize (const Aut &a, const std::string &algo) |
template<typename Aut > | |
std::enable_if< std::is_same < weightset_t_of< Aut >, b > ::value &&!labelset_t_of< Aut > ::is_free(), partition_automaton< Aut > >::type | minimize (const Aut &a, const std::string &algo) |
template<typename Aut > | |
std::enable_if<!std::is_same < weightset_t_of< Aut >, b > ::value, partition_automaton < Aut > >::type | minimize (const Aut &a, const std::string &algo) |
template<typename Aut > | |
auto | cominimize (const Aut &a, const std::string &algo) -> decltype(transpose(minimize(transpose(a), algo))) |
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 > | |
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) -> decltype(::vcsn::copy(aut)) |
Apply subword_here() to a copy of aut. More... | |
template<typename ValueSet > | |
std::ostream & | print (const ValueSet &vs, const typename ValueSet::value_t &v, std::ostream &o, const std::string &format) |
Applies to (ValueSet, Value, ostream, string): for expansionset, polynomialset, ratexpset, and weightset. More... | |
template<typename PolynomialSet > | |
std::ostream & | list (const PolynomialSet &ps, const typename PolynomialSet::value_t &p, std::ostream &o) |
template<typename... Auts> | |
auto | join_automata (Auts &&...auts) -> decltype(make_mutable_automaton(join(auts->context()...))) |
Join between automata. More... | |
template<typename... Auts> | |
auto | meet_automata (Auts &&...auts) -> decltype(make_mutable_automaton(meet(auts->context()...))) |
Meet between automata. More... | |
template<typename Aut , typename... Auts> | |
auto | make_product_automaton (Aut aut, const Auts &...auts) -> product_automaton< Aut, Auts...> |
template<typename... Auts> | |
auto | product (const Auts &...as) -> product_automaton< decltype(meet_automata(as...)), Auts...> |
Build the (accessible part of the) product. More... | |
template<typename... Auts> | |
auto | shuffle (const Auts &...as) -> product_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 ratexps. More... | |
template<typename... Auts> | |
auto | infiltration (const Auts &...as) -> product_automaton< decltype(join_automata(as...)), Auts...> |
The (accessible part of the) infiltration product. More... | |
template<typename Aut > | |
auto | power (const Aut &aut, unsigned n) -> typename Aut::element_type::automaton_nocv_t |
template<typename RatExpSet > | |
RatExpSet::value_t | conjunction (const RatExpSet &rs, const typename RatExpSet::value_t &lhs, const typename RatExpSet::value_t &rhs) |
Intersection/Hadamard product of ratexps. More... | |
template<typename Aut > | |
void | proper_here (Aut &aut, direction dir=direction::backward, bool prune=true) |
Eliminate spontaneous transitions in place. More... | |
template<typename LabelSet , typename WeightSet > | |
auto | proper_context (const context< LabelSet, WeightSet > &ctx) -> context< typename proper_labelset< LabelSet >::type, WeightSet > |
From a context, its non-nullable context. More... | |
template<typename Aut > | |
auto | proper (const Aut &aut, direction dir=direction::backward, bool prune=true) -> mutable_automaton< decltype(proper_context(copy(aut) ->context()))> |
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 distance 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 &classes) -> partition_automaton< 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 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> | |
ratexpset< Context >::value_t | random_label (const ratexpset< Context > &rs, RandomGenerator &gen=RandomGenerator()) |
template<typename Ctx > | |
mutable_automaton< Ctx > | random (const Ctx &ctx, unsigned num_states, float density=0.1, unsigned num_initial=1, unsigned num_final=1) |
template<typename Ctx > | |
mutable_automaton< Ctx > | random_deterministic (const Ctx &ctx, unsigned num_states) |
template<typename Context > | |
auto | read_label (std::istream &is, const Context &ctx) -> 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::stack< state_t_of< Aut > > | reverse_postorder (const Aut &aut) |
Get all vertices in reverse postorder. More... | |
template<typename Aut > | |
const detail::components_t< Aut > | scc (const Aut &aut, SCC_ALGO algo=SCC_ALGO::TARJAN) |
Find all strongly connected components of aut. More... | |
template<typename Aut > | |
Aut::element_type::automaton_nocv_t | aut_of_component (const detail::component_t< Aut > &com, const Aut &aut) |
Generate a subautomaton corresponding to an SCC. More... | |
template<typename Aut > | |
std::size_t | num_sccs (const Aut &aut) |
Get number of strongly connected components. 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 RatExpSet > | |
rat::ratexp_polynomial_t < RatExpSet > | split (const RatExpSet &rs, const typename RatExpSet::value_t &e) |
Split a ratexp. More... | |
template<typename RatExpSet > | |
rat::ratexp_polynomial_t < RatExpSet > | split (const RatExpSet &rs, const rat::ratexp_polynomial_t< RatExpSet > &p) |
Split a polynomial of ratexps. More... | |
template<typename PolynomialSet > | |
PolynomialSet::value_t | split_polynomial (const PolynomialSet &ps, const typename PolynomialSet::value_t &p) |
Split a polynomial of ratexps. 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 RatExpSet > | |
Aut | standard (const RatExpSet &rs, const typename RatExpSet::value_t &r) |
Build a standard automaton from a ratexp. More... | |
template<typename RatExpSet > | |
unsigned | star_height (const typename RatExpSet::value_t &e) |
Star height of a ratexp. More... | |
template<typename RatExpSet > | |
RatExpSet::value_t | star_normal_form (const RatExpSet &rs, const typename RatExpSet::value_t &e) |
Star_Normal_Forming a typed ratexp shared_ptr. More... | |
template<typename Aut > | |
Aut & | star_here (Aut &res) |
In place star of a standard automaton. More... | |
template<typename Aut > | |
Aut::element_type::automaton_nocv_t | 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 > | |
bool | is_synchronized_by (const Aut &aut, const typename labelset_t_of< Aut >::word_t &w) |
template<typename Aut > | |
bool | is_synchronizing (const Aut &aut) |
template<typename Aut > | |
labelset_t_of< Aut >::word_t | synchronizing_word (const Aut &aut, const std::string &algo="greedy") |
template<typename Aut , typename RatExpSet > | |
Aut | thompson (const context_t_of< Aut > &ctx, const RatExpSet &rs, const typename RatExpSet::value_t &r) |
Build a Thompson automaton from a ratexp. More... | |
template<typename Aut , typename RatExpSet > | |
Aut | thompson (const RatExpSet &rs, const typename RatExpSet::value_t &r) |
Build a Thompson automaton from a ratexp. More... | |
template<typename AutPtr > | |
std::ostream & | tikz (const AutPtr &aut, std::ostream &out) |
Print automaton to TikZ format. More... | |
template<typename RatExpSet > | |
rat::expansionset< RatExpSet > ::value_t | to_expansion (const RatExpSet &rs, const typename RatExpSet::value_t &e) |
First order expansion. More... | |
template<typename Aut > | |
state_t_of< Aut > | next_naive (const Aut &a) |
template<typename Aut > | |
Aut & | eliminate_state_here (Aut &res, state_t_of< Aut > s) |
Remove state s from automaton res. More... | |
template<typename Aut > | |
Aut | eliminate_state (const Aut &aut, state_t_of< Aut > s) |
A copy of automaton res without the state s. More... | |
template<typename Aut , typename RatExpSet = ratexpset<context_t_of<Aut>>> | |
RatExpSet::value_t | to_expression (const Aut &a, const state_chooser_t< Aut > &next_state) |
template<typename Aut , typename RatExpSet = ratexpset<context_t_of<Aut>>> | |
RatExpSet::value_t | to_expression_naive (const Aut &a) |
template<typename Aut > | |
Aut | transpose (const transpose_automaton< Aut > &aut) |
template<typename Aut > | |
transpose_automaton< Aut > | transpose (Aut aut) |
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<class Aut > | |
Aut | universal (const Aut &a) |
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 , typename... VSs> | |
auto | join (const ValueSet1 &vs1, const ValueSet2 &vs2, const VSs &...vs) -> decltype(join(detail::join_(vs1, vs2, 0), vs...)) |
The join of two (or more) valuesets. More... | |
template<typename Context > | |
mutable_automaton< Context > | make_mutable_automaton (const Context &ctx) |
template<class RatExpSet > | |
RatExpSet::value_t | less_than (const RatExpSet &rs, const typename RatExpSet::value_t &v) |
template<typename Context > | |
ratexpset< Context > | make_ratexpset (const Context &ctx, rat::identities identities) |
Shorthand to ratexpset constructor. More... | |
template<typename Ctx1 , typename Ctx2 > | |
auto | meet (const ratexpset< Ctx1 > &a, const ratexpset< Ctx2 > &b) -> ratexpset< meet_t< Ctx1, Ctx2 >> |
The meet of two ratexpsets. More... | |
template<class RatExpSet > | |
RatExpSet::value_t | transpose (const RatExpSet &rs, const typename RatExpSet::value_t &v) |
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) | |
bool | operator< (empty_t, empty_t) |
bool | operator== (empty_t, empty_t) |
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... Sequences> | |
cross_sequences< Sequences...> | cross (Sequences &&...seqs) |
template<typename... Sequences> | |
cross_sequences< Sequences...> | cross_tuple (const std::tuple< Sequences...> &seqs) |
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... | |
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... | |
template<class T > | |
std::size_t | hash_value (const T &v) |
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 Key , typename Value , typename Compare , typename Alloc > | |
bool | has (const std::map< Key, Value, Compare, Alloc > &s, const Key &e) |
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 > | |
std::string | sname () |
template<typename T > | |
std::string | sname (T &) |
template<typename... Args> | |
signature | ssignature () |
Static signature. More... | |
template<typename T > | |
std::string | 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... 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 > | |
bool | has (const std::set< T, Compare, Alloc > &s, const T &e) ATTRIBUTE_PURE |
Whether e is member of 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 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 Container1 , typename Container2 > | |
bool | subset (const Container1 &set1, const Container2 &set2) ATTRIBUTE_PURE |
Whether set1 ⊆ set2. More... | |
template<typename T > | |
bool | has (const std::set< T > &s, const T &e) |
template<typename T > | |
std::set< T > | intersection (const std::set< T > &set1, const std::set< T > &set2) |
template<typename T > | |
std::set< std::set< T > > | intersection_closure (std::set< std::set< T >> pset) |
template<typename T > | |
std::set< T > | get_union (const std::set< T > &set1, const std::set< T > &set2) |
template<typename T > | |
std::ostream & | print (const std::set< T > &set, std::ostream &o) |
std::ostream & | operator<< (std::ostream &os, const signature &sig) |
Output a string, escaping special characters. More... | |
std::string | bracketed (std::istream &i, const char lbracket, const 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... | |
ATTRIBUTE_NORETURN void | fail_reading (std::istream &is, std::string explanation) |
Throw an exception after failing to read from is. More... | |
template<typename ValueSet , typename... Args> | |
auto | to_string (const ValueSet &vs, const typename ValueSet::value_t &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... | |
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 auto | find (const std::vector< T, Alloc > &s, const T &e) -> typename std::vector< T, Alloc >::const_iterator |
Convenience wrapper around std::find. 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... | |
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 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 |
template<typename Aut > | |
polynomialset< context_t_of < Aut > >::value_t | get_entry (const Aut &aut, state_t_of< Aut > s, state_t_of< Aut > d) |
The entry between two states of an automaton. More... | |
Variables | |
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 variadic_mul_mixin<detail::b_impl> |
using vcsn::base_t = typedef typename std::remove_cv<typename std::remove_reference<T>::type>::type |
using vcsn::blind_automaton = typedef std::shared_ptr<detail::blind_automaton_impl<Tape, Aut>> |
using vcsn::context_t_of = typedef typename detail:: context_t_of_impl<base_t<ValueSet>>::type |
using vcsn::determinized_automaton = typedef std::shared_ptr<detail::determinized_automaton_impl<Aut>> |
A determinized automaton as a shared pointer.
Definition at line 239 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 473 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 7 of file type_traits.hh.
using vcsn::f2 = typedef variadic_mul_mixin<detail::f2_impl> |
using vcsn::filter_automaton = typedef std::shared_ptr<detail::filter_automaton_impl<Aut>> |
using vcsn::if_lal = typedef typename std::enable_if<is_lal <Kinded>::value, R>::type |
using vcsn::if_lan = typedef typename std::enable_if<is_lan <Kinded>::value, R>::type |
using vcsn::if_lao = typedef typename std::enable_if<is_lao <Kinded>::value, R>::type |
using vcsn::if_lar = typedef typename std::enable_if<is_lar <Kinded>::value, R>::type |
using vcsn::if_lat = typedef typename std::enable_if<is_lat <Kinded>::value, R>::type |
using vcsn::if_law = typedef typename std::enable_if<is_law <Kinded>::value, R>::type |
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::labelset_types = typedef detail::labelset_types<void, ValueSets...> |
Definition at line 50 of file tupleset.hh.
using vcsn::meet_t = typedef decltype(meet(std::declval<ValueSets>()...)) |
Definition at line 172 of file context.hh.
using vcsn::mutable_automaton = typedef std::shared_ptr<detail::mutable_automaton_impl<Context>> |
using vcsn::pair_automaton = typedef std::shared_ptr<detail::pair_automaton_impl<Aut>> |
using vcsn::partition_automaton = typedef std::shared_ptr<detail::partition_automaton_impl<Aut>> |
A partition automaton as a shared pointer.
Definition at line 113 of file partition-automaton.hh.
using vcsn::permutation_automaton = typedef std::shared_ptr<detail::permutation_automaton_impl<Aut>> |
using vcsn::product_automaton = typedef std::shared_ptr<detail::product_automaton_impl<Aut, Auts...>> |
A product automaton as a shared pointer.
Definition at line 424 of file product.hh.
using vcsn::q = typedef variadic_mul_mixin<detail::q_impl> |
using vcsn::qmp = typedef variadic_mul_mixin<detail::qmp_impl> |
using vcsn::r = typedef variadic_mul_mixin<detail::r_impl> |
using vcsn::ratexp_automaton = typedef std::shared_ptr<detail::ratexp_automaton_impl<Aut>> |
using vcsn::ratexpset = typedef variadic_mul_mixin<rat::ratexpset_impl<Context>> |
using vcsn::state_chooser_t = typedef std::function<state_t_of<Lifted>(const Lifted&)> |
A state (inner) from an automaton.
Definition at line 20 of file to-expression.hh.
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 22 of file accessible.hh.
using vcsn::symbol = typedef boost::flyweight<std::string, boost::flyweights::no_tracking> |
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 product automaton as a shared pointer.
Definition at line 253 of file tuple-automaton.hh.
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::z = typedef variadic_mul_mixin<detail::z_impl> |
using vcsn::zmin = typedef variadic_mul_mixin<detail::zmin_impl> |
|
strong |
Orientation.
Enumerator | |
---|---|
forward |
Looking downstream. |
backward |
Looking upstream. |
Definition at line 10 of file direction.hh.
|
strong |
enum vcsn::star_status_t |
Enumerator | |
---|---|
STARRABLE | |
NON_STARRABLE | |
TOPS | |
ABSVAL |
Definition at line 6 of file star_status.hh.
path vcsn::absolute | ( | const path & | p | ) |
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 | ) |
Definition at line 127 of file accessible.hh.
References accessible_states(), and filter().
Referenced by vcsn::dyn::detail::accessible(), vcsn::ctx::detail::register_functions(), and useful_states().
states_t<Aut> vcsn::accessible_states | ( | const Aut & | aptr | ) |
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 23 of file memory.hh.
Referenced by address(), and vcsn::rat::printer< Context >::operator()().
|
inline |
|
inline |
labelset_t_of<Aut>::word_t vcsn::ambiguous_word | ( | const Aut & | aut | ) |
Definition at line 69 of file is-ambiguous.hh.
References is_ambiguous(), path_bfs(), and require().
Referenced by vcsn::dyn::detail::ambiguous_word().
constexpr bool vcsn::any_ | ( | ) |
auto vcsn::are_equivalent | ( | const Aut1 & | a1, |
const Aut2 & | a2 | ||
) | -> typename std::enable_if<(labelset_t_of<Aut1>::is_free() && std::is_same<weightset_t_of<Aut1>, b>::value && labelset_t_of<Aut2>::is_free() && std::is_same<weightset_t_of<Aut2>, b>::value), bool>::type |
Check equivalence between Boolean automata on a free labelset.
Check equivalence between Boolean automata on fields, or Z.
Definition at line 26 of file are-equivalent.hh.
References difference(), and is_useless().
bool vcsn::are_isomorphic | ( | const Aut1 & | a1, |
const Aut2 & | a2 | ||
) |
Definition at line 687 of file are-isomorphic.hh.
Referenced by vcsn::ctx::detail::register_functions(), and vcsn::ctx::detail::register_functions_is_free().
Aut::element_type::automaton_nocv_t vcsn::aut_of_component | ( | const detail::component_t< Aut > & | com, |
const Aut & | aut | ||
) |
Generate a subautomaton corresponding to an SCC.
Definition at line 250 of file scc.hh.
References has(), and vcsn::detail::map().
Referenced by is_cycle_ambiguous().
|
inline |
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::polynomialset< ratexpset_t >::conv().
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 require().
Referenced by vcsn::dyn::detail::cerny(), and vcsn::ctx::detail::register_functions_is_free().
Aut vcsn::chain | ( | const Aut & | aut, |
int | min, | ||
int | max | ||
) |
Definition at line 135 of file concatenate.hh.
References concatenate(), copy(), star(), and sum().
Referenced by vcsn::dyn::detail::chain(), chain(), and vcsn::ctx::detail::register_functions().
RatExpSet::value_t vcsn::chain | ( | const RatExpSet & | rs, |
const typename RatExpSet::value_t & | r, | ||
int | min, | ||
int | max | ||
) |
Definition at line 244 of file concatenate.hh.
References chain(), and sum().
Referenced by vcsn::dyn::detail::chain_ratexp().
|
inline |
|
inline |
filter_automaton<Aut> vcsn::coaccessible | ( | const Aut & | a | ) |
Definition at line 134 of file accessible.hh.
References coaccessible_states(), and filter().
Referenced by vcsn::dyn::detail::coaccessible(), is_ambiguous(), vcsn::ctx::detail::register_functions(), and useful_states().
states_t<Aut> vcsn::coaccessible_states | ( | const Aut & | a | ) |
Definition at line 61 of file accessible.hh.
References accessible_states(), and transpose().
Referenced by coaccessible(), is_ambiguous(), is_identity(), and useful_states().
|
inline |
Definition at line 256 of file determinize.hh.
References determinize(), and transpose().
Referenced by vcsn::dyn::detail::codeterminize(), and minimize_brzozowski().
|
inline |
Definition at line 489 of file determinize.hh.
References determinize_weighted(), and transpose().
Referenced by vcsn::dyn::detail::codeterminize().
|
inline |
Sum of bucket sizes.
Definition at line 14 of file unordered_map.hh.
|
inline |
Definition at line 75 of file minimize.hh.
References minimize(), and transpose().
Referenced by vcsn::dyn::detail::cominimize().
|
inline |
Definition at line 27 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 52 of file complement.hh.
References complement_here(), and copy().
Referenced by vcsn::dyn::detail::complement(), difference(), and info().
void vcsn::complement_here | ( | Aut & | aut | ) |
Definition at line 21 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 64 of file complete.hh.
References complete_here(), and copy().
Referenced by vcsn::dyn::detail::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 17 of file complete.hh.
References has().
Referenced by complete().
auto vcsn::compose | ( | Lhs & | lhs, |
Rhs & | rhs | ||
) | -> typename detail::composer<blind_automaton<1, Lhs>, blind_automaton<0, Rhs>>::automaton_t |
Build the (accessible part of the) composition.
Definition at line 289 of file compose.hh.
References vcsn::detail::composer< Lhs, Rhs >::compose(), and vcsn::detail::insplit().
Referenced by vcsn::dyn::detail::compose(), and is_functional().
|
inline |
Concatenate two standard automata.
Definition at line 99 of file concatenate.hh.
References concatenate_here(), copy_into(), is_standard(), join_automata(), and require().
Referenced by chain(), vcsn::dyn::detail::concatenate(), vcsn::dyn::detail::concatenate_ratexp(), and vcsn::ctx::detail::register_functions().
|
inline |
Concatenation/product of polynomials/ratexps.
Definition at line 208 of file concatenate.hh.
A& vcsn::concatenate_here | ( | A & | res, |
const B & | b | ||
) |
Append automaton b to res.
Definition at line 31 of file concatenate.hh.
References is_standard(), and require().
Referenced by concatenate().
|
inline |
Intersection/Hadamard product of ratexps.
Definition at line 741 of file product.hh.
Referenced by vcsn::dyn::detail::conjunction_ratexp(), and info().
weight_t_of<RatExpSet> vcsn::constant_term | ( | const RatExpSet & | rs, |
const typename RatExpSet::value_t & | e | ||
) |
Definition at line 143 of file constant-term.hh.
Referenced by vcsn::rat::star_normal_form_visitor< RatExpSet >::box_of(), is_valid(), vcsn::ctx::detail::register_functions(), vcsn::rat::derivation_visitor< RatExpSet >::VCSN_RAT_VISIT(), vcsn::rat::star_normal_form_visitor< RatExpSet >::VCSN_RAT_VISIT(), and vcsn::detail::derived_termer< RatExpSet >::via_derivation().
auto vcsn::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.
Definition at line 29 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::dyn::detail::ratexpset_wrapper< RatExpSet >::atom(), vcsn::tupleset< LabelSets >::conv(), vcsn::polynomialset< ratexpset_t >::conv(), vcsn::rat::ratexpset_impl< Context >::conv(), vcsn::tupleset< LabelSets >::conv_(), vcsn::dyn::detail::ratexpset_wrapper< RatExpSet >::down(), vcsn::edit_automaton< Aut >::label_(), vcsn::dyn::detail::ratexpset_wrapper< RatExpSet >::letter_class_(), vcsn::detail::mutable_automaton_impl< Context >::new_transition_copy(), 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 171 of file copy.hh.
References copy_into(), and vcsn::detail::real_context().
Referenced by vcsn::detail::absval(), chain(), complement(), complete(), vcsn::dyn::detail::copy(), copy_into(), eliminate_state(), factor(), vcsn::detail::is_valider< Aut, has_one >::is_valid_(), prefix(), proper(), push_weights(), vcsn::ctx::detail::register_functions(), right_mult(), standard(), star(), vcsn::detail::filter_automaton_impl< Aut >::strip(), subword(), and suffix().
|
inline |
|
inline |
|
inline |
|
inline |
Copy an automaton.
Definition at line 101 of file copy.hh.
References copy().
Referenced by concatenate(), copy_into(), vcsn::dyn::detail::left_mult(), proper(), vcsn::dyn::detail::right_mult(), and union_here().
|
inline |
Definition at line 110 of file copy.hh.
References copy_into().
Referenced by copy(), and vcsn::dyn::detail::copy_convert().
auto vcsn::costandard | ( | const Aut & | aut | ) | -> decltype(copy(aut)) |
Definition at line 130 of file standard.hh.
References standard(), and transpose().
Referenced by normalize().
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 103 of file has-twins-property.hh.
Referenced by has_twins_property().
cross_sequences<Sequences...> vcsn::cross | ( | Sequences &&... | seqs | ) |
Definition at line 248 of file cross.hh.
Referenced by vcsn::tupleset< LabelSets >::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 87 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 18 of file de-bruijn.hh.
References require().
Referenced by 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< Context >::operator()(), and vcsn::rat::to_expansion_visitor< RatExpSet >::to_expansion().
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().
|
inline |
Derive a ratexp wrt to a letter.
Definition at line 201 of file derivation.hh.
References split().
Referenced by derivation(), vcsn::dyn::detail::derivation(), vcsn::ctx::detail::register_functions_is_free(), and vcsn::detail::derived_termer< RatExpSet >::via_derivation().
|
inline |
Derive a polynomial of ratexps wrt to a letter.
Definition at line 220 of file derivation.hh.
References derivation(), and vcsn::rat::make_ratexp_polynomialset().
|
inline |
Derive a ratexp wrt to a word.
Definition at line 239 of file derivation.hh.
References derivation(), and require().
|
inline |
The derived-term automaton, computed by derivation.
Definition at line 146 of file derived-term.hh.
References vcsn::detail::derived_termer< RatExpSet >::via_derivation().
Referenced by vcsn::dyn::detail::derived_term().
|
inline |
The derived-term automaton, computed by expansion.
Definition at line 158 of file derived-term.hh.
References vcsn::detail::derived_termer< RatExpSet >::via_expansion().
Referenced by vcsn::dyn::detail::derived_term().
|
inline |
Definition at line 244 of file determinize.hh.
Referenced by codeterminize(), vcsn::dyn::detail::determinize(), difference(), minimize_brzozowski(), vcsn::detail::universaler< Aut >::operator()(), and vcsn::detail::universaler< Aut >::work_().
|
inline |
Definition at line 478 of file determinize.hh.
Referenced by codeterminize_weighted(), and vcsn::dyn::detail::determinize().
Lhs::element_type::automaton_nocv_t vcsn::difference | ( | const Lhs & | lhs, |
const Rhs & | rhs | ||
) |
An automaton that computes weights of lhs, but not by rhs.
Definition at line 82 of file are-equivalent.hh.
References complement(), complete(), determinize(), is_complete(), is_deterministic(), product(), and strip().
Referenced by are_equivalent(), and vcsn::dyn::detail::difference().
|
inline |
Difference of ratexps.
Definition at line 120 of file are-equivalent.hh.
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 require(), and vcsn::rat::to_string().
Referenced by vcsn::dyn::detail::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 344 of file dot.hh.
Referenced by vcsn::detail::properer< Aut, has_one >::in_situ_remover_(), and vcsn::ctx::detail::register_functions().
mutable_automaton<Context> vcsn::double_ring | ( | const Context & | ctx, |
unsigned | n, | ||
const std::vector< unsigned > & | finals | ||
) |
Definition at line 17 of file double-ring.hh.
References require().
Referenced by vcsn::dyn::detail::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 require(), and str_escape().
Referenced by vcsn::ast::context_parser::any_(), vcsn::ast::context_parser::automaton_(), vcsn::ast::context_parser::context_(), vcsn::detail::q_impl::conv(), vcsn::tupleset< LabelSets >::conv(), vcsn::detail::genset_labelset< GenSet >::convs_(), vcsn::tupleset< LabelSets >::eat_separator_(), vcsn::ast::context_parser::labelset_(), vcsn::detail::nullable_helper< LabelSet >::make(), vcsn::detail::zmin_impl::make(), vcsn::detail::z_impl::make(), vcsn::detail::rmin_impl::make(), vcsn::detail::f2_impl::make(), vcsn::detail::b_impl::make(), vcsn::detail::q_impl::make(), vcsn::detail::r_impl::make(), vcsn::detail::qmp_impl::make(), vcsn::set_alphabet< L >::make(), vcsn::wordset< GenSet >::make(), vcsn::letterset< GenSet >::make(), vcsn::rat::ratexpset_impl< Context >::make(), vcsn::detail::nullable_helper< letterset< GenSet > >::make(), vcsn::context< LabelSet, WeightSet >::make(), vcsn::tupleset< LabelSets >::make(), vcsn::polynomialset< ratexpset_t >::make(), vcsn::nullableset< LabelSet >::make_nullableset_kind(), operator>>(), vcsn::rat::operator>>(), vcsn::ast::context_parser::polynomialset_(), vcsn::ast::context_parser::ratexpset_(), vcsn::ast::context_parser::ratexpset_series_(), 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 46 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 301 of file efsm.hh.
Referenced by vcsn::ctx::detail::register_functions().
Aut vcsn::eliminate_state | ( | const Aut & | aut, |
state_t_of< Aut > | s | ||
) |
A copy of automaton res without the state s.
Definition at line 223 of file to-expression.hh.
References copy(), and eliminate_state_here().
Referenced by vcsn::dyn::detail::eliminate_state(), eliminate_state_here(), and vcsn::ctx::detail::register_kind_functions().
Aut& vcsn::eliminate_state_here | ( | Aut & | res, |
state_t_of< Aut > | s | ||
) |
Remove state s from automaton res.
Definition at line 211 of file to-expression.hh.
References eliminate_state(), vcsn::detail::make_state_eliminator(), and next_naive().
Referenced by eliminate_state().
|
inline |
Definition at line 132 of file enumerate.hh.
References vcsn::detail::enumerater< Aut >::enumerate().
Referenced by vcsn::ctx::detail::register_functions_is_free().
|
inline |
Definition at line 85 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().
RatExpSet::value_t vcsn::expand | ( | const RatExpSet & | rs, |
const typename RatExpSet::value_t & | e | ||
) |
Expanding a typed ratexp shared_ptr.
Definition at line 152 of file expand.hh.
Referenced by vcsn::ctx::detail::register_functions(), and vcsn::detail::derived_termer< RatExpSet >::via_expansion().
auto vcsn::factor | ( | const Aut & | aut | ) | -> decltype(::vcsn::copy(aut)) |
Definition at line 120 of file prefix.hh.
References copy(), and factor_here().
Referenced by vcsn::dyn::detail::factor().
Aut& vcsn::factor_here | ( | Aut & | aut | ) |
Make each useful state both initial and final.
Definition at line 105 of file prefix.hh.
References useful_states().
Referenced by factor().
std::ostream& vcsn::fado | ( | const Aut & | aut, |
std::ostream & | out | ||
) |
void vcsn::fail_reading | ( | std::istream & | is, |
std::string | explanation | ||
) |
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 107 of file stream.cc.
References str_escape().
Referenced by vcsn::ast::check_eof(), vcsn::detail::min_plus_impl< int >::conv(), vcsn::detail::b_impl::conv(), vcsn::detail::f2_impl::conv(), vcsn::detail::z_impl::conv(), vcsn::detail::r_impl::conv(), vcsn::detail::q_impl::conv(), operator>>(), and vcsn::rat::operator>>().
|
inline |
Get an automaton who is a part state set ss of aut.
Definition at line 259 of file filter.hh.
Referenced by accessible(), coaccessible(), vcsn::dyn::detail::filter(), and trim().
ATTRIBUTE_PURE auto vcsn::find | ( | const std::vector< T, Alloc > & | s, |
const T & | e | ||
) | -> typename std::vector<T, Alloc>::const_iterator |
Convenience wrapper around std::find.
Definition at line 66 of file vector.hh.
Referenced by vcsn::detail::genset_labelset< GenSet >::convs_(), vcsn::detail::mutable_automaton_impl< Context >::del_transition_from_dst(), vcsn::detail::mutable_automaton_impl< Context >::del_transition_from_src(), has(), and vcsn::rat::ratexpset_impl< Context >::letter_class_().
polynomialset<context_t_of<Aut> >::value_t vcsn::get_entry | ( | const Aut & | aut, |
state_t_of< Aut > | s, | ||
state_t_of< Aut > | d | ||
) |
The entry between two states of an automaton.
Definition at line 777 of file polynomialset.hh.
Referenced by vcsn::detail::outputter< Aut >::print_entry_().
std::string vcsn::get_file_contents | ( | const std::string & | file | ) |
std::set<T, Compare, Alloc> vcsn::get_union | ( | const std::set< T, Compare, Alloc > & | set1, |
const std::set< T, Compare, Alloc > & | set2 | ||
) |
The union of two sets.
Referenced by vcsn::detail::join_impl< letterset< GenSet >, letterset< GenSet > >::join().
|
inline |
std::ostream& vcsn::grail | ( | const Aut & | aut, |
std::ostream & | out | ||
) |
|
inline |
|
inline |
Whether e is member of m.
Definition at line 27 of file unordered_map.hh.
|
inline |
Definition at line 35 of file map.hh.
Referenced by vcsn::detail::filter_automaton_impl< Aut >::all_in(), vcsn::detail::filter_automaton_impl< Aut >::all_out(), vcsn::detail::filter_automaton_impl< Aut >::all_states(), vcsn::detail::filter_automaton_impl< Aut >::all_transitions(), vcsn::ast::context_parser::any_(), aut_of_component(), vcsn::detail::cycle_identity_impl< Aut >::check(), complement_here(), complete_here(), copy(), vcsn::detail::scc_tarjan_impl< Aut >::dfs(), vcsn::detail::reverse_postorder_impl< Aut >::dfs(), vcsn::detail::scc_kosaraju_impl< Aut >::dfs(), vcsn::set_alphabet< L >::has(), vcsn::detail::filter_automaton_impl< Aut >::has_state(), intersection(), is_ambiguous(), is_identity(), vcsn::are_isomorphicer< Aut1, Aut2 >::is_isomorphism_valid_throwing(), vcsn::ast::context_parser::labelset_or_weightset_(), vcsn::rat::ratexpset_impl< Context >::letter_class_(), num_accessible_states(), num_useful_states(), vcsn::detail::detweighted_automaton_impl< Aut >::operator()(), vcsn::detail::dotter< Aut >::print_state_(), vcsn::detail::filter_automaton_impl< Aut >::print_state_name(), vcsn::detail::dotter< Aut >::print_transitions_(), vcsn::detail::reverse_postorder_impl< Aut >::reverse_postorder_impl(), vcsn::detail::scc_kosaraju_impl< Aut >::scc_kosaraju_impl(), vcsn::detail::scc_tarjan_impl< Aut >::scc_tarjan_impl(), ss_shortest_distance(), vcsn::detail::filter_automaton_impl< Aut >::state_has_name(), vcsn::detail::tuple_automaton_impl< Aut, Auts...>::state_has_name(), vcsn::detail::ratexp_automaton_impl< Aut >::state_has_name(), vcsn::detail::pair_automaton_impl< Aut >::state_has_name(), vcsn::detail::determinized_automaton_impl< Aut >::state_has_name(), vcsn::detail::detweighted_automaton_impl< Aut >::state_has_name(), vcsn::rat::standard_visitor< Aut, RatExpSet >::VCSN_RAT_VISIT(), vcsn::ast::context_parser::weightset_(), and vcsn::detail::universaler< Aut >::work_().
bool vcsn::has | ( | const std::set< T, Compare, Alloc > & | s, |
const T & | e | ||
) |
Whether e is member of s.
bool vcsn::has | ( | const std::unordered_set< Key, Hash, KeyEqual, Alloc > & | s, |
const Key & | k | ||
) |
Whether e is member of s.
Definition at line 38 of file unordered_set.hh.
ATTRIBUTE_PURE bool vcsn::has | ( | const std::vector< T, Alloc > & | s, |
const T & | e | ||
) |
bool vcsn::has_twins_property | ( | const Aut & | aut | ) |
Whether aut has the twins property.
Definition at line 133 of file has-twins-property.hh.
References create_states_and_trans_(), cycle_identity(), is_cycle_ambiguous(), make_context(), make_mutable_automaton(), product(), require(), scc(), and trim().
|
inline |
Definition at line 61 of file hash.hh.
Referenced by vcsn::detail::min_plus_impl< int >::hash(), vcsn::detail::b_impl::hash(), vcsn::detail::f2_impl::hash(), vcsn::detail::z_impl::hash(), vcsn::detail::qmp_impl::hash(), vcsn::detail::r_impl::hash(), vcsn::oneset::hash(), vcsn::letterset< GenSet >::hash(), vcsn::detail::q_impl::hash(), vcsn::wordset< GenSet >::hash(), and vcsn::detail::detweighted_automaton_impl< Aut >::stateset::hash().
std::ostream & vcsn::iendl | ( | std::ostream & | o | ) |
Print an end of line, then set the indentation.
Definition at line 49 of file indent.cc.
References indent().
Referenced by decendl(), incendl(), vcsn::rat::to_expansion_visitor< RatExpSet >::to_expansion(), and vcsn::ast::context_printer::visit().
|
inline |
The set of values of a map.
Definition at line 16 of file set.hxx.
Referenced by vcsn::detail::universaler< Aut >::work_().
|
inline |
Blindly eliminate epsilon transitions without checking for the validity of the automaton.
Return true iff the process worked.
Definition at line 542 of file proper.hh.
References vcsn::detail::properer< Aut, has_one >::in_situ_remover().
Referenced by vcsn::detail::is_properable().
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< Context >::operator()(), vcsn::rat::to_expansion_visitor< RatExpSet >::to_expansion(), 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 617 of file product.hh.
References join_automata(), and make_product_automaton().
Referenced by vcsn::dyn::detail::infiltration(), vcsn::dyn::detail::infiltration_(), and vcsn::ctx::detail::register_functions_is_free().
std::ostream& vcsn::info | ( | const A & | aut, |
std::ostream & | out, | ||
bool | detailed = false |
||
) |
Definition at line 218 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(), vcsn::detail_info::num_deterministic_states(), vcsn::detail_info::num_eps_transitions(), num_sccs(), and num_useful_states().
Referenced by vcsn::ctx::detail::register_functions().
void vcsn::info | ( | const RatExpSet & | rs, |
const typename RatExpSet::value_t & | e, | ||
std::ostream & | o | ||
) |
Definition at line 285 of file info.hh.
References complement(), conjunction(), DEFINE, shuffle(), star(), and sum().
|
inline |
Definition at line 120 of file insplit.hh.
References vcsn::detail::insplit().
Referenced by vcsn::dyn::detail::insplit(), and is_functional().
|
inline |
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 46 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.
Referenced by intersection(), intersection_closure(), meet(), and useful_states().
|
inline |
Definition at line 42 of file set.hxx.
References intersection().
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.
Referenced by vcsn::detail::universaler< Aut >::work_().
bool vcsn::is_accessible | ( | const Aut & | a | ) |
Definition at line 163 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 23 of file is-ambiguous.hh.
References coaccessible(), coaccessible_states(), has(), and product().
bool vcsn::is_ambiguous | ( | const Aut & | aut | ) |
Definition at line 41 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 | ) |
Definition at line 169 of file accessible.hh.
References num_coaccessible_states().
|
inline |
Whether the transpositive automaton is deterministic.
Definition at line 74 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 15 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 121 of file is-ambiguous.hh.
References aut_of_component(), is_cycle_ambiguous_scc(), and scc().
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 148 of file is-ambiguous.hh.
References product(), and scc().
Referenced by is_cycle_ambiguous().
|
inline |
Whether state s is deterministic in aut.
Definition at line 17 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 57 of file is-deterministic.hh.
References is_deterministic().
bool vcsn::is_empty | ( | const Aut & | a | ) |
Definition at line 178 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 109 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 81 of file is-functional.hh.
References vcsn::detail::composer< Lhs, Rhs >::compose(), compose(), insplit(), and is_identity().
bool vcsn::is_identity | ( | const Aut & | aut | ) |
Whether transducer aut is equivalent to the identity function on all successful path.
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 path of states by eliminate longest common prefix.
Definition at line 26 of file is-functional.hh.
References coaccessible_states(), has(), and vcsn::detail::make_wordset().
Referenced by is_functional().
bool vcsn::is_normalized | ( | const Aut & | a | ) |
Whether a is standard and co-standard.
Definition at line 13 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 31 of file sort.hh.
References vcsn::detail::is_sorted().
Referenced by vcsn::ctx::detail::register_functions().
bool vcsn::is_proper | ( | const Aut & | aut | ) |
Test whether an automaton is proper.
An automaton is proper iff it contains no epsilon-transition.
aut | The tested automaton |
Definition at line 49 of file is-proper.hh.
References vcsn::detail::is_proper_().
Referenced by info(), vcsn::detail::is_valider< Aut, has_one >::is_valid_(), vcsn::detail::properer< Aut, has_one >::proper_here(), and vcsn::ctx::detail::register_functions().
bool vcsn::is_standard | ( | const Aut & | a | ) |
Whether a is standard.
Definition at line 27 of file standard.hh.
Referenced by concatenate(), concatenate_here(), info(), is_costandard(), is_normalized(), vcsn::detail::standard_operations< Aut >::left_mult_here(), vcsn::ctx::detail::register_functions(), standard_here(), star_here(), and sum_here().
bool vcsn::is_synchronized_by | ( | const Aut & | aut, |
const typename labelset_t_of< Aut >::word_t & | w | ||
) |
Definition at line 37 of file synchronizing-word.hh.
References require().
Referenced by vcsn::dyn::detail::is_synchronized_by(), and vcsn::ctx::detail::register_functions_is_free().
bool vcsn::is_synchronizing | ( | const Aut & | aut | ) |
Definition at line 387 of file synchronizing-word.hh.
References vcsn::detail::synchronizer< Aut >::is_synchronizing().
Referenced by vcsn::detail_info::is_synchronizing(), vcsn::dyn::detail::is_synchronizing(), and vcsn::ctx::detail::register_functions_is_free().
bool vcsn::is_trim | ( | const Aut & | a | ) |
Definition at line 151 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 | ) |
Definition at line 157 of file accessible.hh.
References num_useful_states().
Referenced by are_equivalent(), info(), and vcsn::ctx::detail::register_functions().
|
inline |
Definition at line 138 of file is-valid.hh.
References vcsn::detail::is_valider< Aut, has_one >::is_valid().
Referenced by info(), vcsn::dyn::detail::is_valid_ratexp(), vcsn::detail::properer< Aut, has_one >::proper_here_(), vcsn::ctx::detail::register_functions(), and vcsn::rat::ratexpset_impl< Context >::star().
bool vcsn::is_valid | ( | const RatExpSet & | rs, |
const typename RatExpSet::value_t & | e | ||
) |
Whether e has only computable stars.
Definition at line 18 of file is-valid-ratexp.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_polynomial(), vcsn::dyn::detail::concatenate_ratexp(), vcsn::dyn::detail::conjunction_ratexp(), join(), vcsn::detail::join_impl< context< LS1, WS1 >, context< LS2, WS2 > >::join(), vcsn::detail::join_impl< ratexpset< Ctx1 >, ratexpset< Ctx2 > >::join(), vcsn::detail::join_impl< letterset< GenSet1 >, ratexpset< Ctx2 > >::join(), vcsn::detail::join_impl< z, ratexpset< Context > >::join(), vcsn::detail::join_impl< q, ratexpset< Context > >::join(), vcsn::detail::join_impl< r, ratexpset< Context > >::join(), vcsn::detail::join_impl< zmin, ratexpset< Context > >::join(), vcsn::detail::join_impl< LS1, nullableset< LS2 > >::join(), vcsn::detail::join_impl< nullableset< LS1 >, nullableset< LS2 > >::join(), vcsn::detail::join_impl< polynomialset< Ctx1 >, polynomialset< Ctx2 > >::join(), vcsn::detail::join_impl< WS1, polynomialset< Ctx2 > >::join(), join_automata(), join_weightset_ratexpset(), vcsn::dyn::detail::left_mult(), vcsn::detail::composer< Lhs, Rhs >::make_context_(), meet(), vcsn::dyn::detail::multiply_weight(), vcsn::dyn::detail::right_mult(), vcsn::dyn::detail::shuffle_ratexp(), vcsn::dyn::detail::sum_polynomial(), vcsn::dyn::detail::sum_ratexp(), and vcsn::dyn::detail::sum_weight().
auto vcsn::join | ( | const ValueSet1 & | vs1, |
const ValueSet2 & | vs2, | ||
const VSs &... | vs | ||
) | -> decltype(join(detail::join_(vs1, vs2, 0), vs...)) |
The join of two (or more) valuesets.
Definition at line 53 of file join.hh.
References join(), and vcsn::detail::join_().
Referenced by vcsn::detail::join_().
auto vcsn::join_automata | ( | Auts &&... | auts | ) | -> decltype(make_mutable_automaton(join(auts->context()...))) |
Join between automata.
Definition at line 24 of file product.hh.
References join(), and make_mutable_automaton().
Referenced by concatenate(), infiltration(), shuffle(), sum(), and union_a().
ratexpset<context<labelset_t_of<RatExpSet>, join_t<WeightSet, weightset_t_of<RatExpSet> > > > vcsn::join_weightset_ratexpset | ( | const WeightSet & | ws, |
const RatExpSet & | rs | ||
) |
Join between a ratexpset and a weightset.
We must not perform a plain
join(w1.weightset(), r1.ratexpset())
here. Consider for instance
ratexpset<lal(abc), ratexpset<law(xyz), b>>
we would perform
join(ratexpset<law(xyz), b>, ratexpset<lal(abc), ratexpset<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 "ratexpset<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 165 of file left-mult.hh.
References join(), make_context(), and make_ratexpset().
Referenced by vcsn::dyn::detail::left_mult_ratexp(), and vcsn::dyn::detail::right_mult_ratexp().
auto vcsn::label_is_zero | ( | const LabelSet & | ls, |
const typename LabelSet::value_t * | l | ||
) | -> decltype(ls.is_zero(l), bool()) |
Definition at line 31 of file polynomialset.hh.
Referenced by vcsn::polynomialset< ratexpset_t >::add_here().
bool vcsn::label_is_zero | ( | const LabelSet & | , |
... | |||
) |
Definition at line 46 of file polynomialset.hh.
mutable_automaton<Context> vcsn::ladybird | ( | const Context & | ctx, |
unsigned | n | ||
) |
Definition at line 16 of file ladybird.hh.
References require().
Referenced by vcsn::dyn::detail::ladybird(), vcsn::ctx::detail::register_functions_is_free(), and vcsn::ctx::detail::register_kind_functions().
|
inline |
Definition at line 91 of file left-mult.hh.
References left_mult_here().
Referenced by vcsn::dyn::detail::left_mult_ratexp(), and vcsn::ctx::detail::register_functions().
|
inline |
Definition at line 135 of file left-mult.hh.
|
inline |
Definition at line 82 of file left-mult.hh.
References vcsn::detail::standard_operations< Aut >::left_mult_here().
Referenced by left_mult(), and vcsn::dyn::detail::left_mult().
auto vcsn::left_reduce | ( | const Aut & | input | ) | -> decltype(copy(input)) |
RatExpSet::value_t vcsn::less_than | ( | const RatExpSet & | rs, |
const typename RatExpSet::value_t & | v | ||
) |
Definition at line 150 of file less-than.hh.
Referenced by vcsn::rat::ratexpset_impl< Context >::equals(), vcsn::nullableset< LabelSet >::less_than(), vcsn::rat::less_than< RatExpSet >::less_than_(), vcsn::rat::ratexpset_impl< Context >::less_than_ignoring_weight_(), vcsn::detail_weighted::minimizer< Aut >::minimizer(), vcsn::polynomialset< ratexpset_t >::monomial_less_than(), vcsn::less< ValueSet >::operator()(), and vcsn::are_isomorphicer< Aut1, Aut2 >::state_to_class().
|
inline |
Definition at line 77 of file lift.hh.
References vcsn::detail::lift_context(), and vcsn::detail::map().
Referenced by vcsn::dyn::detail::lift_automaton(), vcsn::dyn::detail::lift_ratexp(), and to_expression().
|
inline |
Definition at line 145 of file lift.hh.
References vcsn::detail::lift_ratexpset().
|
inline |
Definition at line 106 of file print.hh.
Referenced by vcsn::dyn::detail::list_polynomial().
Ctx vcsn::make_context | ( | const std::string & | name | ) |
Definition at line 22 of file make-context.hh.
References is, and str_escape().
Referenced by has_twins_property(), join_weightset_ratexpset(), 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 160 of file context.hh.
mutable_automaton<Context> vcsn::make_mutable_automaton | ( | const Context & | ctx | ) |
Definition at line 890 of file mutable-automaton.hh.
Referenced by vcsn::dyn::detail::copy_convert(), has_twins_property(), join_automata(), vcsn::dyn::detail::left_mult(), meet_automata(), proper(), and vcsn::dyn::detail::right_mult().
std::pair<T, T> vcsn::make_ordered_pair | ( | T | e1, |
T | e2 | ||
) |
Definition at line 36 of file pair.hh.
Referenced by vcsn::detail::pair_automaton_impl< Aut >::state_().
|
inline |
Definition at line 429 of file product.hh.
Referenced by infiltration(), product(), and shuffle().
struct random_selector< RandomGenerator > vcsn::make_random_selector | ( | const RandomGenerator & | g | ) |
Definition at line 65 of file random.hh.
Referenced by random_label().
ratexpset<Context> vcsn::make_ratexpset | ( | const Context & | ctx, |
rat::identities | identities | ||
) |
Shorthand to ratexpset constructor.
Definition at line 471 of file ratexpset.hh.
Referenced by join_weightset_ratexpset(), and vcsn::ctx::detail::register_functions().
|
inline |
|
inline |
Definition at line 258 of file tuple-automaton.hh.
auto vcsn::meet | ( | const ValueSet & | vs | ) | -> ValueSet |
The meet of a single valueset.
Useful for variadic operator on a single argument.
Definition at line 183 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 192 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 232 of file context.hh.
References join(), and meet().
|
inline |
letterset<GenSet> vcsn::meet | ( | const letterset< GenSet > & | lhs, |
const letterset< GenSet > & | rhs | ||
) |
Compute the meet with another labelset.
Definition at line 259 of file letterset.hh.
References intersection().
wordset<GenSet> vcsn::meet | ( | const wordset< GenSet > & | lhs, |
const wordset< GenSet > & | rhs | ||
) |
Compute the meet with another alphabet.
Definition at line 308 of file wordset.hh.
References intersection().
|
inline |
The meet of two ratexpsets.
Definition at line 480 of file ratexpset.hh.
Referenced by meet(), and 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 532 of file nullableset.hh.
nullableset<letterset<GenSet> > vcsn::meet | ( | const letterset< GenSet > & | lhs, |
const nullableset< letterset< GenSet >> & | rhs | ||
) |
Definition at line 535 of file nullableset.hh.
nullableset<letterset<GenSet> > vcsn::meet | ( | const nullableset< letterset< GenSet >> & | lhs, |
const letterset< GenSet > & | rhs | ||
) |
Definition at line 538 of file nullableset.hh.
nullableset<meet_t<Lls, Rls> > vcsn::meet | ( | const nullableset< Lls > & | lhs, |
const nullableset< Rls > & | rhs | ||
) |
Definition at line 542 of file nullableset.hh.
References meet().
auto vcsn::meet_automata | ( | Auts &&... | auts | ) | -> decltype(make_mutable_automaton(meet(auts->context()...))) |
Meet between automata.
Definition at line 33 of file product.hh.
References make_mutable_automaton(), and meet().
Referenced by product().
|
inline |
Definition at line 31 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 49 of file minimize.hh.
References minimize_signature(), minimize_weighted(), and str_escape().
|
inline |
Definition at line 64 of file minimize.hh.
References minimize_weighted(), and str_escape().
|
inline |
Definition at line 18 of file minimize-brzozowski.hh.
References codeterminize(), and determinize().
Referenced by cominimize_brzozowski(), and vcsn::dyn::detail::minimize().
|
inline |
Definition at line 218 of file minimize-moore.hh.
References minimize().
Referenced by minimize().
|
inline |
Definition at line 423 of file minimize-signature.hh.
References minimize().
Referenced by minimize().
|
inline |
Definition at line 396 of file minimize-weighted.hh.
References minimize().
Referenced by minimize().
|
inline |
Product of weights.
Definition at line 331 of file concatenate.hh.
state_t_of<Aut> vcsn::next_naive | ( | const Aut & | a | ) |
Definition at line 29 of file to-expression.hh.
Referenced by eliminate_state_here().
auto vcsn::normalize | ( | const Aut & | a | ) | -> decltype(copy(a)) |
Normalize a automaton.
Definition at line 21 of file normalize.hh.
References costandard(), and standard().
Referenced by vcsn::rat::expansionset< ratexpset_t >::conjunctions_with_one_(), vcsn::rat::expansionset< ratexpset_t >::ldiv_here(), and vcsn::dyn::detail::normalize().
size_t vcsn::num_accessible_states | ( | const Aut & | a | ) |
Number of accessible states, not counting pre() and post().
Definition at line 84 of file accessible.hh.
References accessible_states(), and has().
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 99 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 48 of file is-deterministic.hh.
References num_deterministic_states(), and transpose().
Referenced by vcsn::detail_info::num_codeterministic_states().
|
inline |
Number of non-deterministic states.
Definition at line 34 of file is-deterministic.hh.
References is_deterministic().
Referenced by num_codeterministic_states(), and vcsn::detail_info::num_deterministic_states().
std::size_t vcsn::num_sccs | ( | const Aut & | aut | ) |
size_t vcsn::num_useful_states | ( | const Aut & | a | ) |
Number of accessible states, not counting pre() and post().
Definition at line 107 of file accessible.hh.
References has(), 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 | ) |
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.
|
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.
pair_automaton<Aut> vcsn::pair | ( | const Aut & | aut, |
bool | keep_initials = false |
||
) |
Definition at line 214 of file pair.hh.
Referenced by vcsn::detail::properer< Aut, has_one >::in_situ_remover_(), vcsn::detail::synchronizer< Aut >::init_pair(), vcsn::dyn::detail::pair(), and vcsn::ctx::detail::register_functions_is_free().
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 119 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, |
std::vector< state_t_of< Aut >> | start | ||
) |
Definition at line 74 of file distance.hh.
Referenced by vcsn::detail::synchronizer< Aut >::init_pair().
auto vcsn::power | ( | const Aut & | aut, |
unsigned | n | ||
) | -> typename Aut::element_type::automaton_nocv_t |
Definition at line 674 of file product.hh.
References product(), and vcsn::detail::automaton_decorator< Aut >::strip().
Referenced by vcsn::dyn::detail::power(), and vcsn::ctx::detail::register_functions_is_free().
auto vcsn::prefix | ( | const Aut & | aut | ) | -> decltype(::vcsn::copy(aut)) |
Definition at line 72 of file prefix.hh.
References copy(), and prefix_here().
Referenced by vcsn::ast::context_parser::automaton_(), and vcsn::dyn::detail::prefix().
Aut& vcsn::prefix_here | ( | Aut & | aut | ) |
Make all coaccessible states final.
Definition at line 63 of file prefix.hh.
References suffix_here(), and transpose().
Referenced by prefix().
|
inline |
Applies to (ValueSet, Value, ostream, string): for expansionset, polynomialset, ratexpset, and weightset.
Definition at line 51 of file print.hh.
Referenced by vcsn::rat::printer< Context >::operator()(), vcsn::rat::ratexpset_impl< Context >::print(), vcsn::dyn::detail::print_expansion(), vcsn::dyn::detail::print_label(), vcsn::dyn::detail::print_polynomial(), vcsn::dyn::detail::print_ratexp(), and vcsn::dyn::detail::print_weight().
std::ostream& vcsn::print | ( | const std::set< T, Compare, Alloc > & | set, |
std::ostream & | o | ||
) |
Print with a separator. Meant to help debugging.
|
inline |
|
inline |
Build the (accessible part of the) product.
Definition at line 445 of file product.hh.
References make_product_automaton(), and meet_automata().
Referenced by difference(), has_twins_property(), is_ambiguous(), is_cycle_ambiguous_scc(), power(), vcsn::dyn::detail::product(), vcsn::dyn::detail::product_(), and vcsn::ctx::detail::register_functions_is_free().
auto vcsn::proper | ( | const Aut & | aut, |
direction | dir = direction::backward , |
||
bool | prune = true |
||
) | -> mutable_automaton<decltype(proper_context(copy(aut)->context()))> |
Eliminate spontaneous transitions.
Raise if the input automaton is invalid.
Definition at line 613 of file proper.hh.
References copy(), copy_into(), make_mutable_automaton(), proper_context(), and proper_here().
Referenced by vcsn::dyn::detail::proper(), and vcsn::ctx::detail::register_functions().
auto vcsn::proper_context | ( | const context< LabelSet, WeightSet > & | ctx | ) | -> context<typename proper_labelset<LabelSet>::type, WeightSet> |
From a context, its non-nullable context.
Definition at line 599 of file proper.hh.
References vcsn::proper_labelset< LabelSet >::value().
Referenced by proper().
|
inline |
Eliminate spontaneous transitions in place.
Raise if the automaton was not valid.
Definition at line 551 of file proper.hh.
References backward, forward, vcsn::detail::properer< Aut, has_one >::proper_here(), and transpose().
Referenced by proper().
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 53 of file push-weights.hh.
References copy(), and shortest_distance_to_finals().
Referenced by vcsn::dyn::detail::push_weights(), and vcsn::ctx::detail::register_functions().
|
inline |
Definition at line 143 of file quotient.hh.
Referenced by vcsn::detail_moore::minimizer< Aut >::operator()(), vcsn::detail_weighted::minimizer< Aut >::operator()(), and vcsn::detail_signature::minimizer< Aut >::operator()().
|
inline |
mutable_automaton<Ctx> vcsn::random | ( | const Ctx & | ctx, |
unsigned | num_states, | ||
float | density = 0.1 , |
||
unsigned | num_initial = 1 , |
||
unsigned | num_final = 1 |
||
) |
Definition at line 86 of file random.hh.
References vcsn::random_selector< RandomGenerator >::pop(), random_label(), and require().
Referenced by vcsn::dyn::detail::random(), and vcsn::ctx::detail::register_functions().
mutable_automaton<Ctx> vcsn::random_deterministic | ( | const Ctx & | ctx, |
unsigned | num_states | ||
) |
Definition at line 235 of file random.hh.
References require().
Referenced by vcsn::dyn::detail::random_deterministic(), and vcsn::ctx::detail::register_functions_is_free().
oneset::value_t vcsn::random_label | ( | const oneset & | ls, |
RandomGenerator & | = RandomGenerator() |
||
) |
Definition at line 20 of file random.hh.
References vcsn::oneset::one().
Referenced by random(), and random_label().
tupleset<LabelSet...>::value_t vcsn::random_label | ( | const tupleset< LabelSet...> & | ls, |
RandomGenerator & | gen = RandomGenerator() |
||
) |
Definition at line 29 of file random.hh.
References vcsn::tupleset< LabelSets >::indices, and random_label().
tupleset<LabelSet...>::value_t vcsn::random_label | ( | const tupleset< LabelSet...> & | ls, |
RandomGenerator & | gen, | ||
detail::index_sequence< I...> | |||
) |
Definition at line 39 of file random.hh.
References random_label(), and vcsn::tupleset< LabelSets >::value().
LabelSet::value_t vcsn::random_label | ( | const LabelSet & | ls, |
RandomGenerator & | gen = RandomGenerator() |
||
) |
Definition at line 50 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 61 of file random.hh.
References vcsn::nullableset< LabelSet >::labelset(), vcsn::nullableset< LabelSet >::one(), random_label(), and vcsn::nullableset< LabelSet >::value().
ratexpset<Context>::value_t vcsn::random_label | ( | const ratexpset< Context > & | rs, |
RandomGenerator & | gen = RandomGenerator() |
||
) |
Definition at line 74 of file random.hh.
References random_label().
|
inline |
Definition at line 21 of file read.hh.
References is.
Referenced by vcsn::ctx::detail::register_functions().
|
inline |
Definition at line 55 of file read.hh.
Referenced by vcsn::ctx::detail::register_functions().
|
inline |
Definition at line 90 of file read.hh.
References is.
Referenced by vcsn::ctx::detail::register_functions().
auto vcsn::reduce | ( | const Aut & | input | ) | -> decltype(copy(input)) |
Definition at line 610 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 39 of file raise.hh.
Referenced by vcsn::edit_automaton< Aut >::add_entry(), ambiguous_word(), cerny(), complement_here(), concatenate(), concatenate_here(), conv(), vcsn::detail::min_plus_impl< int >::conv(), vcsn::oneset::conv(), vcsn::letterset< GenSet >::conv(), vcsn::detail::q_impl::conv(), vcsn::nullableset< LabelSet >::conv(), vcsn::polynomialset< ratexpset_t >::conv(), vcsn::detail::genset_labelset< GenSet >::convs_(), de_bruijn(), derivation(), vcsn::dyn::detail::derived_term(), vcsn::detail::synchronizer< Aut >::dest_state(), divkbaseb(), double_ring(), eat(), vcsn::detail::gcd(), vcsn::dyn::detail::Registry< Fun >::get(), vcsn::char_letters::get_char(), get_file_contents(), vcsn::are_isomorphicer< Aut1, Aut2 >::get_full_response(), vcsn::detail::pair_automaton_impl< Aut >::get_origin(), vcsn::detail::pair_automaton_impl< Aut >::get_q0(), vcsn::set_alphabet< L >::get_word(), has_twins_property(), vcsn::detail::synchronizer< Aut >::init_synchro(), is_synchronized_by(), ladybird(), vcsn::wordset< GenSet >::ldiv(), vcsn::rat::ratexpset_impl< Context >::letter_class_(), vcsn::detail_moore::minimizer< Aut >::minimizer(), vcsn::detail_weighted::minimizer< Aut >::minimizer(), vcsn::detail_signature::minimizer< Aut >::minimizer(), vcsn::detail::state_eliminator< Aut, labels_are_one >::operator()(), vcsn::detail::state_eliminator< Aut, labels_are_ratexps >::operator()(), vcsn::are_isomorphicer< Aut1, Aut2 >::origins(), vcsn::detail::dot::driver::parse(), vcsn::detail::dot::parser::parse(), vcsn::detail::properer< Aut, has_one >::proper_here_(), random(), random_deterministic(), vcsn::detail::min_plus_impl< int >::rdiv(), vcsn::detail::b_impl::rdiv(), vcsn::detail::z_impl::rdiv(), vcsn::detail::f2_impl::rdiv(), vcsn::detail::qmp_impl::rdiv(), vcsn::detail::r_impl::rdiv(), vcsn::detail::q_impl::rdiv(), vcsn::dyn::read_efsm(), vcsn::rat::ratexpset_impl< Context >::require_weightset_commutativity(), vcsn::detail::f2_impl::star(), vcsn::rat::ratexpset_impl< Context >::star(), star_here(), sum_here(), and u().
std::ostream & vcsn::resetindent | ( | std::ostream & | o | ) |
Reset the indentation.
Definition at line 34 of file indent.cc.
References vcsn::detail::indentation.
std::stack<state_t_of<Aut> > vcsn::reverse_postorder | ( | const Aut & | aut | ) |
Get all vertices in reverse postorder.
Definition at line 152 of file scc.hh.
References vcsn::detail::reverse_postorder_impl< Aut >::reverse_post().
Referenced by vcsn::detail::scc_kosaraju_impl< Aut >::scc_kosaraju_impl().
|
inline |
Definition at line 211 of file left-mult.hh.
References copy(), and right_mult_here().
Referenced by vcsn::ctx::detail::register_functions(), and vcsn::dyn::detail::right_mult_ratexp().
|
inline |
Definition at line 250 of file left-mult.hh.
|
inline |
Definition at line 203 of file left-mult.hh.
References vcsn::detail::standard_operations< Aut >::right_mult_here().
Referenced by right_mult(), and vcsn::dyn::detail::right_mult().
const detail::components_t<Aut> vcsn::scc | ( | const Aut & | aut, |
SCC_ALGO | algo = SCC_ALGO::TARJAN |
||
) |
Find all strongly connected components of aut.
Definition at line 229 of file scc.hh.
References BUILTIN_UNREACHABLE, vcsn::detail::scc_tarjan_impl< Aut >::components(), vcsn::detail::scc_kosaraju_impl< Aut >::components(), KOSARAJU, and TARJAN.
Referenced by has_twins_property(), is_cycle_ambiguous(), is_cycle_ambiguous_scc(), and num_sccs().
|
inline |
Definition at line 141 of file enumerate.hh.
References vcsn::detail::enumerater< Aut >::shortest().
Referenced by 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 27 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 distance of each state to the final states of aut.
Definition at line 37 of file push-weights.hh.
References shortest_distance_to_finals().
|
inline |
The (accessible part of the) shuffle product.
Definition at line 520 of file product.hh.
References join_automata(), and make_product_automaton().
Referenced by info(), vcsn::dyn::detail::shuffle(), vcsn::dyn::detail::shuffle_(), and vcsn::dyn::detail::shuffle_ratexp().
|
inline |
Shuffle product of ratexps.
Definition at line 579 of file product.hh.
std::string vcsn::sname | ( | ) |
Definition at line 31 of file name.hh.
Referenced by vcsn::dyn::make_context(), vcsn::set_alphabet< L >::sname(), vcsn::detail::genset_labelset< GenSet >::sname(), vcsn::detail::permutation_automaton_impl< Aut >::sname(), vcsn::detail::transpose_automaton_impl< Aut >::sname(), vcsn::detail::partition_automaton_impl< Aut >::sname(), vcsn::detail::filter_automaton_impl< Aut >::sname(), vcsn::rat::expansionset< ratexpset_t >::sname(), vcsn::detail::determinized_automaton_impl< Aut >::sname(), vcsn::polynomialset< ratexpset_t >::sname(), vcsn::rat::ratexpset_impl< Context >::sname(), vcsn::context< LabelSet, WeightSet >::sname(), vcsn::detail::mutable_automaton_impl< Context >::sname(), vcsn::detail::blind_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::tuple_automaton_impl< Aut, Auts...>::sname_(), and vcsn::tupleset< LabelSets >::sname_().
std::string vcsn::sname | ( | T & | ) |
Definition at line 37 of file name.hh.
Referenced by vcsn::snamer< T >::operator()().
|
inline |
Definition at line 185 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_weighted::minimizer< Aut >::minimizer(), 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::sort(), and vcsn::detail::quotienter< Aut >::sort_classes_().
|
inline |
Split a ratexp.
Definition at line 257 of file split.hh.
Referenced by derivation(), vcsn::detail::derived_termer< RatExpSet >::init_(), vcsn::ctx::detail::register_functions(), split(), split_polynomial(), and vcsn::detail::derived_termer< RatExpSet >::via_expansion().
|
inline |
Split a polynomial of ratexps.
Definition at line 288 of file split.hh.
References vcsn::rat::make_ratexp_polynomialset(), and split().
|
inline |
std::unordered_map<state_t_of<Aut>, weight_t_of<Aut> > vcsn::ss_shortest_distance | ( | Aut | aut, |
state_t_of< Aut > | s0 | ||
) |
Single source shortest distance.
Find shortest path from state s0 to all states of automaton aut.
Definition at line 23 of file distance.hh.
References has().
Referenced by shortest_distance_to_finals().
|
inline |
auto vcsn::standard | ( | const Aut & | aut | ) | -> decltype(copy(aut)) |
Definition at line 120 of file standard.hh.
References copy(), and standard_here().
Referenced by costandard(), normalize(), vcsn::ctx::detail::register_functions(), vcsn::dyn::detail::standard(), and standard().
Aut vcsn::standard | ( | const RatExpSet & | rs, |
const typename RatExpSet::value_t & | r | ||
) |
Build a standard automaton from a ratexp.
Aut | relative to the generated automaton. |
RatExpSet | relative to the RatExp. |
Definition at line 381 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 85 of file standard.hh.
References is_standard().
Referenced by standard().
Aut::element_type::automaton_nocv_t vcsn::star | ( | const Aut & | aut | ) |
Star of a standard automaton.
Definition at line 61 of file star.hh.
References copy(), and star_here().
Referenced by chain(), info(), and vcsn::dyn::detail::star().
|
inline |
Star height of a ratexp.
Definition at line 86 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 21 of file star.hh.
References is_standard(), and require().
Referenced by star().
RatExpSet::value_t vcsn::star_normal_form | ( | const RatExpSet & | rs, |
const typename RatExpSet::value_t & | e | ||
) |
Star_Normal_Forming a typed ratexp shared_ptr.
Definition at line 182 of file star-normal-form.hh.
Referenced by vcsn::ctx::detail::register_functions().
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(), vcsn::dyn::detail::codeterminize(), conv(), vcsn::detail::min_plus_impl< int >::conv(), vcsn::letterset< GenSet >::conv(), vcsn::nullableset< LabelSet >::conv(), vcsn::polynomialset< ratexpset_t >::conv(), vcsn::detail::genset_labelset< GenSet >::convs_(), vcsn::dyn::detail::determinize(), eat(), fail_reading(), vcsn::rat::printer< Context >::format(), vcsn::set_alphabet< L >::get_word(), vcsn::ast::context_parser::labelset_(), vcsn::wordset< GenSet >::ldiv(), make_context(), minimize(), vcsn::char_letters::print(), vcsn::letterset< GenSet >::print(), vcsn::dyn::print(), str_escape(), synchronizing_word(), vcsn::dyn::detail::to_expression(), 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 271 of file string.hh.
References vcsn::string_letters::special_letter().
|
inline |
Definition at line 279 of file string.hh.
References vcsn::string_letters::special_letter().
|
inline |
Remove (all) the decorations from a decorated automaton.
Definition at line 38 of file strip.hh.
References vcsn::detail::strip().
Referenced by difference(), vcsn::dyn::detail::strip(), and vcsn::detail::transpose_automaton_impl< Aut >::strip().
|
inline |
Whether set1 ⊆ set2.
Definition at line 88 of file set.hxx.
Referenced by vcsn::detail::universaler< Aut >::work_().
auto vcsn::subword | ( | const Aut & | aut | ) | -> decltype(::vcsn::copy(aut)) |
Apply subword_here() to a copy of aut.
Definition at line 175 of file prefix.hh.
References copy(), and subword_here().
Referenced by vcsn::dyn::detail::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::dyn::detail::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 prefix_here(), and suffix().
|
inline |
Definition at line 65 of file sum.hh.
References join_automata(), and sum_here().
Referenced by chain(), info(), vcsn::are_isomorphicer< Aut1, Aut2 >::print_class_stats(), vcsn::dyn::detail::sum(), and vcsn::dyn::detail::sum_ratexp().
|
inline |
A& vcsn::sum_here | ( | A & | res, |
const B & | b | ||
) |
Merge transitions of b into those of res.
Definition at line 28 of file sum.hh.
References is_standard(), and require().
Referenced by sum().
labelset_t_of<Aut>::word_t vcsn::synchronizing_word | ( | const Aut & | aut, |
const std::string & | algo = "greedy" |
||
) |
Definition at line 416 of file synchronizing-word.hh.
References vcsn::detail::synchronizer< Aut >::cycle(), vcsn::detail::synchronizer< Aut >::fastsynchro(), vcsn::detail::synchronizer< Aut >::greedy(), str_escape(), vcsn::detail::synchronizer< Aut >::synchroP(), and vcsn::detail::synchronizer< Aut >::synchroPL().
Referenced by vcsn::ctx::detail::register_functions_is_free(), and vcsn::dyn::detail::synchronizing_word().
Aut vcsn::thompson | ( | const context_t_of< Aut > & | ctx, |
const RatExpSet & | rs, | ||
const typename RatExpSet::value_t & | r | ||
) |
Build a Thompson automaton from a ratexp.
Aut | relative to the generated automaton. |
RatExpSet | relative to the RatExp. |
Definition at line 170 of file thompson.hh.
Referenced by vcsn::ctx::detail::register_functions(), and thompson().
Aut vcsn::thompson | ( | const RatExpSet & | rs, |
const typename RatExpSet::value_t & | r | ||
) |
Build a Thompson automaton from a ratexp.
Aut | relative to the generated automaton. |
RatExpSet | relative to the RatExp. |
Definition at line 184 of file thompson.hh.
References thompson().
std::ostream& vcsn::tikz | ( | const AutPtr & | aut, |
std::ostream & | out | ||
) |
Print automaton to TikZ format.
AutPtr | an automaton type. |
Definition at line 128 of file tikz.hh.
Referenced by vcsn::ctx::detail::register_functions().
|
inline |
First order expansion.
Definition at line 420 of file to-expansion.hh.
References vcsn::dyn::detail::to_expansion().
Referenced by vcsn::ctx::detail::register_functions(), and vcsn::rat::to_expansion_visitor< RatExpSet >::VCSN_RAT_VISIT().
RatExpSet::value_t vcsn::to_expression | ( | const Aut & | a, |
const state_chooser_t< Aut > & | next_state | ||
) |
Definition at line 267 of file to-expression.hh.
References lift(), and vcsn::detail::make_state_eliminator().
Referenced by vcsn::ctx::detail::register_functions(), and to_expression_naive().
RatExpSet::value_t vcsn::to_expression_naive | ( | const Aut & | a | ) |
Definition at line 281 of file to-expression.hh.
References to_expression().
Referenced by vcsn::dyn::detail::to_expression().
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::detail::qmp_impl::hash(), vcsn::detail::outputter< Aut >::label_(), operator<<(), vcsn::lazy_automaton_editor::result(), vcsn::detail::min_plus_impl< int >::star(), vcsn::detail::z_impl::star(), vcsn::detail::qmp_impl::star(), vcsn::detail::r_impl::star(), vcsn::detail::q_impl::star(), and vcsn::polynomialset< ratexpset_t >::star().
auto vcsn::to_string | ( | const ValueSet & | vs, |
const typename ValueSet::value_t & | v, | ||
Args &&... | args | ||
) | -> std::string |
RatExpSet::value_t vcsn::transpose | ( | const RatExpSet & | rs, |
const typename RatExpSet::value_t & | v | ||
) |
Definition at line 154 of file transpose.hh.
Referenced by vcsn::dyn::detail::transpose_ratexp().
|
inline |
Definition at line 230 of file transpose.hh.
Referenced by vcsn::detail::blind_automaton_impl< Tape, Aut >::add_transition_copy(), vcsn::detail::mutable_automaton_impl< Context >::add_transition_copy(), coaccessible_states(), codeterminize(), codeterminize_weighted(), cominimize(), cominimize_brzozowski(), costandard(), is_codeterministic(), is_costandard(), vcsn::detail::blind_automaton_impl< Tape, Aut >::new_transition_copy(), vcsn::detail::mutable_automaton_impl< Context >::new_transition_copy(), num_coaccessible_states(), num_codeterministic_states(), prefix_here(), proper_here(), reduce(), vcsn::ctx::detail::register_functions(), vcsn::detail::scc_kosaraju_impl< Aut >::scc_kosaraju_impl(), vcsn::detail::transpose_automaton_impl< Aut >::strip(), vcsn::dyn::detail::transpose(), and vcsn::detail::universaler< Aut >::work_().
|
inline |
Definition at line 238 of file transpose.hh.
filter_automaton<Aut> vcsn::trim | ( | const Aut & | a | ) |
Definition at line 141 of file accessible.hh.
References filter(), and useful_states().
Referenced by has_twins_property(), vcsn::ctx::detail::register_functions(), and vcsn::dyn::detail::trim().
mutable_automaton<Context> vcsn::u | ( | const Context & | ctx, |
unsigned | n | ||
) |
The Brzozowski universal witness.
Definition at line 17 of file u.hh.
References require().
Referenced by vcsn::ctx::detail::register_functions_is_free(), vcsn::ctx::detail::register_kind_functions(), and vcsn::dyn::detail::u().
|
inline |
Union of two automata.
Definition at line 33 of file union.hh.
References join_automata(), and union_here().
Referenced by vcsn::ctx::detail::register_functions(), and vcsn::dyn::detail::union_a().
|
inline |
Merge transitions of b into those of res.
Definition at line 23 of file union.hh.
References copy_into().
Referenced by union_a().
|
inline |
Definition at line 127 of file universal.hh.
Referenced by vcsn::dyn::detail::universal().
states_t<Aut> vcsn::useful_states | ( | const Aut & | a | ) |
Definition at line 69 of file accessible.hh.
References accessible(), accessible_states(), coaccessible(), coaccessible_states(), and intersection().
Referenced by factor_here(), 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 | ) |
std::string vcsn::vname | ( | T & | t | ) |
Definition at line 65 of file name.hh.
Referenced by vcsn::dyn::detail::Registry< Fun >::call_variadic(), vcsn::tupleset< LabelSets >::vname_(), and vsignature().
|
inline |
The signature of (Args...).
Definition at line 178 of file name.hh.
References vname().
Referenced by vcsn::dyn::detail::Registry< Fun >::call().
zip_sequences<Sequences...> vcsn::zip | ( | Sequences &&... | seqs | ) |
Definition at line 223 of file zip.hh.
Referenced by vcsn::tupleset< LabelSets >::letters_of_().
zipped_maps<Dereference, Maps...> vcsn::zip_map_tuple | ( | const std::tuple< Maps...> & | maps | ) |
Definition at line 264 of file zip-maps.hh.
Referenced by vcsn::detail::product_automaton_impl< Aut, Auts >::add_product_transitions().
zipped_maps<Dereference, Maps...> vcsn::zip_maps | ( | Maps &&... | maps | ) |
Definition at line 257 of file zip-maps.hh.
Referenced by vcsn::detail::composer< Lhs, Rhs >::add_compose_transitions(), vcsn::rat::expansionset< ratexpset_t >::conjunction(), vcsn::detail::pair_automaton_impl< Aut >::pair_automaton_impl(), and vcsn::rat::to_expansion_visitor< RatExpSet >::VCSN_RAT_VISIT().
zip_sequences<Sequences...> vcsn::zip_tuple | ( | const std::tuple< Sequences...> & | seqs | ) |
std::ostream vcsn::cnull {nullptr} |