Vcsn  2.2
Be Rational
vcsn::detail::standard_operations< Aut > Struct Template Reference

Implementation of left- and right- multiplication of an automaton by a weight. More...

#include <left-mult.hh>

Collaboration diagram for vcsn::detail::standard_operations< Aut >:

Public Types

using automaton_t = Aut
 
using context_t = context_t_of< automaton_t >
 
using weight_t = weight_t_of< context_t >
 
using weightset_t = weightset_t_of< context_t >
 
using state_t = state_t_of< automaton_t >
 

Static Public Member Functions

static automaton_tleft_mult_here (const weight_t &w, automaton_t &res, general_tag tag)
 Left-multiplication of any automaton by a weight. More...
 
static automaton_tleft_mult_here (const weight_t &w, automaton_t &res, standard_tag tag)
 Standard-preserving left-multiplication by a weight. More...
 
static automaton_tleft_mult_here (const weight_t &w, automaton_t &res, auto_tag={})
 Same as standard if res is standard, otherwise, general. More...
 
template<typename Tag = general_tag>
static automaton_tright_mult_here (automaton_t &res, const weight_t &w, Tag tag={})
 Right-multiplication of any automaton by a weight. More...
 
static automaton_tright_mult_here (automaton_t &res, const weight_t &w, auto_tag={})
 Same as standard if res is standard, otherwise, general. More...
 
static automaton_tzero_here (automaton_t &res, general_tag)
 Transform res into the empty automaton. More...
 
static automaton_tzero_here (automaton_t &res, standard_tag)
 Transform res into the (standard) empty automaton. More...
 

Detailed Description

template<Automaton Aut>
struct vcsn::detail::standard_operations< Aut >

Implementation of left- and right- multiplication of an automaton by a weight.

Definition at line 22 of file left-mult.hh.

Member Typedef Documentation

template<Automaton Aut>
using vcsn::detail::standard_operations< Aut >::automaton_t = Aut

Definition at line 24 of file left-mult.hh.

template<Automaton Aut>
using vcsn::detail::standard_operations< Aut >::context_t = context_t_of<automaton_t>

Definition at line 25 of file left-mult.hh.

template<Automaton Aut>
using vcsn::detail::standard_operations< Aut >::state_t = state_t_of<automaton_t>

Definition at line 28 of file left-mult.hh.

template<Automaton Aut>
using vcsn::detail::standard_operations< Aut >::weight_t = weight_t_of<context_t>

Definition at line 26 of file left-mult.hh.

template<Automaton Aut>
using vcsn::detail::standard_operations< Aut >::weightset_t = weightset_t_of<context_t>

Definition at line 27 of file left-mult.hh.

Member Function Documentation

template<Automaton Aut>
static automaton_t& vcsn::detail::standard_operations< Aut >::left_mult_here ( const weight_t w,
automaton_t res,
general_tag  tag 
)
inlinestatic

Left-multiplication of any automaton by a weight.

Definition at line 32 of file left-mult.hh.

References vcsn::detail::initial_transitions(), and vcsn::detail::standard_operations< Aut >::zero_here().

Here is the call graph for this function:

template<Automaton Aut>
static automaton_t& vcsn::detail::standard_operations< Aut >::left_mult_here ( const weight_t w,
automaton_t res,
standard_tag  tag 
)
inlinestatic

Standard-preserving left-multiplication by a weight.

Definition at line 45 of file left-mult.hh.

References vcsn::detail::all_out(), vcsn::detail::front(), vcsn::detail::initial_transitions(), vcsn::is_standard(), vcsn::require(), and vcsn::detail::standard_operations< Aut >::zero_here().

Here is the call graph for this function:

template<Automaton Aut>
static automaton_t& vcsn::detail::standard_operations< Aut >::left_mult_here ( const weight_t w,
automaton_t res,
auto_tag  = {} 
)
inlinestatic

Same as standard if res is standard, otherwise, general.

Definition at line 62 of file left-mult.hh.

template<Automaton Aut>
template<typename Tag = general_tag>
static automaton_t& vcsn::detail::standard_operations< Aut >::right_mult_here ( automaton_t res,
const weight_t w,
Tag  tag = {} 
)
inlinestatic

Right-multiplication of any automaton by a weight.

Definition at line 73 of file left-mult.hh.

template<Automaton Aut>
static automaton_t& vcsn::detail::standard_operations< Aut >::right_mult_here ( automaton_t res,
const weight_t w,
auto_tag  = {} 
)
inlinestatic

Same as standard if res is standard, otherwise, general.

Definition at line 86 of file left-mult.hh.

template<Automaton Aut>
static automaton_t& vcsn::detail::standard_operations< Aut >::zero_here ( automaton_t res,
general_tag   
)
inlinestatic

Transform res into the empty automaton.

Definition at line 96 of file left-mult.hh.

References vcsn::make_fresh_automaton().

Referenced by vcsn::detail::standard_operations< Aut >::left_mult_here(), and vcsn::detail::standard_operations< Aut >::zero_here().

Here is the call graph for this function:

template<Automaton Aut>
static automaton_t& vcsn::detail::standard_operations< Aut >::zero_here ( automaton_t res,
standard_tag   
)
inlinestatic

Transform res into the (standard) empty automaton.

Definition at line 104 of file left-mult.hh.

References vcsn::detail::standard_operations< Aut >::zero_here().

Here is the call graph for this function:


The documentation for this struct was generated from the following file: