Vcsn  2.0
Be Rational
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
vcsn::detail Namespace Reference

Namespaces

 dot
 Implementation details of the dot parser.
 

Classes

struct  and_
 
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  blind_automaton_impl
 Read-write on an automaton, that hides all tapes but one. More...
 
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< tupleset< T1...>, tupleset< T2...> >
 
struct  context_of
 
struct  context_of< vcsn::mutable_automaton< Context > >
 
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...
 
struct  derived_termer
 Compute the derived-term automaton from an expression. More...
 
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  eval_if
 
struct  eval_if_c
 
class  evaluator
 
class  f2_impl
 
class  fadoer
 Format an automaton into Fado. More...
 
class  filter_automaton_impl
 Hide some states of an automaton. 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
 
class  insplitter
 
struct  int_range
 
struct  int_range< off, index_sequence< I...> >
 
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, ratexpset< Context > >
 
struct  join_impl< context< LS1, WS1 >, context< LS2, WS2 > >
 The join of two contexts. 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 >, ratexpset< Ctx2 > >
 Join of a letterset and a ratexpset. More...
 
struct  join_impl< LS1, nullableset< LS2 > >
 The join with another labelset. More...
 
struct  join_impl< nullableset< letterset< GenSet > >, wordset< GenSet > >
 
struct  join_impl< nullableset< LS1 >, nullableset< LS2 > >
 The join with another labelset. More...
 
struct  join_impl< oneset, oneset >
 
struct  join_impl< polynomialset< Ctx1 >, polynomialset< Ctx2 > >
 
struct  join_impl< q, ratexpset< Context > >
 
struct  join_impl< r, ratexpset< Context > >
 
struct  join_impl< rat::identities, rat::identities >
 
struct  join_impl< ratexpset< Ctx1 >, ratexpset< Ctx2 > >
 The join of two ratexpsets. More...
 
struct  join_impl< tupleset< VS1...>, tupleset< VS2...> >
 
struct  join_impl< wordset< GenSet >, wordset< GenSet > >
 
struct  join_impl< WS1, polynomialset< Ctx2 > >
 
struct  join_impl< z, ratexpset< Context > >
 
struct  join_impl< zmin, ratexpset< 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
 A traits so that tupleset may define types that may exist. More...
 
struct  labelset_types< decltype(pass{typename ValueSets::word_t()...}, void()), ValueSets...>
 Specialization for tuples of labelsets. More...
 
struct  law_traits
 The LAW from a LAL. 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< ratexpset< Ctx > >
 Conversion to a wordset: identity. More...
 
struct  law_traits< tupleset< LabelSets...> >
 Conversion to wordset. More...
 
struct  law_traits< wordset< GenSet > >
 
class  left_reductioner
 
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  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< 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< ratexpset< Ctx > >
 Conversion to a nullableset: identity. More...
 
struct  nullableset_traits< wordset< GenSet > >
 wordset is already a nullableset. More...
 
struct  or_
 
struct  or_< F1 >
 
struct  or_< F1, F...>
 
struct  or_<>
 
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...
 
class  partition_automaton_impl
 An automaton wrapper whose states form a partition of the state set of another automaton. More...
 
struct  pass
 Ignore its arguments. More...
 
class  permutation_automaton_impl
 An automaton isomorphic to another one. More...
 
class  product_automaton_impl
 Build the (accessible part of the) product. More...
 
class  properer
 This class contains the core of the proper algorithm. More...
 
class  properer< Aut, false >
 
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...> >
 
class  ratexp_automaton_impl
 An incremental automaton whose states are ratexps. More...
 
struct  real_context_impl
 
struct  real_context_impl< blind_automaton< Tape, Aut > >
 
struct  real_context_impl< permutation_automaton< Aut > >
 
class  reverse_postorder_impl
 Get all vertices in reverse postorder by using depth first search. More...
 
class  rmin_impl
 
class  scc_kosaraju_impl
 Use Kosajaju algorithm for finding all of strongly connected components. More...
 
class  scc_tarjan_impl
 Use Tarjan's algorithm to find all strongly connected components. More...
 
struct  select
 
struct  select< q >
 
struct  select< r >
 
struct  select< z >
 
struct  sfinae_true
 
class  sorter
 A function to sort an automaton. More...
 
struct  standard_operations
 
class  star_heighter
 
struct  state_eliminator
 
struct  state_eliminator< Aut, labels_are_one >
 Eliminate states in an automaton whose labelset is oneset. More...
 
struct  state_eliminator< Aut, labels_are_ratexps >
 Eliminate states in an automaton whose labelset is a ratexpset. More...
 
struct  state_t_of_impl
 
struct  state_t_of_impl< std::shared_ptr< ValueSet > >
 
class  synchronizer
 
class  tikzer
 Format automaton to TikZ format. 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
 
class  tuple_automaton_impl
 An automaton whose states are tuples of states of automata. More...
 
struct  tuple_printer
 
struct  tuple_printer< Tuple, 1 >
 
class  universaler
 Functor for universal. More...
 
struct  weight_t_of_impl
 
struct  weight_t_of_impl< std::shared_ptr< ValueSet > >
 
struct  weightset_t_of_impl
 
struct  weightset_t_of_impl< std::shared_ptr< ValueSet > >
 
class  z_impl
 
class  zmin_impl
 

Typedefs

template<typename Context , size_t Tape>
using blind_context_t = decltype(blind_context< Tape >(std::declval< Context >()))
 
template<typename ValueSet >
using context_of_t = typename context_of< ValueSet >::type
 
template<typename Context >
using lifted_context_t = context< oneset, ratexpset< Context >>
 
template<typename Aut >
using lifted_automaton_t = mutable_automaton< lifted_context_t< context_t_of< Aut >>>
 
template<typename RatExpSet >
using lifted_ratexpset_t = ratexpset< lifted_context_t< context_t_of< RatExpSet >>>
 
template<typename Exp >
using lifted_ratexp_t = typename lifted_context_t< context_t_of< Exp >>::ratexp_t
 
template<typename Aut >
using component_t = std::set< state_t_of< Aut >>
 An strongly-connected component: list of states. More...
 
template<typename Aut >
using components_t = std::vector< component_t< Aut >>
 A set of strongly-connected components. More...
 
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 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 Ctx >
using word_polynomialset_t = polynomialset< word_context_t< Ctx >>
 
template<class S1 , class S2 >
using Concat = typename concat< S1, S2 >::type
 
template<std::size_t N>
using GenSeq = typename make_index_sequence< N >::type
 
template<typename S1 , typename S2 >
using concat_sequence = typename concat_index_sequence< S1, S2 >::type
 

Functions

template<size_t Tape, typename LabelSet , typename WeightSet >
auto blind_context (const context< LabelSet, WeightSet > &ctx) -> context< typename LabelSet::template valueset_t< Tape >, WeightSet >
 
template<typename Aut >
auto real_context (const Aut &aut) -> decltype(real_context_impl< Aut >::context(aut))
 
template<typename Aut >
std::enable_if< labelset_t_of
< Aut >::has_one(), Aut >
::type 
insplit (Aut &aut)
 
template<typename Aut >
std::enable_if<!labelset_t_of
< Aut >::has_one(), Aut >
::type 
insplit (Aut &aut)
 
template<typename Aut >
std::enable_if< labelset_t_of
< Aut >::has_one(), bool >
::type 
is_proper_ (const Aut &aut)
 
template<typename Aut >
constexpr std::enable_if
<!labelset_t_of< Aut >
::has_one(), bool >::type 
is_proper_ (const Aut &)
 
template<typename Aut >
Aut::element_type::automaton_nocv_t 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 LabelSet , typename WeightSet >
lifted_context_t< context
< LabelSet, WeightSet > > 
lift_context (const context< LabelSet, WeightSet > &ctx)
 
template<typename Context >
lifted_ratexpset_t< ratexpset
< Context > > 
lift_ratexpset (const ratexpset< Context > &rs)
 
template<typename Aut >
constexpr bool can_use_brzozowski ()
 
static int debug_level ()
 Debug level set in the user's environment. More...
 
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 >
state_eliminator< Aut > make_state_eliminator (Aut &a)
 
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 >
nullableset_t< LabelSetmake_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 >
law_t< LabelSetmake_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 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 Container , typename Compare >
bool is_sorted (const Container &container, Compare comp)
 
ATTRIBUTE_PURE unsigned int gcd (unsigned int a, unsigned int b)
 
ATTRIBUTE_PURE unsigned int lcm (unsigned int a, unsigned int b)
 
template<typename T >
static auto test_size (int) -> sfinae_true< decltype(std::declval< T >().size())>
 
template<typename >
static auto test_size (long) -> std::false_type
 
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... 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 Fun >
void cross (Fun f)
 Variadic Cartesian product of vectors. More...
 
template<typename Fun , typename H , typename... Ts>
void cross (Fun f, std::vector< H > const &h, std::vector< Ts > const &...ts)
 
template<typename Fun , typename... Ts>
void cross_tuple (Fun f, const std::tuple< Ts...> &ts)
 
template<typename Fun , typename... Ts, size_t... I>
void cross_tuple_ (Fun f, const std::tuple< Ts...> &ts, index_sequence< I...>)
 
template<typename Cont >
std::vector< typename
Cont::value_type > 
to_vector (const Cont &cont)
 Return the content of cont as a vector. More...
 
 VCSN_JOIN_SIMPLE (b, b)
 
 VCSN_JOIN_SIMPLE (b, rmin)
 
 VCSN_JOIN_SIMPLE (rmin, rmin)
 

Variables

xalloc< long int > indentation
 

Typedef Documentation

template<typename Context , size_t Tape>
using vcsn::detail::blind_context_t = typedef decltype(blind_context<Tape>(std::declval<Context>()))

Definition at line 40 of file blind.hh.

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

An strongly-connected component: list of states.

Definition at line 24 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 28 of file scc.hh.

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

Definition at line 36 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 71 of file tuple.hh.

template<typename ValueSet >
using vcsn::detail::context_of_t = typedef typename context_of<ValueSet>::type

Definition at line 35 of file lift.hh.

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

Definition at line 40 of file tuple.hh.

template<typename LabelSet >
using vcsn::detail::law_t = typedef typename law_traits<LabelSet>::type

The smallest wordset that includes LabelSet.

Definition at line 67 of file labelset.hh.

template<typename Aut >
using vcsn::detail::lifted_automaton_t = typedef mutable_automaton<lifted_context_t<context_t_of<Aut>>>

Definition at line 43 of file lift.hh.

template<typename Context >
using vcsn::detail::lifted_context_t = typedef context<oneset, ratexpset<Context>>

Definition at line 39 of file lift.hh.

template<typename Exp >
using vcsn::detail::lifted_ratexp_t = typedef typename lifted_context_t<context_t_of<Exp>>::ratexp_t

Definition at line 139 of file lift.hh.

template<typename RatExpSet >
using vcsn::detail::lifted_ratexpset_t = typedef ratexpset<lifted_context_t<context_t_of<RatExpSet>>>

Definition at line 47 of file lift.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 43 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 27 of file labelset.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 83 of file labelset.hh.

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

Definition at line 98 of file labelset.hh.

Function Documentation

template<typename Aut >
Aut::element_type::automaton_nocv_t vcsn::detail::absval ( const Aut &  aut)

Copy of aut, with absolute values.

Templated to avoid useless instantiations.

Definition at line 31 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<size_t Tape, typename LabelSet , typename WeightSet >
auto vcsn::detail::blind_context ( const context< LabelSet, WeightSet > &  ctx) -> context<typename LabelSet::template valueset_t<Tape>, WeightSet>

Definition at line 33 of file blind.hh.

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

Definition at line 18 of file minimize.hh.

template<typename Fun >
void vcsn::detail::cross ( Fun  f)
inline

Variadic Cartesian product of vectors.

http://stackoverflow.com/questions/13813007/

Definition at line 21 of file vector.hh.

Referenced by cross(), and cross_tuple_().

template<typename Fun , typename H , typename... Ts>
void vcsn::detail::cross ( Fun  f,
std::vector< H > const &  h,
std::vector< Ts > const &...  ts 
)
inline

Definition at line 28 of file vector.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 38 of file vector.hh.

References cross_tuple_().

Referenced by vcsn::detail::composer< Lhs, Rhs >::add_compose_transitions(), and vcsn::detail::product_automaton_impl< Aut, Auts >::add_product_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 46 of file vector.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 35 of file proper.hh.

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

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

Definition at line 83 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 90 of file tuple.hh.

ATTRIBUTE_PURE unsigned int vcsn::detail::gcd ( unsigned int  a,
unsigned int  b 
)
inline

Definition at line 14 of file math.hh.

References vcsn::require().

Referenced by lcm(), vcsn::polynomialset< ratexpset_t >::norm_(), and vcsn::detail::q_impl::value_t::reduce().

Here is the call graph for this function:

template<typename Aut >
std::enable_if<labelset_t_of<Aut>::has_one(), Aut>::type vcsn::detail::insplit ( Aut &  aut)

Definition at line 103 of file insplit.hh.

Referenced by vcsn::compose(), vcsn::dyn::detail::do_insplit(), and vcsn::insplit().

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

Definition at line 111 of file insplit.hh.

template<typename Aut >
std::enable_if<labelset_t_of<Aut>::has_one(), bool>::type vcsn::detail::is_proper_ ( const Aut &  aut)

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

Referenced by vcsn::is_proper().

template<typename Aut >
constexpr std::enable_if<!labelset_t_of<Aut>::has_one(), bool>::type vcsn::detail::is_proper_ ( const Aut &  )

Definition at line 31 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 44 of file is-valid.hh.

References vcsn::in_situ_remover().

Referenced by vcsn::detail::is_valider< Aut, has_one >::is_valid_().

Here is the call graph for this function:

template<typename Container , typename Compare >
bool vcsn::detail::is_sorted ( const Container &  container,
Compare  comp 
)

Definition at line 11 of file algorithm.hh.

Referenced by vcsn::is_out_sorted().

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 27 of file join.hh.

References vcsn::join().

Referenced by vcsn::join(), and vcsn::tupleset< LabelSets >::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 34 of file join.hh.

References vcsn::join().

Here is the call graph for this function:

ATTRIBUTE_PURE unsigned int vcsn::detail::lcm ( unsigned int  a,
unsigned int  b 
)
inline

Definition at line 29 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 LabelSet , typename WeightSet >
lifted_context_t<context<LabelSet, WeightSet> > vcsn::detail::lift_context ( const context< LabelSet, WeightSet > &  ctx)

Definition at line 52 of file lift.hh.

References vcsn::rat::trivial.

Referenced by vcsn::lift(), and lift_ratexpset().

template<typename Context >
lifted_ratexpset_t<ratexpset<Context> > vcsn::detail::lift_ratexpset ( const ratexpset< Context > &  rs)

Definition at line 63 of file lift.hh.

References lift_context().

Referenced by vcsn::lift(), and vcsn::dyn::detail::lift_ratexp().

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 201 of file tuple.hh.

References reverse_tuple().

Referenced by vcsn::tupleset< LabelSets >::conv_(), and vcsn::tupleset< LabelSets >::make_().

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 32 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 48 of file labelset.hh.

References vcsn::context< LabelSet, WeightSet >::labelset(), make_nullableset(), and vcsn::context< LabelSet, WeightSet >::weightset().

Referenced by vcsn::dyn::detail::thompson().

Here is the call graph for this function:

template<typename Aut >
state_eliminator<Aut> vcsn::detail::make_state_eliminator ( Aut &  a)

Definition at line 201 of file to-expression.hh.

Referenced by vcsn::eliminate_state_here(), and vcsn::to_expression().

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 88 of file labelset.hh.

References vcsn::context< LabelSet, WeightSet >::labelset(), make_wordset(), and vcsn::context< LabelSet, WeightSet >::weightset().

Referenced by vcsn::dyn::detail::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 104 of file labelset.hh.

References make_word_context().

Referenced by vcsn::dyn::detail::enumerate(), and vcsn::dyn::detail::shortest().

Here is the call graph for this function:

template<typename LabelSet >
law_t<LabelSet> vcsn::detail::make_wordset ( const LabelSet ls)
inline
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 101 of file tuple.hh.

References map_tuple_().

Referenced by vcsn::aut_of_component(), vcsn::lift(), vcsn::detail_weighted::minimizer< Aut >::signature_hasher::operator()(), and vcsn::detail::detweighted_automaton_impl< Aut >::operator()().

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 109 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 119 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 127 of file tuple.hh.

References map_variadic_().

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 233 of file tuple.hh.

template<typename Aut >
auto vcsn::detail::real_context ( const Aut &  aut) -> decltype(real_context_impl<Aut>::context(aut))

Definition at line 157 of file copy.hh.

References vcsn::detail::real_context_impl< Aut >::context().

Referenced by vcsn::detail::real_context_impl< permutation_automaton< Aut > >::context(), and vcsn::copy().

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 174 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 182 of file tuple.hh.

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

Definition at line 17 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 27 of file strip.hh.

template<typename T >
static auto vcsn::detail::test_size ( int  ) -> sfinae_true< decltype(std::declval< T >().size())>
static
template<typename >
static auto vcsn::detail::test_size ( long  ) -> std::false_type
static
template<typename Cont >
std::vector<typename Cont::value_type> vcsn::detail::to_vector ( const Cont &  cont)
vcsn::detail::VCSN_JOIN_SIMPLE ( ,
rmin   
)
vcsn::detail::VCSN_JOIN_SIMPLE ( rmin  ,
rmin   
)
vcsn::detail::VCSN_JOIN_SIMPLE ( ,
 
)

Variable Documentation

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