Vcsn  2.1
Be Rational
vcsn::detail Namespace Reference

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
 

Typedef Documentation

template<typename Aut >
using vcsn::detail::component_t = typedef std::unordered_set<state_t_of<Aut>>

A strongly-connected component: set of states.

Bench show that using std::unordered_set is better than std::set about ~10x. For example: std::set: 5.53s: a.scc("tarjan_iterative") # a = std((abc)*{1000}) std::unordereset: 0.58s: a.scc("tarjan_iterative") # a = std((abc)*{1000})

Definition at line 38 of file scc.hh.

template<typename Aut >
using vcsn::detail::components_t = typedef std::vector<component_t<Aut>>

A set of strongly-connected components.

Definition at line 42 of file scc.hh.

template<typename S1 , typename S2 >
using vcsn::detail::Concat = typedef typename concat<S1, S2>::type

Definition at line 40 of file tuple.hh.

template<typename S1 , typename S2 >
using vcsn::detail::concat_sequence = typedef typename concat_index_sequence<S1, S2>::type

Definition at line 84 of file tuple.hh.

template<typename Context >
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.

template<typename Aut >
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.

template<std::size_t N>
using vcsn::detail::GenSeq = typedef typename make_index_sequence<N>::type

Definition at line 44 of file tuple.hh.

template<typename LabelSet >
using vcsn::detail::genset_t = typedef decltype(std::declval<LabelSet>().genset())

Definition at line 18 of file labelset.hh.

template<typename Aut >
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)>

Definition at line 36 of file print.hh.

template<typename LabelSet >
using vcsn::detail::has_genset_mem_fn = typedef detect<LabelSet, genset_t>

Definition at line 21 of file labelset.hh.

template<typename LabelSet >
using vcsn::detail::has_one_mem_fn = typedef detect<LabelSet, one_t>

Definition at line 32 of file labelset.hh.

template<typename T >
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.

template<typename LabelSet >
using vcsn::detail::is_letterized_t = typedef bool_constant<letterized_traits<LabelSet>::is_letterized>

Definition at line 98 of file labelset.hh.

template<typename... Auts>
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.

template<typename... ValueSets>
using vcsn::detail::labelset_types = typedef labelset_types_impl<void, ValueSets...>

Definition at line 50 of file tupleset.hh.

template<typename LabelSet >
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.

template<typename Context >
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.

template<typename Aut >
using vcsn::detail::letterized_ls = typedef letterized_traits<labelset_t_of<Aut>>

Definition at line 101 of file letterize.hh.

template<typename LabelSet >
using vcsn::detail::letterized_t = typedef typename letterized_traits<LabelSet>::labelset_t

Definition at line 94 of file labelset.hh.

template<typename Aut , size_t... Tapes>
using vcsn::detail::lifted_automaton_t = typedef mutable_automaton<typename lifter_t<context_t_of<Aut>, Tapes...>::context_t>

Definition at line 192 of file lift.hh.

template<typename ExpSet >
using vcsn::detail::lifted_expressionset_t = typedef expressionset<typename lifter_t<context_t_of<ExpSet>>::context_t>

Definition at line 277 of file lift.hh.

template<typename Ctx , size_t... Tapes>
using vcsn::detail::lifter_t = typedef lifter_impl<Ctx, detail::index_sequence<Tapes...>>

A traits to lift the Tapes of the labels to the weights.

Definition at line 187 of file lift.hh.

template<std::size_t S, std::size_t L>
using vcsn::detail::make_index_range_t = typedef typename make_index_range<S, L>::type

Definition at line 74 of file tuple.hh.

template<typename Ctx >
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.

template<typename LabelSet >
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.

template<typename LabelSet >
using vcsn::detail::one_t = typedef decltype(std::declval<LabelSet>().one())

Definition at line 29 of file labelset.hh.

template<typename Aut >
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.

template<size_t Tape, typename Context >
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.

template<size_t Tape, typename LabelSet >
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.

template<typename Context >
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.

template<typename LabelSet >
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.

template<typename S1 , typename S2 >
using vcsn::detail::sequence_difference = typedef typename index_sequence_difference<typename S1::type, typename S2::type>::type

Definition at line 138 of file tuple.hh.

template<typename Aut >
using vcsn::detail::synchronized_automaton = typedef std::shared_ptr<synchronized_automaton_impl<Aut>>

Definition at line 206 of file synchronize.hh.

template<typename T >
using vcsn::detail::test_t = typedef decltype(std::declval<T>().size())

Definition at line 13 of file military-order.hh.

template<typename... Ts>
using vcsn::detail::void_t = typedef typename voider<Ts...>::type

Definition at line 48 of file type_traits.hh.

template<wet_kind_t Kind, typename Key , typename Value , typename Compare , typename Hash , typename KeyEqual >
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> > > >

Definition at line 770 of file wet.hh.

template<typename Ctx >
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.

template<typename Ctx >
using vcsn::detail::word_polynomialset_t = typedef polynomialset<word_context_t<Ctx>>

Definition at line 15 of file word-polynomialset.hh.

Function Documentation

template<typename Aut >
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_().

Here is the call graph for this function:

template<typename Range , typename Predicate >
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().

template<typename Container >
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().

template<typename Aut >
constexpr bool vcsn::detail::can_use_brzozowski ( )

Definition at line 17 of file minimize.hh.

template<typename Fun >
void vcsn::detail::cross ( Fun  f)
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().

template<typename Fun , typename Cont , typename... Conts>
void vcsn::detail::cross ( Fun  f,
const Cont &  head,
const Conts &...  tails 
)
inline

Definition at line 215 of file tuple.hh.

References cross().

Here is the call graph for this function:

template<typename Fun , typename... Ts>
void vcsn::detail::cross_tuple ( Fun  f,
const std::tuple< Ts...> &  ts 
)
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().

Here is the call graph for this function:

template<typename Fun , typename... Ts, size_t... I>
void vcsn::detail::cross_tuple_ ( Fun  f,
const std::tuple< Ts...> &  ts,
index_sequence< I...>   
)
inline

Definition at line 226 of file tuple.hh.

References cross().

Referenced by cross_tuple().

Here is the call graph for this function:

static int vcsn::detail::debug_level ( )
inlinestatic

Debug level set in the user's environment.

Definition at line 11 of file debug-level.hh.

Referenced by vcsn::rat::driver::parse().

template<typename Container , typename Predicate >
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().

template<typename Aut >
auto vcsn::detail::fado_impl_ ( const Aut &  aut,
std::ostream &  out 
) -> enable_if_t<has_fado_t<Aut>

Definition at line 40 of file print.hh.

template<typename Aut >
ATTRIBUTE_NORETURN auto vcsn::detail::fado_impl_ ( const Aut &  ,
std::ostream &   
) -> enable_if_t<!has_fado_t<Aut>

Definition at line 49 of file print.hh.

template<typename Fun , typename... Ts>
void vcsn::detail::for_ ( const std::tuple< Ts...> &  ts,
Fun  f 
)
inline

Definition at line 142 of file tuple.hh.

template<typename Fun , typename... Ts, size_t... I>
void vcsn::detail::for_ ( Fun  f,
const std::tuple< Ts...> &  ts,
index_sequence< I...>   
)
inline

Definition at line 149 of file tuple.hh.

References void.

ATTRIBUTE_PURE unsigned int vcsn::detail::gcd ( unsigned int  a,
unsigned int  b 
)
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().

Here is the call graph for this function:

template<typename Aut >
auto vcsn::detail::grail_impl_ ( const Aut &  aut,
std::ostream &  out 
) -> enable_if_t<has_fado_t<Aut>

Definition at line 58 of file print.hh.

template<typename Aut >
ATTRIBUTE_NORETURN auto vcsn::detail::grail_impl_ ( const Aut &  ,
std::ostream &   
) -> enable_if_t<!has_fado_t<Aut>

Definition at line 67 of file print.hh.

template<typename Iterator , typename Pred , typename Less >
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().

template<typename Aut >
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().

template<typename Aut >
vcsn::enable_if_t<!labelset_t_of<Aut>::has_one(), Aut> vcsn::detail::insplit ( Aut &  aut)

Definition at line 98 of file insplit.hh.

template<typename Aut >
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.

template<typename Aut >
vcsn::enable_if_t<labelset_t_of<Aut>::has_one(), bool> vcsn::detail::is_proper_ ( const Aut &  aut)
inline

Definition at line 18 of file is-proper.hh.

Referenced by vcsn::is_proper().

template<typename Aut >
constexpr vcsn::enable_if_t<!labelset_t_of<Aut>::has_one(), bool> vcsn::detail::is_proper_ ( const Aut &  )
inline

Definition at line 29 of file is-proper.hh.

template<typename Aut >
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_().

template<typename Container , typename Compare >
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().

template<typename Aut >
bool vcsn::detail::is_synchronized ( const Aut &  aut)

Definition at line 281 of file is-synchronized.hh.

template<typename V1 , typename V2 >
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().

Here is the call graph for this function:

template<typename V1 , typename V2 >
join_impl<V1, V2>::type vcsn::detail::join_ ( V2  v2,
V1  v1,
long   
)

Definition at line 33 of file join.hh.

References vcsn::join().

Here is the call graph for this function:

template<typename... Auts>
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().

Here is the call graph for this function:

static labelset_t::value_t vcsn::detail::kept_label ( const in_label_t &  l)
static

Label in the output.

Definition at line 158 of file lift.hh.

References kept_label_().

Here is the call graph for this function:

template<size_t... I>
static labelset_t::value_t vcsn::detail::kept_label_ ( const in_label_t &  l,
seq< I...>   
)
static

Definition at line 165 of file lift.hh.

Referenced by kept_label().

template<typename LabelSet >
auto vcsn::detail::label_one ( ) -> enable_if_t<LabelSet::has_one(), typename LabelSet::value_t>
template<typename LabelSet >
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().

Here is the call graph for this function:

template<typename LabelSet >
auto vcsn::detail::label_one ( const LabelSet &  ) -> typename LabelSet::value_t

Enjoy type inference.

Definition at line 66 of file labelset.hh.

ATTRIBUTE_PURE unsigned int vcsn::detail::lcm ( unsigned int  a,
unsigned int  b 
)
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().

Here is the call graph for this function:

template<typename ExpSet >
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().

template<typename ExpSet >
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.

template<typename ExpSet >
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.

template<typename Aut >
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().

Here is the call graph for this function:

template<typename Aut >
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.

template<typename LabelSet , typename WeightSet , size_t... Tapes>
lifter_t<context<LabelSet, WeightSet>, Tapes...>::context_t vcsn::detail::lift_context ( const context< LabelSet, WeightSet > &  ctx)

lift(ctx) -> ctx

Definition at line 197 of file lift.hh.

template<typename Context >
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().

template<typename Lhs , typename Rhs >
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().

template<typename Aut >
delay_automaton<Aut> vcsn::detail::make_delay_automaton ( const Aut &  aut)

Definition at line 289 of file is-synchronized.hh.

template<typename LabelSet , typename WeightSet >
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().

Here is the call graph for this function:

template<typename... Ts>
auto vcsn::detail::make_gcc_tuple ( Ts &&...  ts) -> decltype(reverse_tuple(std::make_tuple(std::forward<Ts>(ts)...)))
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_().

Here is the call graph for this function:

template<typename LabelSet >
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().

Here is the call graph for this function:

template<typename LabelSet , typename WeightSet >
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().

Here is the call graph for this function:

template<typename LabelSet >
nullableset_t<LabelSet> vcsn::detail::make_nullableset ( const LabelSet &  ls)
inline

The nullableset of a labelset.

Definition at line 150 of file labelset.hh.

Referenced by make_nullableset_context().

template<typename LabelSet , typename WeightSet >
nullableset_context_t<context<LabelSet, WeightSet> > vcsn::detail::make_nullableset_context ( const context< LabelSet, WeightSet > &  ctx)
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().

Here is the call graph for this function:

template<size_t Tape, typename Context >
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.

template<size_t Tape, typename LabelSet , typename WeightSet >
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().

Here is the call graph for this function:

template<typename LabelSet >
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().

Here is the call graph for this function:

template<typename LabelSet , typename WeightSet >
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()().

Here is the call graph for this function:

template<typename Aut >
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().

template<typename Aut , typename Profiler >
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().

template<direction Dir, typename PolynomialSet >
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().

Here is the call graph for this function:

template<typename... ValueSets>
tupleset<ValueSets...> vcsn::detail::make_tupleset ( const ValueSets &...  vss)

Definition at line 982 of file tupleset.hh.

Referenced by vcsn::tuple_context().

template<typename LabelSet , typename WeightSet >
word_context_t<context<LabelSet, WeightSet> > vcsn::detail::make_word_context ( const context< LabelSet, WeightSet > &  ctx)
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().

Here is the call graph for this function:

template<typename Ctx >
auto vcsn::detail::make_word_polynomialset ( const Ctx &  ctx) -> word_polynomialset_t<Ctx>
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().

Here is the call graph for this function:

template<typename Fun , typename... Ts>
auto vcsn::detail::map ( const std::tuple< Ts...> &  ts,
Fun  f 
) -> decltype(map_tuple_(f, ts, make_index_sequence<sizeof...(Ts)>()))
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().

Here is the call graph for this function:

template<typename Fun , typename... Ts, size_t... I>
auto vcsn::detail::map_tuple_ ( Fun  f,
const std::tuple< Ts...> &  ts,
index_sequence< I...>   
) -> decltype(map_variadic_(f, std::get<I>(ts)...))
inline

Definition at line 168 of file tuple.hh.

References map_variadic_().

Referenced by map().

Here is the call graph for this function:

template<typename Fun >
auto vcsn::detail::map_variadic_ ( Fun  ) -> decltype(std::make_tuple())
inline

Definition at line 178 of file tuple.hh.

Referenced by map_tuple_(), and map_variadic_().

template<typename Fun , typename T , typename... Ts>
auto vcsn::detail::map_variadic_ ( Fun  f,
t,
Ts &&...  ts 
) -> decltype(std::tuple_cat(std::make_tuple(f(t)), map_variadic_(f, ts...)))
inline

Definition at line 186 of file tuple.hh.

References map_variadic_().

Here is the call graph for this function:

template<typename Container >
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.

template<typename... Auts>
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().

Here is the call graph for this function:

template<typename InputIt1 , typename InputIt2 >
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_().

template<typename Range , typename Predicate >
bool vcsn::detail::none_of ( const Range &  r,
Predicate  p 
)

Definition at line 147 of file algorithm.hh.

Referenced by none_of_equal().

template<typename Range , typename Value >
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().

Here is the call graph for this function:

template<typename... Args>
std::ostream& vcsn::detail::print ( const std::tuple< Args...> &  args,
std::ostream &  o 
)

Definition at line 339 of file tuple.hh.

template<typename T >
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().

void vcsn::detail::print_ ( std::ostream &  o,
std::istream &  is,
long   
)
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().

Here is the call graph for this function:

void vcsn::detail::print_ ( std::ostream &  o,
std::istringstream &  is,
long   
)
inline

Disambiguation: both 'istream&' and 'const T&' are elligible.

Definition at line 45 of file raise.hh.

References print_().

Here is the call graph for this function:

template<typename T >
auto vcsn::detail::print_ ( std::ostream &  o,
const T &  arg,
int   
) -> decltype(arg.print_set(o), void())

Serialize arg, which supports print_set, into o.

Definition at line 52 of file raise.hh.

template<typename LabelSet >
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_().

Here is the call graph for this function:

template<typename LabelSet >
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().

Here is the call graph for this function:

template<typename Aut >
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().

Here is the call graph for this function:

template<typename... Ts>
auto vcsn::detail::reverse_tuple ( const std::tuple< Ts...> &  t) -> decltype(reverse_tuple(t, make_index_sequence<sizeof...(Ts)>()))
inline

Definition at line 280 of file tuple.hh.

Referenced by make_gcc_tuple().

template<typename... Ts, std::size_t... I>
auto vcsn::detail::reverse_tuple ( const std::tuple< Ts...> &  t,
index_sequence< I...>   
) -> decltype(std::make_tuple(std::get<sizeof...(Ts) - 1 - I>(t)...))
inline

Definition at line 288 of file tuple.hh.

template<typename Aut >
auto vcsn::detail::strip ( const Aut &  aut,
int   
) -> decltype(aut->strip())
inline

Definition at line 16 of file strip.hh.

Referenced by vcsn::detail::universaler< Aut >::operator()(), and vcsn::strip().

template<typename Aut >
auto vcsn::detail::strip ( const Aut &  aut,
long   
) -> decltype(aut)
inline

Definition at line 26 of file strip.hh.

template<typename Aut >
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().

Here is the call graph for this function:

vcsn::detail::VCSN_JOIN_SIMPLE ( b  ,
b   
)
static weight_tapes_t::value_t vcsn::detail::weight_label ( const in_label_t &  l)
static

Weight in the output.

Definition at line 172 of file lift.hh.

References weight_label_().

Here is the call graph for this function:

template<size_t... I>
static weight_tapes_t::value_t vcsn::detail::weight_label_ ( const in_label_t &  l,
seq< I...>   
)
static

Definition at line 179 of file lift.hh.

Referenced by weight_label().

template<typename Key , typename Value >
constexpr wet_kind_t vcsn::detail::wet_kind ( )

Definition at line 747 of file wet.hh.

Variable Documentation

auto vcsn::detail::ictx = inner_context_t{weight_tapes, *ctx.weightset()}

Definition at line 150 of file lift.hh.

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().

vcsn::detail::return {ls, rs}

Definition at line 153 of file lift.hh.

auto vcsn::detail::rs = weightset_t{ictx, ids}
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 vcsn::detail::set< KeptTapes >()...}

Specialization: lift only some tapes.

Definition at line 145 of file lift.hh.

vcsn::detail::void
Initial value:
{
fado(aut, out)
std::ostream & fado(const Aut &aut, std::ostream &out)
Definition: grail.hh:204

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().

auto vcsn::detail::weight_tapes = weight_tapes_t{ctx.labelset()->template set<WeightTapes>()...}

Definition at line 149 of file lift.hh.