Vcsn
2.1
Be Rational
|
Namespaces | |
dot | |
Implementation details of the dot parser. | |
Classes | |
struct | and_ |
And condition on several typenames. More... | |
struct | and_< F1 > |
struct | and_< F1, F...> |
struct | and_<> |
class | automaton_decorator |
Aggregate an automaton, and forward calls to it. More... | |
class | b_impl |
class | backslashify_output_filter |
Backslash backslashes. More... | |
class | bounded_lag_checker |
class | composer |
Build the (accessible part of the) composition. More... | |
struct | concat |
struct | concat< index_sequence< I1...>, index_sequence< I2...> > |
struct | concat_index_sequence |
struct | concat_index_sequence< index_sequence< I1...>, index_sequence< I2...> > |
struct | concat_tupleset |
struct | concat_tupleset< weightset_mixin< tupleset_impl< T1...> >, weightset_mixin< tupleset_impl< T2...> > > |
struct | context_t_of_impl |
struct | context_t_of_impl< std::shared_ptr< ValueSet > > |
struct | copier |
Copy an automaton. More... | |
class | cycle_identity_impl |
Whether all the paths between any two states have the same weight (i.e., for all s0, s1, any two paths p0, p1 between s0 and s1 have the same weight w_{s0,s1}). More... | |
class | delay_automaton_impl |
An automaton whose states may be qualified by delays and/or prefixes. More... | |
struct | delgado_profiler |
struct | derived_term_algo |
Specify a variety of derived-term construction. More... | |
struct | derived_termer |
Compute the derived-term automaton from an expression. More... | |
struct | detect |
struct | detect< T, Op, void_t< Op< T > > > |
class | determinized_automaton_impl |
The subset construction automaton from another. More... | |
class | detweighted_automaton_impl |
The weighted determinization of weighted automaton. More... | |
class | dotter |
Format an automaton into Dot. More... | |
struct | down_caster |
A functor that captures the current location (to report errors), and provides "cast". More... | |
class | efsmer |
Format automaton to EFSM format, based on FSM format. More... | |
class | enumerater |
struct | epsilon_acyclic |
struct | epsilon_acyclic< Aut, false > |
struct | epsilon_acyclic< Aut, true > |
Detect epsilon-circuits. More... | |
struct | epsilon_profile |
This is used by some epsilon removal algorithms. More... | |
class | epsilon_remover |
This class contains the core of the proper algorithm. More... | |
class | epsilon_remover< Aut, false > |
class | epsilon_remover_distance |
This class contains the core of the proper algorithm. More... | |
class | epsilon_remover_distance< Aut, false > |
class | epsilon_remover_separate |
This class contains the core of the proper algorithm. More... | |
class | epsilon_remover_separate< Aut, false > |
struct | eval_if |
struct | eval_if_c |
Test if (c) then F1 else F2 and get the value. More... | |
class | evaluator |
class | expression_automaton_impl |
An incremental automaton whose states are expressions. More... | |
class | f2_impl |
class | fadoer |
Format an automaton into Fado. More... | |
class | filter_automaton_impl |
Hide some states of an automaton. More... | |
class | focus_automaton_impl |
Read-write on an automaton, that hides all tapes but one. More... | |
struct | genset_labelset |
This class has no modeling purpose, it only serves to factor code common to letterset, nullableset and wordset. More... | |
class | grailer |
Format an automaton into Fado. More... | |
struct | hidden_label_type |
struct | hidden_label_type< Aut, index_sequence< I...> > |
struct | if_ |
struct | if_c |
struct | if_c< false, T1, T2 > |
struct | index_sequence |
struct | index_sequence_difference |
Get the list containing all the elements of I1 (contiguous sequence from 0 to N) not present in I2 (arbitrary sequence, sorted). More... | |
struct | index_sequence_difference< index_sequence< I1_1, I1...>, index_sequence< I1_1, I2...> > |
struct | index_sequence_difference< index_sequence< I1_1, I1...>, index_sequence< I2_1, I2...> > |
struct | index_sequence_difference< index_sequence< I1_1, I1...>, index_sequence<> > |
struct | index_sequence_difference< index_sequence<>, index_sequence<> > |
class | insplitter |
struct | int_range |
struct | int_range< off, index_sequence< I...> > |
struct | is_division_ring |
struct | is_division_ring< polynomialset< Context, Kind > > |
struct | is_division_ring< z > |
struct | is_multitape |
Whether a ValueSet, or a context, is multitape. More... | |
struct | is_multitape< context< LabelSet, WeightSet > > |
struct | is_multitape< tupleset< ValueSet...> > |
class | is_valider |
class | is_valider< Aut, false > |
struct | join_impl |
A structure that implements the computation of join(V1, V2). More... | |
struct | join_impl< b, expressionset< Context > > |
struct | join_impl< context< LS1, WS1 >, context< LS2, WS2 > > |
The join of two contexts. More... | |
struct | join_impl< expressionset< Ctx1 >, expressionset< Ctx2 > > |
The join of two expressionsets. More... | |
struct | join_impl< letterset< GenSet >, letterset< GenSet > > |
struct | join_impl< letterset< GenSet >, wordset< GenSet > > |
The join with another labelset. More... | |
struct | join_impl< letterset< GenSet1 >, expressionset< Ctx2 > > |
Join of a letterset and an expressionset. More... | |
struct | join_impl< nullableset< letterset< GenSet > >, wordset< GenSet > > |
struct | join_impl< nullableset< LS1 >, LS2 > |
The join with another labelset. More... | |
struct | join_impl< nullableset< LS1 >, nullableset< LS2 > > |
The join with another labelset. More... | |
struct | join_impl< oneset, oneset > |
struct | join_impl< polynomialset< Ctx1, Kind1 >, polynomialset< Ctx2, Kind2 > > |
struct | join_impl< polynomialset< Ctx1, Kind1 >, WS2 > |
struct | join_impl< q, expressionset< Context > > |
struct | join_impl< r, expressionset< Context > > |
struct | join_impl< rat::identities, rat::identities > |
struct | join_impl< tupleset< VS1...>, tupleset< VS2...> > |
Join between two tuplesets, of the same size. More... | |
struct | join_impl< tupleset< VS1...>, VS2 > |
Join between a tupleset, and a non tuple. More... | |
struct | join_impl< wordset< GenSet >, wordset< GenSet > > |
struct | join_impl< z, expressionset< Context > > |
struct | join_impl< zmin, expressionset< Context > > |
struct | join_impl_simple |
struct | join_impl_simple< WeightSet, expressionset< Context > > |
struct | label_t_of_impl |
struct | label_t_of_impl< std::shared_ptr< ValueSet > > |
struct | labelset_t_of_impl |
struct | labelset_t_of_impl< std::shared_ptr< ValueSet > > |
struct | labelset_types_impl |
A traits so that tupleset may define types that may exist. More... | |
struct | labelset_types_impl< decltype(pass{std::declval< ValueSets >().genset()...}, void()), ValueSets...> |
Specialization for tuples of labelsets. More... | |
struct | law_traits |
The LAW from a LAL. More... | |
struct | law_traits< expressionset< Ctx > > |
Conversion to a wordset: identity. More... | |
struct | law_traits< letterset< GenSet > > |
Conversion for letterset<GenSet> to a super wordset. More... | |
struct | law_traits< nullableset< LabelSet > > |
Conversion for nullable<LabelSet> to a super wordset. More... | |
struct | law_traits< oneset > |
Conversion to a wordset: identity. More... | |
struct | law_traits< tupleset< LabelSets...> > |
Conversion to wordset. More... | |
struct | law_traits< wordset< GenSet > > |
class | left_reductioner |
struct | letterized_traits |
struct | letterized_traits< letterset< GenSet > > |
Conversion to letterized. More... | |
struct | letterized_traits< nullableset< LabelSet > > |
Conversion to letterized. More... | |
struct | letterized_traits< tupleset< LabelSets...> > |
Conversion to letterized. More... | |
struct | letterized_traits< wordset< GenSet > > |
Conversion to letterized. More... | |
class | letterizer |
From an automaton, the corresponding automaton with a non-word labelset. More... | |
struct | lifter_impl |
Helper structure for a lift of several tapes. More... | |
struct | lifter_impl< Context, vcsn::detail::index_sequence<> > |
Lift all the label tapes to the weights. More... | |
class | log_impl |
struct | make_index_range |
struct | make_index_range< S, 0 > |
struct | make_index_range< S,-1U > |
struct | make_index_sequence |
struct | make_index_sequence< 0 > |
struct | make_index_sequence< 1 > |
class | min_plus_impl |
class | mutable_automaton_impl |
struct | naive_profiler |
class | name_automaton_impl |
An incremental automaton whose states are names. More... | |
class | nmin_impl |
struct | nullable_helper |
Add support for an empty word to a LabelSet that does not provide such special label to this end. More... | |
struct | nullable_helper< letterset< GenSet > > |
Add support for an empty word to a letterset thanks to the one() of its genset. More... | |
struct | nullableset_traits |
The smallest nullableset which includes LabelSet. More... | |
struct | nullableset_traits< expressionset< Ctx > > |
Conversion to a nullableset: identity. More... | |
struct | nullableset_traits< letterset< GenSet > > |
Conversion for letterset<GenSet> to a nullableset. More... | |
struct | nullableset_traits< nullableset< LabelSet > > |
Conversion for nullable<LabelSet> to a nullableset: id. More... | |
struct | nullableset_traits< oneset > |
Conversion to a nullableset: identity. More... | |
struct | nullableset_traits< wordset< GenSet > > |
wordset is already a nullableset. More... | |
struct | or_ |
Or condition on several typenames. More... | |
struct | or_< F1 > |
struct | or_< F1, F...> |
struct | or_<> |
struct | origins_t_of_impl |
From an (input) automaton type, compute its origin_t type. More... | |
struct | origins_t_of_impl< partition_automaton< Aut > > |
struct | origins_t_of_impl< transpose_automaton< Aut > > |
class | outputter |
Factor common bits in automaton formatting. More... | |
class | pair_automaton_impl |
The pair automaton is used by several algorithms for synchronizing words. More... | |
struct | partial_identity_context |
class | partition_automaton_impl |
An automaton wrapper whose states form a partition of the state set of another automaton. More... | |
struct | partition_automaton_t_impl |
From an (input) automaton type, compute the right decorator for its partition_automaton. More... | |
struct | partition_automaton_t_impl< partition_automaton< Aut > > |
struct | partition_automaton_t_impl< transpose_automaton< Aut > > |
struct | pass |
Ignore its arguments. More... | |
class | permutation_automaton_impl |
An automaton isomorphic to another one. More... | |
class | polynomialset_impl |
Linear combination of labels: map labels to weights. More... | |
class | product_automaton_impl |
Build the (accessible part of the) product. More... | |
struct | project_labelset_impl |
The type of the resulting apparent LabelSet when keeping only tape Tape. More... | |
struct | project_labelset_impl< Tape, expressionset< Context > > |
Case of multitape expressionsets. More... | |
struct | project_labelset_impl< Tape, tupleset< LabelSets...> > |
Case of tuplesets. More... | |
struct | proper_traits |
From a labelset, its non-nullable labelset. More... | |
struct | proper_traits< nullableset< LabelSet > > |
struct | proper_traits< tupleset< LabelSet > > |
Transform a tupleset of one element to a tupleset of the proper version. More... | |
class | properer |
class | q_impl |
class | qmp_impl |
class | quotienter |
Apply a quotient onto an automaton: fuse equivalent states. More... | |
class | r_impl |
struct | rank |
Number of tapes. More... | |
struct | rank< tupleset< LabelSet...> > |
struct | real_context_impl |
When we copy a focus automaton, create another focus automaton. More... | |
struct | real_context_impl< automaton_decorator< Aut > > |
Be recursive on automaton wrappers. More... | |
struct | real_context_impl< focus_automaton< Tape, Aut > > |
class | reverse_postorder_impl |
Get all states in reverse postorder using depth first search. More... | |
class | rmin_impl |
class | scc_automaton_impl |
An automaton decorator that maps states to their scc-number. More... | |
class | scc_dijkstra_impl |
Compute the strongly connected components using Dijkstra's algorithm. More... | |
class | scc_kosaraju_impl |
Compute the strongly connected components using Kosaraju's algorithm. More... | |
class | scc_tarjan_iterative_impl |
Tarjan's algorithm to find all strongly connected components: iterative implementation. More... | |
class | scc_tarjan_recursive_impl |
Tarjan's algorithm to find all strongly connected components: recursive implementation. More... | |
struct | select |
struct | select< q > |
struct | select< r > |
struct | select< z > |
class | sorter |
A function to sort an automaton. More... | |
struct | standard_operations |
class | star_heighter |
struct | state_eliminator |
Eliminate states in an automaton whose labelset is oneset. More... | |
struct | state_t_of_impl |
struct | state_t_of_impl< std::shared_ptr< ValueSet > > |
class | synchronize_checker |
class | synchronized_automaton_impl |
An automaton whose states may be qualified by delays and/or prefixes. More... | |
class | synchronizer |
class | tikzer |
Format automaton to TikZ format. More... | |
struct | transition_less |
Compare transitions of an automaton. More... | |
class | transition_map |
Cache the outgoing transitions of an automaton as efficient maps label -> vector<(weight, dst)>. More... | |
struct | transition_t_of_impl |
struct | transition_t_of_impl< std::shared_ptr< ValueSet > > |
class | transpose_automaton_impl |
Read-write on an automaton, that transposes everything. More... | |
class | transposer |
A visitor to create a transposed expression,. More... | |
class | trie_builder |
Build a trie automaton (prefix-tree-like automaton). More... | |
class | tuple_automaton_impl |
An automaton whose states are tuples of states of automata. More... | |
struct | tuple_printer |
struct | tuple_printer< Tuple, 1 > |
class | tupleset_impl |
A ValueSet which is a Cartesian product of ValueSets. More... | |
class | universaler |
Functor for universal. More... | |
struct | voider |
struct | weight_t_of_impl |
struct | weight_t_of_impl< std::shared_ptr< ValueSet > > |
class | weighter |
The lightest algorithm computes the paths between pre and post with the smallest weight possible. More... | |
struct | weightset_t_of_impl |
struct | weightset_t_of_impl< std::shared_ptr< ValueSet > > |
struct | welement_label |
struct | welement_label< empty_t > |
struct | welement_weight |
struct | welement_weight< bool > |
class | wet_bitset |
struct | wet_kind_impl |
struct | wet_kind_impl< char, bool > |
struct | wet_kind_impl< Key, bool > |
class | wet_map |
General case. More... | |
class | wet_set |
class | wet_unordered_map |
General case. More... | |
class | word_synchronizer |
struct | worded_automaton |
class | z_impl |
class | zmin_impl |
Typedefs | |
template<typename Aut > | |
using | letterized_ls = letterized_traits< labelset_t_of< Aut >> |
template<typename Ctx , size_t... Tapes> | |
using | lifter_t = lifter_impl< Ctx, detail::index_sequence< Tapes...>> |
A traits to lift the Tapes of the labels to the weights. More... | |
template<typename Aut , size_t... Tapes> | |
using | lifted_automaton_t = mutable_automaton< typename lifter_t< context_t_of< Aut >, Tapes...>::context_t > |
template<typename ExpSet > | |
using | lifted_expressionset_t = expressionset< typename lifter_t< context_t_of< ExpSet >>::context_t > |
template<typename Aut > | |
using | has_fado_t = std::integral_constant< bool,((context_t_of< Aut >::is_lal||context_t_of< Aut >::is_lan)&&std::is_same< weightset_t_of< Aut >, b >::value)> |
template<typename Aut > | |
using | component_t = std::unordered_set< state_t_of< Aut >> |
A strongly-connected component: set of states. More... | |
template<typename Aut > | |
using | components_t = std::vector< component_t< Aut >> |
A set of strongly-connected components. More... | |
template<typename Aut > | |
using | fresh_worded_automaton_t = fresh_automaton_t_of< typename worded_automaton< Aut >::automaton_t > |
template<typename Aut > | |
using | synchronized_automaton = std::shared_ptr< synchronized_automaton_impl< Aut >> |
template<typename... Auts> | |
using | join_automata_t = decltype(join_automata< std::declval< Auts >()...>) |
The type of the join between automata of type Auts. More... | |
template<typename Aut > | |
using | origins_t_of = typename origins_t_of_impl< Aut >::type |
The type of the origins map for a partition automaton, or a transposed one. More... | |
template<typename LabelSet > | |
using | genset_t = decltype(std::declval< LabelSet >().genset()) |
template<typename LabelSet > | |
using | has_genset_mem_fn = detect< LabelSet, genset_t > |
template<typename LabelSet > | |
using | one_t = decltype(std::declval< LabelSet >().one()) |
template<typename LabelSet > | |
using | has_one_mem_fn = detect< LabelSet, one_t > |
template<typename LabelSet > | |
using | letterized_t = typename letterized_traits< LabelSet >::labelset_t |
template<typename LabelSet > | |
using | is_letterized_t = bool_constant< letterized_traits< LabelSet >::is_letterized > |
template<typename Context > | |
using | letterized_context = context< letterized_t< labelset_t_of< Context >>, weightset_t_of< Context >> |
template<typename LabelSet > | |
using | nullableset_t = typename nullableset_traits< LabelSet >::type |
The smallest nullableset that includes LabelSet. More... | |
template<typename Ctx > | |
using | nullableset_context_t = context< nullableset_t< labelset_t_of< Ctx >>, weightset_t_of< Ctx >> |
template<typename LabelSet > | |
using | proper_t = typename proper_traits< LabelSet >::type |
The type of the corresponding proper LabelSet. More... | |
template<typename Context > | |
using | proper_context = context< proper_t< labelset_t_of< Context >>, weightset_t_of< Context >> |
template<typename Context > | |
using | free_context = context< proper_t< letterized_t< labelset_t_of< Context >>>, weightset_t_of< Context >> |
template<typename LabelSet > | |
using | law_t = typename law_traits< LabelSet >::type |
The smallest wordset that includes LabelSet. More... | |
template<typename Ctx > | |
using | word_context_t = context< law_t< labelset_t_of< Ctx >>, weightset_t_of< Ctx >> |
template<typename... ValueSets> | |
using | labelset_types = labelset_types_impl< void, ValueSets...> |
template<size_t Tape, typename LabelSet > | |
using | project_labelset = typename project_labelset_impl< Tape, LabelSet >::type |
The type of the resulting apparent LabelSet when keeping only tape Tape. More... | |
template<size_t Tape, typename Context > | |
using | project_context = context< project_labelset< Tape, labelset_t_of< Context >>, weightset_t_of< Context >> |
The type of the resulting apparent context when keeping only tape Tape. More... | |
template<typename Ctx > | |
using | word_polynomialset_t = polynomialset< word_context_t< Ctx >> |
template<typename T > | |
using | test_t = decltype(std::declval< T >().size()) |
template<typename T > | |
using | has_size_mem_fn = detect< T, test_t > |
Whether T features a size() function. More... | |
template<typename S1 , typename S2 > | |
using | Concat = typename concat< S1, S2 >::type |
template<std::size_t N> | |
using | GenSeq = typename make_index_sequence< N >::type |
template<std::size_t S, std::size_t L> | |
using | make_index_range_t = typename make_index_range< S, L >::type |
template<typename S1 , typename S2 > | |
using | concat_sequence = typename concat_index_sequence< S1, S2 >::type |
template<typename S1 , typename S2 > | |
using | sequence_difference = typename index_sequence_difference< typename S1::type, typename S2::type >::type |
template<typename... Ts> | |
using | void_t = typename voider< Ts...>::type |
template<wet_kind_t Kind, typename Key , typename Value , typename Compare , typename Hash , typename KeyEqual > | |
using | wet_impl = conditional_t< Kind==wet_kind_t::bitset, wet_bitset, conditional_t< Kind==wet_kind_t::set, wet_set< Key, Compare >, conditional_t< Kind==wet_kind_t::map, wet_map< Key, Value, Compare >, conditional_t< Kind==wet_kind_t::unordered_map, wet_unordered_map< Key, Value, Hash, KeyEqual >, void > > > > |
Functions | |
template<typename Lhs , typename Rhs > | |
auto | make_composer (Lhs &lhs, Rhs &rhs) -> typename detail::composer< Lhs, Rhs > |
template<typename Aut > | |
auto | real_context (const Aut &aut) -> decltype(real_context_impl< Aut >::context(aut)) |
For a focus automaton, its genuine context (not the visible one), and for all the other automata, their context. More... | |
template<typename Aut > | |
vcsn::enable_if_t< labelset_t_of< Aut >::has_one(), Aut > | insplit (Aut &aut) |
template<typename Aut > | |
vcsn::enable_if_t<!labelset_t_of< Aut >::has_one(), Aut > | insplit (Aut &aut) |
template<typename Aut > | |
vcsn::enable_if_t< labelset_t_of< Aut >::has_one(), bool > | is_proper_ (const Aut &aut) |
template<typename Aut > | |
constexpr vcsn::enable_if_t<!labelset_t_of< Aut >::has_one(), bool > | is_proper_ (const Aut &) |
template<typename Aut > | |
bool | is_synchronized (const Aut &aut) |
template<typename Aut > | |
delay_automaton< Aut > | make_delay_automaton (const Aut &aut) |
template<typename Aut > | |
fresh_automaton_t_of< Aut > | absval (const Aut &aut) |
Copy of aut, with absolute values. More... | |
template<typename Aut > | |
bool | is_properable (Aut &&aut) |
Whether proper_here(aut) succeeds. More... | |
template<typename Aut > | |
vcsn::enable_if_t<!is_letterized_t< labelset_t_of< Aut > >{}, mutable_automaton< letterized_context< context_t_of< Aut > > > > | letterize (const Aut &aut) |
Letterize an automaton whose type is not letterized already. More... | |
template<typename Aut > | |
vcsn::enable_if_t< is_letterized_t< labelset_t_of< Aut > >{}, const Aut & > | letterize (const Aut &aut) |
Letterize an automaton whose type is letterized: do nothing. More... | |
template<typename Aut > | |
vcsn::enable_if_t<!is_letterized_t< labelset_t_of< Aut > >{}, bool > | is_letterized (const Aut &aut) |
template<typename Aut > | |
vcsn::enable_if_t< is_letterized_t< labelset_t_of< Aut > >{}, bool > | is_letterized (const Aut &) |
static labelset_t::value_t | kept_label (const in_label_t &l) |
Label in the output. More... | |
template<size_t... I> | |
static labelset_t::value_t | kept_label_ (const in_label_t &l, seq< I...>) |
static weight_tapes_t::value_t | weight_label (const in_label_t &l) |
Weight in the output. More... | |
template<size_t... I> | |
static weight_tapes_t::value_t | weight_label_ (const in_label_t &l, seq< I...>) |
template<typename LabelSet , typename WeightSet , size_t... Tapes> | |
lifter_t< context< LabelSet, WeightSet >, Tapes...>::context_t | lift_context (const context< LabelSet, WeightSet > &ctx) |
lift(ctx) -> ctx More... | |
template<typename Context > | |
lifted_expressionset_t< expressionset< Context > > | lift_expressionset (const expressionset< Context > &rs, boost::optional< vcsn::rat::identities > ids={}) |
lift(expressionset) -> expressionset More... | |
template<typename Aut > | |
constexpr bool | can_use_brzozowski () |
template<typename Aut > | |
auto | fado_impl_ (const Aut &aut, std::ostream &out) -> enable_if_t< has_fado_t< Aut > |
template<typename Aut > | |
ATTRIBUTE_NORETURN auto | fado_impl_ (const Aut &, std::ostream &) -> enable_if_t<!has_fado_t< Aut > |
template<typename Aut > | |
auto | grail_impl_ (const Aut &aut, std::ostream &out) -> enable_if_t< has_fado_t< Aut > |
template<typename Aut > | |
ATTRIBUTE_NORETURN auto | grail_impl_ (const Aut &, std::ostream &) -> enable_if_t<!has_fado_t< Aut > |
template<size_t Tape, typename LabelSet , typename WeightSet > | |
auto | make_project_context (const context< LabelSet, WeightSet > &ctx) -> enable_if_t< context< LabelSet, WeightSet >::is_lat, project_context< Tape, context< LabelSet, WeightSet >>> |
The resulting apparent context when keeping only tape Tape. More... | |
template<size_t Tape, typename Context > | |
auto | make_project (const expressionset< Context > &rs) -> expressionset< decltype(make_project_context< Tape >(rs.context()))> |
template<typename Aut > | |
auto | make_properer (Aut aut, bool prune=true, const std::string &algo="auto") |
template<typename Aut > | |
auto | strip (const Aut &aut, int) -> decltype(aut->strip()) |
template<typename Aut > | |
auto | strip (const Aut &aut, long) -> decltype(aut) |
template<typename Aut > | |
synchronizer< Aut >::out_automaton_t | synchronize (const Aut &aut) |
template<typename Aut , typename Profiler > | |
state_eliminator< Aut, Profiler > | make_state_eliminator (Aut &a, Profiler &profiler) |
template<typename ExpSet > | |
auto | letter_class_impl (const ExpSet &, const letter_class_t &, bool, std::false_type, std::true_type) -> typename ExpSet::value_t |
template<typename ExpSet > | |
auto | letter_class_impl (const ExpSet &rs, const letter_class_t &chars, bool accept, std::false_type, std::false_type) -> typename ExpSet::value_t |
template<typename ExpSet > | |
auto | letter_class_impl (const ExpSet &rs, const letter_class_t &, bool, std::true_type, std::false_type) -> typename ExpSet::value_t |
template<direction Dir, typename PolynomialSet > | |
trie_builder< free_context< context_t_of< PolynomialSet > >, Dir > | make_trie_builder (const PolynomialSet &ps) |
Instantiate a trie-builder for this type of polynomialset. More... | |
template<typename... Auts> | |
auto | join_automata (Auts &&...auts) -> decltype(make_mutable_automaton(join(auts->context()...))) |
An automaton whose type is the join between those of auts. More... | |
template<typename... Auts> | |
auto | meet_automata (Auts &&...auts) -> decltype(make_mutable_automaton(meet(auts->context()...))) |
An automaton whose type is the meet between those of auts. More... | |
template<typename V1 , typename V2 > | |
join_impl< V1, V2 >::type | join_ (V1 v1, V2 v2, int) |
Dealing with commutativity: two implementations of join_: forward and reversed, ordered by preference by the use of "0
prefers int to long" disambiguation rule. More... | |
template<typename V1 , typename V2 > | |
join_impl< V1, V2 >::type | join_ (V2 v2, V1 v1, long) |
template<typename LabelSet > | |
auto | label_one () -> enable_if_t< LabelSet::has_one(), typename LabelSet::value_t > |
This LabelSet's one(), if supported. More... | |
template<typename LabelSet > | |
ATTRIBUTE_NORETURN auto | label_one () -> enable_if_t<!LabelSet::has_one(), typename LabelSet::value_t > |
template<typename LabelSet > | |
auto | label_one (const LabelSet &) -> typename LabelSet::value_t |
Enjoy type inference. More... | |
template<typename LabelSet > | |
letterized_t< LabelSet > | make_letterized (const LabelSet &ls) |
template<typename LabelSet , typename WeightSet > | |
letterized_context< context< LabelSet, WeightSet > > | make_letterized_context (const context< LabelSet, WeightSet > &c) |
The letterized context for c. More... | |
template<typename LabelSet > | |
nullableset_t< LabelSet > | make_nullableset (const LabelSet &ls) |
The nullableset of a labelset. More... | |
template<typename LabelSet , typename WeightSet > | |
nullableset_context_t< context< LabelSet, WeightSet > > | make_nullableset_context (const context< LabelSet, WeightSet > &ctx) |
The nullableset context of a context. More... | |
template<typename LabelSet > | |
proper_t< LabelSet > | make_proper (const LabelSet &ls) |
The corresponding proper LabelSet. More... | |
template<typename LabelSet , typename WeightSet > | |
auto | make_proper_context (const context< LabelSet, WeightSet > &ctx) -> proper_context< context< LabelSet, WeightSet >> |
From a context, its non-nullable context. More... | |
template<typename LabelSet , typename WeightSet > | |
free_context< context< LabelSet, WeightSet > > | make_free_context (const context< LabelSet, WeightSet > &c) |
The free context for c. More... | |
template<typename LabelSet > | |
law_t< LabelSet > | make_wordset (const LabelSet &ls) |
The wordset of a labelset. More... | |
template<typename LabelSet , typename WeightSet > | |
word_context_t< context< LabelSet, WeightSet > > | make_word_context (const context< LabelSet, WeightSet > &ctx) |
The wordset context of a context. More... | |
template<typename LabelSet > | |
std::ostream & | print_label_ranges_ (const LabelSet &ls, const std::vector< typename LabelSet::value_t > &letters, const std::vector< typename LabelSet::value_t > &alphabet, std::ostream &out, format fmt) |
Print a set of labels with ranges. More... | |
template<typename LabelSet > | |
std::ostream & | print_label_class (const LabelSet &ls, const std::vector< typename LabelSet::value_t > &letters, std::ostream &out, format fmt) |
Print a set of labels (letterized) with classes. More... | |
template<typename... ValueSets> | |
tupleset< ValueSets...> | make_tupleset (const ValueSets &...vss) |
template<typename Ctx > | |
auto | make_word_polynomialset (const Ctx &ctx) -> word_polynomialset_t< Ctx > |
The polynomialset of words of a labelset (not necessarily on words itself). More... | |
template<typename Range , typename Predicate > | |
bool | any_of (const Range &r, Predicate p) |
template<typename Container > | |
Container::value_type | back (const Container &container) |
The last member of this Container. More... | |
template<typename Container , typename Predicate > | |
void | erase_if (Container &c, const Predicate &p) |
template<typename Container > | |
Container::value_type | front (const Container &container) |
The first member of this Container. More... | |
template<typename Iterator , typename Pred , typename Less > | |
boost::iterator_range< Iterator > | initial_sorted_range (Iterator begin, Iterator end, Pred pred, Less less) |
The return the longest initial range of elements matching the predicate. More... | |
template<typename Container , typename Compare > | |
bool | is_sorted_forward (const Container &container, Compare comp) |
Same as std::is_sorted, but works with an input iterator, not just a forward iterator. More... | |
template<typename Container > | |
Container::value_type | max_forward (const Container &container) |
Same as *std::max_element , but works with an input iterator, not just a forward iterator. More... | |
template<typename InputIt1 , typename InputIt2 > | |
std::pair< InputIt1, InputIt2 > | mismatch (InputIt1 first1, InputIt1 last1, InputIt2 first2, InputIt2 last2) |
Same as C++14's mismatch, which is not available in G++-4.8 with -std=c++1y. More... | |
template<typename Range , typename Predicate > | |
bool | none_of (const Range &r, Predicate p) |
template<typename Range , typename Value > | |
bool | none_of_equal (const Range &r, const Value &value) |
static int | debug_level () |
Debug level set in the user's environment. More... | |
ATTRIBUTE_PURE unsigned int | gcd (unsigned int a, unsigned int b) |
Greatest common divisor. More... | |
ATTRIBUTE_PURE unsigned int | lcm (unsigned int a, unsigned int b) |
Lowest common multiple. More... | |
template<typename T > | |
void | print_ (std::ostream &o, const T &arg, long) |
Serialize arg into o. More... | |
void | print_ (std::ostream &o, std::istream &is, long) |
When printing an istream, consider that we are trying to help the user by showing what's wrong with the input. More... | |
void | print_ (std::ostream &o, std::istringstream &is, long) |
Disambiguation: both 'istream&' and 'const T&' are elligible. More... | |
template<typename T > | |
auto | print_ (std::ostream &o, const T &arg, int) -> decltype(arg.print_set(o), void()) |
Serialize arg, which supports print_set, into o. More... | |
template<typename Fun , typename... Ts> | |
void | for_ (const std::tuple< Ts...> &ts, Fun f) |
template<typename Fun , typename... Ts, size_t... I> | |
void | for_ (Fun f, const std::tuple< Ts...> &ts, index_sequence< I...>) |
template<typename Fun , typename... Ts> | |
auto | map (const std::tuple< Ts...> &ts, Fun f) -> decltype(map_tuple_(f, ts, make_index_sequence< sizeof...(Ts)>())) |
Map a function on a tuple, return tuple of the results. More... | |
template<typename Fun , typename... Ts, size_t... I> | |
auto | map_tuple_ (Fun f, const std::tuple< Ts...> &ts, index_sequence< I...>) -> decltype(map_variadic_(f, std::get< I >(ts)...)) |
template<typename Fun > | |
auto | map_variadic_ (Fun) -> decltype(std::make_tuple()) |
template<typename Fun , typename T , typename... Ts> | |
auto | map_variadic_ (Fun f, T t, Ts &&...ts) -> decltype(std::tuple_cat(std::make_tuple(f(t)), map_variadic_(f, ts...))) |
template<typename Fun > | |
void | cross (Fun f) |
Variadic Cartesian product of containers. More... | |
template<typename Fun , typename Cont , typename... Conts> | |
void | cross (Fun f, const Cont &head, const Conts &...tails) |
template<typename Fun , typename... Ts, size_t... I> | |
void | cross_tuple_ (Fun f, const std::tuple< Ts...> &ts, index_sequence< I...>) |
template<typename Fun , typename... Ts> | |
void | cross_tuple (Fun f, const std::tuple< Ts...> &ts) |
template<typename... Ts> | |
auto | reverse_tuple (const std::tuple< Ts...> &t) -> decltype(reverse_tuple(t, make_index_sequence< sizeof...(Ts)>())) |
template<typename... Ts, std::size_t... I> | |
auto | reverse_tuple (const std::tuple< Ts...> &t, index_sequence< I...>) -> decltype(std::make_tuple(std::get< sizeof...(Ts)-1-I >(t)...)) |
template<typename... Ts> | |
auto | make_gcc_tuple (Ts &&...ts) -> decltype(reverse_tuple(std::make_tuple(std::forward< Ts >(ts)...))) |
Same as make_tuple, unless the evaluation of arguments if right-to-left, in which case reverse the result. More... | |
template<typename... Args> | |
std::ostream & | print (const std::tuple< Args...> &args, std::ostream &o) |
template<typename Cont > | |
std::vector< typename Cont::value_type > | make_vector (const Cont &cont) |
The content of cont as a vector. More... | |
template<typename Key , typename Value > | |
constexpr wet_kind_t | wet_kind () |
VCSN_JOIN_SIMPLE (b, b) | |
Variables | |
template<typename... LabelSets, typename WeightSet , size_t... Tapes> | |
struct lifter_impl< context< tupleset< LabelSets...>, WeightSet >, vcsn::detail::index_sequence< Tapes...>, vcsn::enable_if_t<(0< sizeof...(Tapes))> >{using in_labelset_t=tupleset< LabelSets...>;using in_context_t=context< in_labelset_t, WeightSet >;using in_label_t=typename in_labelset_t::value_t;template< std::size_t...I >using seq=detail::index_sequence< I...>;template< typename S, typename L >struct tape_set;template< typename LabelSet >struct tape_set< seq<>, LabelSet >{using type=oneset;};template< size_t...I, typename LabelSet >struct tape_set< seq< I...>, LabelSet >{using type=tupleset< typename LabelSet::template valueset_t< I >...>;};using index_t=typename detail::make_index_sequence< in_labelset_t::size()>::type;static constexpr size_t number_of_tapes=in_labelset_t::size();template< size_t I >using tape_labelset_t=typename in_labelset_t::template valueset_t< I >;using kept_index_t=sequence_difference< index_t, seq< Tapes...> >;using labelset_t=typename tape_set< kept_index_t, in_labelset_t >::type;using weight_index_t=seq< Tapes...>;using weight_tapes_t=typename tape_set< weight_index_t, in_labelset_t >::type;using inner_context_t=context< weight_tapes_t, WeightSet >;using weightset_t=expressionset< inner_context_t >;using context_t=context< labelset_t, weightset_t >;static context_t value(const in_context_t &ctx, vcsn::rat::identities ids){return value_(ctx, ids, weight_index_t{}, kept_index_t{});}template< size_t...WeightTapes, size_t...KeptTapes >static context_t value_(const in_context_t &ctx, vcsn::rat::identities ids, seq< WeightTapes...>, seq< KeptTapes...>){auto ls=labelset_t{ctx.labelset() -> template | set< KeptTapes > ()...} |
Specialization: lift only some tapes. More... | |
auto | weight_tapes = weight_tapes_t{ctx.labelset()->template set<WeightTapes>()...} |
auto | ictx = inner_context_t{weight_tapes, *ctx.weightset()} |
auto | rs = weightset_t{ictx, ids} |
return {ls, rs} | |
void | |
xalloc< long int > | indentation |
using vcsn::detail::component_t = typedef std::unordered_set<state_t_of<Aut>> |
using vcsn::detail::components_t = typedef std::vector<component_t<Aut>> |
using vcsn::detail::Concat = typedef typename concat<S1, S2>::type |
using vcsn::detail::concat_sequence = typedef typename concat_index_sequence<S1, S2>::type |
using vcsn::detail::free_context = typedef context<proper_t<letterized_t<labelset_t_of<Context>>>, weightset_t_of<Context>> |
Definition at line 232 of file labelset.hh.
using vcsn::detail::fresh_worded_automaton_t = typedef fresh_automaton_t_of<typename worded_automaton<Aut>::automaton_t> |
Definition at line 72 of file synchronize.hh.
using vcsn::detail::GenSeq = typedef typename make_index_sequence<N>::type |
using vcsn::detail::genset_t = typedef decltype(std::declval<LabelSet>().genset()) |
Definition at line 18 of file labelset.hh.
using vcsn::detail::has_fado_t = typedef std::integral_constant<bool, ((context_t_of<Aut>::is_lal || context_t_of<Aut>::is_lan) && std::is_same<weightset_t_of<Aut>, b>::value)> |
using vcsn::detail::has_genset_mem_fn = typedef detect<LabelSet, genset_t> |
Definition at line 21 of file labelset.hh.
using vcsn::detail::has_one_mem_fn = typedef detect<LabelSet, one_t> |
Definition at line 32 of file labelset.hh.
using vcsn::detail::has_size_mem_fn = typedef detect<T, test_t> |
Whether T features a size() function.
Definition at line 17 of file military-order.hh.
using vcsn::detail::is_letterized_t = typedef bool_constant<letterized_traits<LabelSet>::is_letterized> |
Definition at line 98 of file labelset.hh.
using vcsn::detail::join_automata_t = typedef decltype(join_automata<std::declval<Auts>()...>) |
The type of the join between automata of type Auts.
Definition at line 21 of file join-automata.hh.
using vcsn::detail::labelset_types = typedef labelset_types_impl<void, ValueSets...> |
Definition at line 50 of file tupleset.hh.
using vcsn::detail::law_t = typedef typename law_traits<LabelSet>::type |
The smallest wordset that includes LabelSet.
Definition at line 256 of file labelset.hh.
using vcsn::detail::letterized_context = typedef context<letterized_t<labelset_t_of<Context>>, weightset_t_of<Context>> |
Definition at line 115 of file labelset.hh.
using vcsn::detail::letterized_ls = typedef letterized_traits<labelset_t_of<Aut>> |
Definition at line 101 of file letterize.hh.
using vcsn::detail::letterized_t = typedef typename letterized_traits<LabelSet>::labelset_t |
Definition at line 94 of file labelset.hh.
using vcsn::detail::lifted_automaton_t = typedef mutable_automaton<typename lifter_t<context_t_of<Aut>, Tapes...>::context_t> |
using vcsn::detail::lifted_expressionset_t = typedef expressionset<typename lifter_t<context_t_of<ExpSet>>::context_t> |
using vcsn::detail::lifter_t = typedef lifter_impl<Ctx, detail::index_sequence<Tapes...>> |
using vcsn::detail::make_index_range_t = typedef typename make_index_range<S, L>::type |
using vcsn::detail::nullableset_context_t = typedef context<nullableset_t<labelset_t_of<Ctx>>, weightset_t_of<Ctx>> |
Definition at line 161 of file labelset.hh.
using vcsn::detail::nullableset_t = typedef typename nullableset_traits<LabelSet>::type |
The smallest nullableset that includes LabelSet.
Definition at line 145 of file labelset.hh.
using vcsn::detail::one_t = typedef decltype(std::declval<LabelSet>().one()) |
Definition at line 29 of file labelset.hh.
using vcsn::detail::origins_t_of = typedef typename origins_t_of_impl<Aut>::type |
The type of the origins map for a partition automaton, or a transposed one.
Definition at line 153 of file partition-automaton.hh.
using vcsn::detail::project_context = typedef context<project_labelset<Tape, labelset_t_of<Context>>, weightset_t_of<Context>> |
The type of the resulting apparent context when keeping only tape Tape.
Definition at line 1194 of file tupleset.hh.
using vcsn::detail::project_labelset = typedef typename project_labelset_impl<Tape, LabelSet>::type |
The type of the resulting apparent LabelSet when keeping only tape Tape.
Undefined when not applicable.
Definition at line 1166 of file tupleset.hh.
using vcsn::detail::proper_context = typedef context<proper_t<labelset_t_of<Context>>, weightset_t_of<Context>> |
Definition at line 213 of file labelset.hh.
using vcsn::detail::proper_t = typedef typename proper_traits<LabelSet>::type |
The type of the corresponding proper LabelSet.
Definition at line 195 of file labelset.hh.
using vcsn::detail::sequence_difference = typedef typename index_sequence_difference<typename S1::type, typename S2::type>::type |
using vcsn::detail::synchronized_automaton = typedef std::shared_ptr<synchronized_automaton_impl<Aut>> |
Definition at line 206 of file synchronize.hh.
using vcsn::detail::test_t = typedef decltype(std::declval<T>().size()) |
Definition at line 13 of file military-order.hh.
using vcsn::detail::void_t = typedef typename voider<Ts...>::type |
Definition at line 48 of file type_traits.hh.
using vcsn::detail::wet_impl = typedef conditional_t<Kind == wet_kind_t::bitset, wet_bitset, conditional_t<Kind == wet_kind_t::set, wet_set<Key, Compare>, conditional_t<Kind == wet_kind_t::map, wet_map<Key, Value, Compare>, conditional_t<Kind == wet_kind_t::unordered_map, wet_unordered_map<Key, Value, Hash, KeyEqual>, void> > > > |
using vcsn::detail::word_context_t = typedef context<law_t<labelset_t_of<Ctx>>, weightset_t_of<Ctx>> |
Definition at line 272 of file labelset.hh.
using vcsn::detail::word_polynomialset_t = typedef polynomialset<word_context_t<Ctx>> |
Definition at line 15 of file word-polynomialset.hh.
fresh_automaton_t_of<Aut> vcsn::detail::absval | ( | const Aut & | aut | ) |
Copy of aut, with absolute values.
Templated to avoid useless instantiations.
Definition at line 29 of file is-valid.hh.
References vcsn::copy().
Referenced by vcsn::detail::is_valider< Aut, has_one >::is_valid_().
bool vcsn::detail::any_of | ( | const Range & | r, |
Predicate | p | ||
) |
Definition at line 14 of file algorithm.hh.
Referenced by vcsn::rat::star_normal_form_visitor< ExpSet >::box_of().
Container::value_type vcsn::detail::back | ( | const Container & | container | ) |
The last member of this Container.
Should specialized with containers with random access.
Definition at line 26 of file algorithm.hh.
Referenced by vcsn::detail::evaluator< Aut >::operator()(), vcsn::state_distancer< Aut, nmin >::operator()(), vcsn::rat::parser::parse(), and vcsn::partial_identity().
constexpr bool vcsn::detail::can_use_brzozowski | ( | ) |
Definition at line 17 of file minimize.hh.
|
inline |
Variadic Cartesian product of containers.
Based on http://stackoverflow.com/questions/13813007/
Beware of name conflicts with vcsn/misc/cross.
Definition at line 207 of file tuple.hh.
Referenced by cross(), cross_tuple_(), and vcsn::detail::polynomialset_impl< Context, Kind >::tuple().
|
inline |
|
inline |
Definition at line 235 of file tuple.hh.
References cross_tuple_().
Referenced by vcsn::detail::composer< Lhs, Rhs >::add_compose_transitions(), and vcsn::detail::product_automaton_impl< Aut, Auts >::add_conjunction_transitions().
|
inline |
Definition at line 226 of file tuple.hh.
References cross().
Referenced by cross_tuple().
|
inlinestatic |
Debug level set in the user's environment.
Definition at line 11 of file debug-level.hh.
Referenced by vcsn::rat::driver::parse().
void vcsn::detail::erase_if | ( | Container & | c, |
const Predicate & | p | ||
) |
Definition at line 40 of file algorithm.hh.
Referenced by vcsn::detail::word_synchronizer< Aut >::init_pair().
auto vcsn::detail::fado_impl_ | ( | const Aut & | aut, |
std::ostream & | out | ||
) | -> enable_if_t<has_fado_t<Aut> |
ATTRIBUTE_NORETURN auto vcsn::detail::fado_impl_ | ( | const Aut & | , |
std::ostream & | |||
) | -> enable_if_t<!has_fado_t<Aut> |
|
inline |
|
inline |
Container::value_type vcsn::detail::front | ( | const Container & | container | ) |
The first member of this Container.
Definition at line 57 of file algorithm.hh.
Referenced by vcsn::de_bruijn(), vcsn::detail::polynomialset_impl< Context, Kind >::ldiv(), vcsn::rat::driver::make_expression(), vcsn::detail::trie_builder< Context, Dir >::next_(), vcsn::detail::polynomialset_impl< Context, Kind >::norm_< WeightSet, Dummy >::operator()(), vcsn::detail::polynomialset_impl< Context, Kind >::norm_< z, Dummy >::operator()(), vcsn::detail::polynomialset_impl< Context, Kind >::norm_< polynomialset< Ctx, Knd >, Dummy >::operator()(), and vcsn::detail::polynomialset_impl< Context, Kind >::print_with_classes_().
|
inline |
Greatest common divisor.
Definition at line 13 of file math.hh.
References vcsn::require().
Referenced by lcm(), vcsn::detail::z_impl::lgcd(), and vcsn::detail::q_impl::value_t::reduce().
auto vcsn::detail::grail_impl_ | ( | const Aut & | aut, |
std::ostream & | out | ||
) | -> enable_if_t<has_fado_t<Aut> |
ATTRIBUTE_NORETURN auto vcsn::detail::grail_impl_ | ( | const Aut & | , |
std::ostream & | |||
) | -> enable_if_t<!has_fado_t<Aut> |
boost::iterator_range<Iterator> vcsn::detail::initial_sorted_range | ( | Iterator | begin, |
Iterator | end, | ||
Pred | pred, | ||
Less | less | ||
) |
The return the longest initial range of elements matching the predicate.
Definition at line 70 of file algorithm.hh.
Referenced by vcsn::rat::printer< ExpSet >::letter_range().
vcsn::enable_if_t<labelset_t_of<Aut>::has_one(), Aut> vcsn::detail::insplit | ( | Aut & | aut | ) |
Definition at line 90 of file insplit.hh.
Referenced by vcsn::compose(), vcsn::dyn::detail::do_insplit(), and vcsn::insplit().
vcsn::enable_if_t<!labelset_t_of<Aut>::has_one(), Aut> vcsn::detail::insplit | ( | Aut & | aut | ) |
Definition at line 98 of file insplit.hh.
vcsn::enable_if_t<!is_letterized_t<labelset_t_of<Aut> >{}, bool> vcsn::detail::is_letterized | ( | const Aut & | aut | ) |
Definition at line 162 of file letterize.hh.
Referenced by vcsn::is_letterized(), vcsn::nullableset< LabelSet >::is_letterized(), vcsn::detail::tupleset_impl< ValueSets >::is_letterized_(), and vcsn::detail::letterized_traits< tupleset< LabelSets...> >::is_letterized_().
vcsn::enable_if_t<is_letterized_t<labelset_t_of<Aut> >{}, bool> vcsn::detail::is_letterized | ( | const Aut & | ) |
Definition at line 179 of file letterize.hh.
|
inline |
Definition at line 18 of file is-proper.hh.
Referenced by vcsn::is_proper().
|
inline |
Definition at line 29 of file is-proper.hh.
bool vcsn::detail::is_properable | ( | Aut && | aut | ) |
Whether proper_here(aut) succeeds.
Destroys aut.
Definition at line 42 of file is-valid.hh.
Referenced by vcsn::detail::is_valider< Aut, has_one >::is_valid_().
bool vcsn::detail::is_sorted_forward | ( | const Container & | container, |
Compare | comp | ||
) |
Same as std::is_sorted, but works with an input iterator, not just a forward iterator.
See http://stackoverflow.com/questions/25906893.
Definition at line 91 of file algorithm.hh.
Referenced by vcsn::is_out_sorted().
bool vcsn::detail::is_synchronized | ( | const Aut & | aut | ) |
Definition at line 281 of file is-synchronized.hh.
join_impl<V1, V2>::type vcsn::detail::join_ | ( | V1 | v1, |
V2 | v2, | ||
int | |||
) |
Dealing with commutativity: two implementations of join_: forward and reversed, ordered by preference by the use of "0 prefers int to long" disambiguation rule.
Definition at line 26 of file join.hh.
References vcsn::join().
Referenced by vcsn::join().
join_impl<V1, V2>::type vcsn::detail::join_ | ( | V2 | v2, |
V1 | v1, | ||
long | |||
) |
Definition at line 33 of file join.hh.
References vcsn::join().
auto vcsn::detail::join_automata | ( | Auts &&... | auts | ) | -> decltype(make_mutable_automaton(join(auts->context()...))) |
An automaton whose type is the join between those of auts.
Definition at line 13 of file join-automata.hh.
References vcsn::join(), and vcsn::make_mutable_automaton().
Referenced by vcsn::infiltration(), vcsn::multiply(), vcsn::shuffle(), vcsn::sum(), and vcsn::union_a().
|
static |
Label in the output.
Definition at line 158 of file lift.hh.
References kept_label_().
|
static |
Definition at line 165 of file lift.hh.
Referenced by kept_label().
auto vcsn::detail::label_one | ( | ) | -> enable_if_t<LabelSet::has_one(), typename LabelSet::value_t> |
This LabelSet's one(), if supported.
Definition at line 41 of file labelset.hh.
Referenced by vcsn::rat::expressionset_impl< Context >::tuple_of_label< Dummy >::as_label_(), and vcsn::rat::to_expansion_visitor< ExpSet >::VCSN_RAT_VISIT().
ATTRIBUTE_NORETURN auto vcsn::detail::label_one | ( | ) | -> enable_if_t<!LabelSet::has_one(), typename LabelSet::value_t> |
Definition at line 50 of file labelset.hh.
References vcsn::sname().
auto vcsn::detail::label_one | ( | const LabelSet & | ) | -> typename LabelSet::value_t |
Enjoy type inference.
Definition at line 66 of file labelset.hh.
|
inline |
Lowest common multiple.
Definition at line 28 of file math.hh.
References gcd().
Referenced by vcsn::detail::q_impl::add(), and vcsn::detail::q_impl::sub().
auto vcsn::detail::letter_class_impl | ( | const ExpSet & | , |
const letter_class_t & | , | ||
bool | , | ||
std::false_type | , | ||
std::true_type | |||
) | -> typename ExpSet::value_t |
Definition at line 623 of file to-expression.hh.
Referenced by vcsn::to_expression().
auto vcsn::detail::letter_class_impl | ( | const ExpSet & | rs, |
const letter_class_t & | chars, | ||
bool | accept, | ||
std::false_type | , | ||
std::false_type | |||
) | -> typename ExpSet::value_t |
Definition at line 632 of file to-expression.hh.
References rs.
auto vcsn::detail::letter_class_impl | ( | const ExpSet & | rs, |
const letter_class_t & | , | ||
bool | , | ||
std::true_type | , | ||
std::false_type | |||
) | -> typename ExpSet::value_t |
Definition at line 655 of file to-expression.hh.
References rs.
vcsn::enable_if_t<!is_letterized_t<labelset_t_of<Aut> >{}, mutable_automaton<letterized_context<context_t_of<Aut> > > > vcsn::detail::letterize | ( | const Aut & | aut | ) |
Letterize an automaton whose type is not letterized already.
Definition at line 107 of file letterize.hh.
References make_letterized().
Referenced by vcsn::letterize().
vcsn::enable_if_t<is_letterized_t<labelset_t_of<Aut> >{}, const Aut&> vcsn::detail::letterize | ( | const Aut & | aut | ) |
Letterize an automaton whose type is letterized: do nothing.
Definition at line 119 of file letterize.hh.
lifted_expressionset_t<expressionset<Context> > vcsn::detail::lift_expressionset | ( | const expressionset< Context > & | rs, |
boost::optional< vcsn::rat::identities > | ids = {} |
||
) |
lift(expressionset) -> expressionset
Definition at line 282 of file lift.hh.
Referenced by vcsn::lift(), and vcsn::dyn::detail::lift_expression().
auto vcsn::detail::make_composer | ( | Lhs & | lhs, |
Rhs & | rhs | ||
) | -> typename detail::composer<Lhs, Rhs> |
Definition at line 275 of file compose.hh.
Referenced by vcsn::compose(), and vcsn::is_functional().
delay_automaton<Aut> vcsn::detail::make_delay_automaton | ( | const Aut & | aut | ) |
Definition at line 289 of file is-synchronized.hh.
free_context<context<LabelSet, WeightSet> > vcsn::detail::make_free_context | ( | const context< LabelSet, WeightSet > & | c | ) |
The free context for c.
Definition at line 237 of file labelset.hh.
References vcsn::context< LabelSet, WeightSet >::labelset(), make_letterized(), make_proper(), and vcsn::context< LabelSet, WeightSet >::weightset().
Referenced by make_trie_builder().
|
inline |
Same as make_tuple, unless the evaluation of arguments if right-to-left, in which case reverse the result.
Definition at line 307 of file tuple.hh.
References reverse_tuple().
Referenced by vcsn::detail::tupleset_impl< ValueSets >::conv_(), and vcsn::detail::tupleset_impl< ValueSets >::make_().
letterized_t<LabelSet> vcsn::detail::make_letterized | ( | const LabelSet & | ls | ) |
Definition at line 102 of file labelset.hh.
References vcsn::detail::letterized_traits< LabelSet >::labelset().
Referenced by vcsn::detail::letterized_traits< tupleset< LabelSets...> >::labelset_(), letterize(), make_free_context(), and make_letterized_context().
letterized_context<context<LabelSet, WeightSet> > vcsn::detail::make_letterized_context | ( | const context< LabelSet, WeightSet > & | c | ) |
The letterized context for c.
Definition at line 120 of file labelset.hh.
References vcsn::context< LabelSet, WeightSet >::labelset(), make_letterized(), and vcsn::context< LabelSet, WeightSet >::weightset().
|
inline |
The nullableset of a labelset.
Definition at line 150 of file labelset.hh.
Referenced by make_nullableset_context().
|
inline |
The nullableset context of a context.
Definition at line 166 of file labelset.hh.
References vcsn::context< LabelSet, WeightSet >::labelset(), make_nullableset(), and vcsn::context< LabelSet, WeightSet >::weightset().
Referenced by vcsn::subword(), vcsn::dyn::thompson(), and vcsn::dyn::zpc().
auto vcsn::detail::make_project | ( | const expressionset< Context > & | rs | ) | -> expressionset<decltype(make_project_context<Tape>(rs.context()))> |
Definition at line 51 of file project.hh.
References rs.
auto vcsn::detail::make_project_context | ( | const context< LabelSet, WeightSet > & | ctx | ) | -> enable_if_t<!context< LabelSet, WeightSet >::is_lat,context< LabelSet, WeightSet >> |
The resulting apparent context when keeping only tape Tape.
When the labelset is not a tupleset, require the tape to be 0, and return it.
Definition at line 19 of file project.hh.
References vcsn::rat::ctx(), and vcsn::rat::size().
proper_t<LabelSet> vcsn::detail::make_proper | ( | const LabelSet & | ls | ) |
The corresponding proper LabelSet.
Definition at line 200 of file labelset.hh.
References vcsn::detail::proper_traits< LabelSet >::value().
Referenced by make_free_context(), and make_proper_context().
auto vcsn::detail::make_proper_context | ( | const context< LabelSet, WeightSet > & | ctx | ) | -> proper_context<context<LabelSet, WeightSet>> |
From a context, its non-nullable context.
Definition at line 218 of file labelset.hh.
References vcsn::rat::ctx(), and make_proper().
Referenced by vcsn::detail::epsilon_remover_distance< Aut, has_one >::epsilon_remover_distance(), vcsn::detail::epsilon_remover_separate< Aut, has_one >::epsilon_remover_separate(), and vcsn::detail::epsilon_remover< Aut, has_one >::operator()().
auto vcsn::detail::make_properer | ( | Aut | aut, |
bool | prune = true , |
||
const std::string & | algo = "auto" |
||
) |
Definition at line 138 of file proper.hh.
Referenced by vcsn::proper().
state_eliminator<Aut, Profiler> vcsn::detail::make_state_eliminator | ( | Aut & | a, |
Profiler & | profiler | ||
) |
Definition at line 401 of file to-expression.hh.
Referenced by vcsn::eliminate_state_here(), and vcsn::to_expression().
trie_builder<free_context<context_t_of<PolynomialSet> >, Dir> vcsn::detail::make_trie_builder | ( | const PolynomialSet & | ps | ) |
Instantiate a trie-builder for this type of polynomialset.
Definition at line 139 of file trie.hh.
References vcsn::rat::ctx(), and make_free_context().
tupleset<ValueSets...> vcsn::detail::make_tupleset | ( | const ValueSets &... | vss | ) |
Definition at line 982 of file tupleset.hh.
Referenced by vcsn::tuple_context().
std::vector<typename Cont::value_type> vcsn::detail::make_vector | ( | const Cont & | cont | ) |
The content of cont as a vector.
Definition at line 20 of file vector.hh.
Referenced by vcsn::double_ring(), vcsn::detail::state_eliminator< Aut, Profiler >::eliminate_state_(), vcsn::detail::state_eliminator< Aut, Profiler >::eliminate_state_impl_(), vcsn::detail::epsilon_remover< Aut, has_one >::in_situ_remover_(), vcsn::ladybird(), vcsn::levenshtein(), vcsn::multiply_here(), and vcsn::rat::standard_visitor< Aut, ExpSet >::VCSN_RAT_VISIT().
|
inline |
The wordset context of a context.
Definition at line 277 of file labelset.hh.
References vcsn::context< LabelSet, WeightSet >::labelset(), make_wordset(), and vcsn::context< LabelSet, WeightSet >::weightset().
Referenced by vcsn::dyn::make_word_context(), and make_word_polynomialset().
|
inline |
The polynomialset of words of a labelset (not necessarily on words itself).
Definition at line 21 of file word-polynomialset.hh.
References vcsn::rat::ctx(), and make_word_context().
Referenced by vcsn::dyn::detail::cotrie_stream(), vcsn::dyn::lightest(), vcsn::dyn::shortest(), and vcsn::dyn::detail::trie_stream().
|
inline |
The wordset of a labelset.
Definition at line 261 of file labelset.hh.
Referenced by vcsn::dyn::ambiguous_word(), vcsn::is_partial_identity(), vcsn::detail::worded_automaton< Aut >::worded_labelset< tupleset< LabelSet...> >::labelset_(), vcsn::dyn::make_word(), make_word_context(), vcsn::dyn::synchronizing_word(), vcsn::detail::law_traits< tupleset< LabelSets...> >::value(), and vcsn::nullableset< LabelSet >::word().
|
inline |
Map a function on a tuple, return tuple of the results.
Definition at line 160 of file tuple.hh.
References map_tuple_().
Referenced by vcsn::detail::efsmer< Aut >::arc_type_(), and vcsn::detail::derived_term_algo::derived_term_algo().
|
inline |
Definition at line 168 of file tuple.hh.
References map_variadic_().
Referenced by map().
|
inline |
Definition at line 178 of file tuple.hh.
Referenced by map_tuple_(), and map_variadic_().
|
inline |
Definition at line 186 of file tuple.hh.
References map_variadic_().
Container::value_type vcsn::detail::max_forward | ( | const Container & | container | ) |
Same as *std::max_element
, but works with an input iterator, not just a forward iterator.
Definition at line 111 of file algorithm.hh.
auto vcsn::detail::meet_automata | ( | Auts &&... | auts | ) | -> decltype(make_mutable_automaton(meet(auts->context()...))) |
An automaton whose type is the meet between those of auts.
Definition at line 27 of file join-automata.hh.
References vcsn::make_mutable_automaton(), and vcsn::meet().
Referenced by vcsn::conjunction(), and vcsn::conjunction_lazy().
std::pair<InputIt1, InputIt2> vcsn::detail::mismatch | ( | InputIt1 | first1, |
InputIt1 | last1, | ||
InputIt2 | first2, | ||
InputIt2 | last2 | ||
) |
Same as C++14's mismatch, which is not available in G++-4.8 with -std=c++1y.
Get rid of this once we drop G++ 4.8 compatibility.
Definition at line 132 of file algorithm.hh.
Referenced by print_label_ranges_().
bool vcsn::detail::none_of | ( | const Range & | r, |
Predicate | p | ||
) |
Definition at line 147 of file algorithm.hh.
Referenced by none_of_equal().
bool vcsn::detail::none_of_equal | ( | const Range & | r, |
const Value & | value | ||
) |
Definition at line 156 of file algorithm.hh.
References none_of(), and vcsn::v.
Referenced by print_label_class().
std::ostream& vcsn::detail::print | ( | const std::tuple< Args...> & | args, |
std::ostream & | o | ||
) |
void vcsn::detail::print_ | ( | std::ostream & | o, |
const T & | arg, | ||
long | |||
) |
Serialize arg into o.
Definition at line 25 of file raise.hh.
Referenced by print_(), and vcsn::raise().
|
inline |
When printing an istream, consider that we are trying to help the user by showing what's wrong with the input.
So report some of the upcoming bytes.
Definition at line 33 of file raise.hh.
References vcsn::str_escape().
|
inline |
auto vcsn::detail::print_ | ( | std::ostream & | o, |
const T & | arg, | ||
int | |||
) | -> decltype(arg.print_set(o), void()) |
std::ostream& vcsn::detail::print_label_class | ( | const LabelSet & | ls, |
const std::vector< typename LabelSet::value_t > & | letters, | ||
std::ostream & | out, | ||
format | fmt | ||
) |
Print a set of labels (letterized) with classes.
The order of the letters is respected; depending on the use case, you might want to call sort and unique before.
Definition at line 329 of file labelset.hh.
References vcsn::format::latex, none_of_equal(), and print_label_ranges_().
Referenced by vcsn::rat::printer< ExpSet >::for(), and vcsn::detail::polynomialset_impl< Context, Kind >::print_with_classes_().
std::ostream& vcsn::detail::print_label_ranges_ | ( | const LabelSet & | ls, |
const std::vector< typename LabelSet::value_t > & | letters, | ||
const std::vector< typename LabelSet::value_t > & | alphabet, | ||
std::ostream & | out, | ||
format | fmt | ||
) |
Print a set of labels with ranges.
The order of the letters is respected; depending on the use case, you might want to call sort and unique before.
Definition at line 293 of file labelset.hh.
References vcsn::format::latex, and mismatch().
Referenced by print_label_class().
auto vcsn::detail::real_context | ( | const Aut & | aut | ) | -> decltype(real_context_impl<Aut>::context(aut)) |
For a focus automaton, its genuine context (not the visible one), and for all the other automata, their context.
Definition at line 221 of file copy.hh.
References vcsn::detail::real_context_impl< Aut >::context().
Referenced by vcsn::detail::real_context_impl< automaton_decorator< Aut > >::context(), and vcsn::make_fresh_automaton().
|
inline |
Definition at line 280 of file tuple.hh.
Referenced by make_gcc_tuple().
|
inline |
|
inline |
Definition at line 16 of file strip.hh.
Referenced by vcsn::detail::universaler< Aut >::operator()(), and vcsn::strip().
|
inline |
synchronizer<Aut>::out_automaton_t vcsn::detail::synchronize | ( | const Aut & | aut | ) |
Definition at line 334 of file synchronize.hh.
References vcsn::detail::synchronizer< Aut >::synchronize().
|
static |
Weight in the output.
Definition at line 172 of file lift.hh.
References weight_label_().
|
static |
Definition at line 179 of file lift.hh.
Referenced by weight_label().
constexpr wet_kind_t vcsn::detail::wet_kind | ( | ) |
auto vcsn::detail::ictx = inner_context_t{weight_tapes, *ctx.weightset()} |
xalloc<long int> vcsn::detail::indentation |
Definition at line 18 of file indent.cc.
Referenced by vcsn::decindent(), vcsn::incindent(), vcsn::indent(), and vcsn::resetindent().
auto vcsn::detail::rs = weightset_t{ictx, ids} |
Definition at line 151 of file lift.hh.
Referenced by vcsn::dyn::detail::concatenate_expression(), vcsn::dyn::detail::conjunction_expression(), vcsn::rat::expressionset_impl< Context >::conv(), vcsn::dyn::detail::copy_expression(), vcsn::dyn::derivation(), vcsn::dyn::derived_term(), vcsn::derived_term(), vcsn::dyn::expression_one(), vcsn::dyn::expression_zero(), vcsn::dyn::identities(), vcsn::dyn::detail::infiltration_expression(), vcsn::is_partial_identity(), vcsn::dyn::detail::ldiv_expression(), vcsn::dyn::detail::ldiv_polynomial(), vcsn::dyn::detail::left_mult_expression(), vcsn::rat::less< ExpSet >::less_(), vcsn::dyn::detail::less_than_expression(), letter_class_impl(), vcsn::dyn::detail::lgcd_polynomial(), vcsn::dyn::make_expression(), vcsn::rat::make_expression_polynomialset(), vcsn::rat::make_printer(), make_project(), vcsn::dyn::detail::multiply_expression(), vcsn::dyn::detail::multiply_label(), vcsn::dyn::detail::multiply_polynomial(), vcsn::rat::printer< ExpSet >::visit_tuple< bool, Dummy >::print_(), vcsn::dyn::detail::rdiv_expression(), vcsn::dyn::detail::right_mult_expression(), vcsn::dyn::detail::shuffle_expression(), vcsn::dyn::split(), vcsn::split_polynomial(), vcsn::dyn::detail::sum_expression(), vcsn::dyn::detail::sum_polynomial(), vcsn::dyn::detail::sum_weight(), vcsn::dyn::to_expansion(), vcsn::dyn::to_expression(), vcsn::dyn::detail::to_expression_class(), vcsn::dyn::detail::to_expression_label(), vcsn::dyn::detail::tuple_(), and vcsn::zpc().
struct lifter_impl< context< tupleset< LabelSets...>, WeightSet >,vcsn::detail::index_sequence< Tapes...>,vcsn::enable_if_t<(0< sizeof...(Tapes))> >{using in_labelset_t=tupleset< LabelSets...>;using in_context_t=context< in_labelset_t, WeightSet >;using in_label_t=typename in_labelset_t::value_t;template< std::size_t...I >using seq=detail::index_sequence< I...>;template< typename S, typename L >struct tape_set;template< typename LabelSet >struct tape_set< seq<>, LabelSet >{using type=oneset;};template< size_t...I, typename LabelSet >struct tape_set< seq< I...>, LabelSet >{using type=tupleset< typename LabelSet::template valueset_t< I >...>;};using index_t=typename detail::make_index_sequence< in_labelset_t::size()>::type;static constexpr size_t number_of_tapes=in_labelset_t::size();template< size_t I >using tape_labelset_t=typename in_labelset_t::template valueset_t< I >;using kept_index_t=sequence_difference< index_t, seq< Tapes...> >;using labelset_t=typename tape_set< kept_index_t, in_labelset_t >::type;using weight_index_t=seq< Tapes...>;using weight_tapes_t=typename tape_set< weight_index_t, in_labelset_t >::type;using inner_context_t=context< weight_tapes_t, WeightSet >;using weightset_t=expressionset< inner_context_t >;using context_t=context< labelset_t, weightset_t >;static context_t value(const in_context_t &ctx,vcsn::rat::identities ids){return value_(ctx, ids, weight_index_t{}, kept_index_t{});}template< size_t...WeightTapes, size_t...KeptTapes >static context_t value_(const in_context_t &ctx,vcsn::rat::identities ids,seq< WeightTapes...>,seq< KeptTapes...>){auto ls=labelset_t{ctx.labelset() -> template vcsn::detail::set< KeptTapes >()...} |
vcsn::detail::void |
Definition at line 42 of file print.hh.
Referenced by vcsn::detail::product_automaton_impl< Aut, Auts >::add_one_transitions_(), vcsn::detail::product_automaton_impl< Aut, Auts >::add_shuffle_transitions_(), vcsn::zipped_maps< Dereference, Maps >::iterator::align_(), vcsn::detail::dot::parser::basic_symbol< Base >::basic_symbol(), vcsn::rat::parser::basic_symbol< Base >::basic_symbol(), vcsn::detail::dot::parser::basic_symbol< Base >::clear(), vcsn::rat::parser::basic_symbol< Base >::clear(), for_(), std::hash< std::tuple< Elements...> >::hash_(), vcsn::cross_sequences< Sequences >::cross_iterator< ValueType, IteratorsType >::increment_(), vcsn::rat::info< ExpSet >::visit_tuple< bool, Dummy >::info_(), vcsn::detail::tupleset_impl< ValueSets >::lnormalize_here_(), vcsn::weightset_mixin< expressionset_t >::mul(), vcsn::zip_sequences< Sequences >::zip_iterator< ValueType, IteratorsType >::next_(), vcsn::zip_sequences_padded< ZipSequences >::zip_iterator< ValueType, IteratorsType >::next_(), vcsn::detail::tupleset_impl< ValueSets >::open_(), vcsn::detail::tupleset_impl< ValueSets >::print_(), vcsn::detail::tuple_automaton_impl< Aut, Auts >::print_set_(), vcsn::detail::tupleset_impl< ValueSets >::print_set_(), vcsn::raise(), vcsn::cross_sequences< Sequences >::cross_iterator< ValueType, IteratorsType >::reset_up_to_(), vcsn::detail::wet_set< Key, Compare >::set(), vcsn::detail::wet_bitset::set(), vcsn::transition_tuple< State, Label, bool >::set_weight(), vcsn::rat::sizer< ExpSet >::visit_tuple< bool, Dummy >::size_(), vcsn::detail::tuple_automaton_impl< Aut, Auts >::sname_(), vcsn::rat::info< ExpSet >::VCSN_RAT_VISIT(), vcsn::detail::welement_weight< bool >::weight(), and vcsn::detail::welement_weight< bool >::welement_weight().