![]()  | 
  
    Vcsn
    2.5.dev
    
   Be Rational 
   | 
 
Cache the outgoing transitions of an automaton as efficient maps label -> vector<(weight, dst)>. More...
#include <transition-map.hh>
Classes | |
| struct | transition_ | 
| Outgoing signature: weight, destination.  More... | |
| struct | transition_< bool, false, Dummy > | 
| Boolean outgoing signature: destination.  More... | |
| struct | transition_< bool, true, Dummy > | 
| Boolean outgoing signature: destination, transition identifier.  More... | |
| struct | transition_< Weight, true, Dummy > | 
| Weighted outgoing signature: weight, destination, transition identifier.  More... | |
Public Types | |
| using | state_t = state_t_of< Aut > | 
| State index type.  More... | |
| using | transition_t = transition_t_of< Aut > | 
| Transition index type.  More... | |
| using | weightset_t = WeightSet | 
| using | weight_t = typename weightset_t::value_t | 
| using | transition = transition_< weight_t, KeepTransitions > | 
| Outgoing signature: weight, destination, and possibly transition identifier.  More... | |
| using | transitions_t = std::conditional_t< Deterministic, transition, std::vector< transition > > | 
| using | map_t = std::map< label_t_of< Aut >, transitions_t, less< labelset_t_of< Aut > >> | 
Public Member Functions | |
| transition_map (const Aut &aut, const weightset_t &ws) | |
| transition_map (const Aut &aut) | |
| transition_map (transition_map &&that) | |
| map_t & | operator[] (state_t s) | 
| Outgoing transitions of state s, sorted by label.  More... | |
Private Types | |
| using | maps_t = std::vector< std::unique_ptr< map_t > > | 
| For each state number, its transition map.  More... | |
Private Member Functions | |
| template<bool Deterministic_> | |
| void | insert_ (map_t &map, label_t_of< Aut > l, transition t, std::enable_if_t< Deterministic_ > *=nullptr) | 
| Insert l -> t in map.  More... | |
| template<bool Deterministic_> | |
| void | insert_ (map_t &map, label_t_of< Aut > l, transition t, std::enable_if_t<!Deterministic_ > *=nullptr) | 
| Insert l -> t in map.  More... | |
| void | build_map_ (map_t &map, state_t s) | 
| Build the transition map for state s, store at map.  More... | |
Private Attributes | |
| maps_t | maps_ | 
| The cache.  More... | |
| Aut | aut_ | 
| The automaton whose transitions are cached.  More... | |
| const weightset_t & | ws_ | 
| The result weightset.  More... | |
Cache the outgoing transitions of an automaton as efficient maps label -> vector<(weight, dst)>.
Easy to zip.
| Aut | The automaton type. | 
| WeightSet | The set of weights into which the weights will be converted. | 
| Deterministic | Whether the automaton is guaranteed to be deterministic. If it is, transition_map[state][label] returns a single result, otherwise a vector. | 
| AllOut | Whether even the transitions to post() (via the special label) are to be included. | 
| KeepTransitions | If enabled, add a "transition" field to the cache that allows to recover the transition id. | 
Definition at line 36 of file transition-map.hh.
| using vcsn::detail::transition_map< Aut, WeightSet, Deterministic, AllOut, KeepTransitions >::map_t = std::map<label_t_of<Aut>, transitions_t, less<labelset_t_of<Aut> >> | 
Definition at line 109 of file transition-map.hh.
      
  | 
  private | 
For each state number, its transition map.
Definition at line 152 of file transition-map.hh.
| using vcsn::detail::transition_map< Aut, WeightSet, Deterministic, AllOut, KeepTransitions >::state_t = state_t_of<Aut> | 
State index type.
Definition at line 40 of file transition-map.hh.
| using vcsn::detail::transition_map< Aut, WeightSet, Deterministic, AllOut, KeepTransitions >::transition = transition_<weight_t, KeepTransitions> | 
Outgoing signature: weight, destination, and possibly transition identifier.
Definition at line 102 of file transition-map.hh.
| using vcsn::detail::transition_map< Aut, WeightSet, Deterministic, AllOut, KeepTransitions >::transition_t = transition_t_of<Aut> | 
Transition index type.
Definition at line 42 of file transition-map.hh.
| using vcsn::detail::transition_map< Aut, WeightSet, Deterministic, AllOut, KeepTransitions >::transitions_t = std::conditional_t<Deterministic, transition, std::vector<transition> > | 
Definition at line 107 of file transition-map.hh.
| using vcsn::detail::transition_map< Aut, WeightSet, Deterministic, AllOut, KeepTransitions >::weight_t = typename weightset_t::value_t | 
Definition at line 44 of file transition-map.hh.
| using vcsn::detail::transition_map< Aut, WeightSet, Deterministic, AllOut, KeepTransitions >::weightset_t = WeightSet | 
Definition at line 43 of file transition-map.hh.
      
  | 
  inline | 
Definition at line 111 of file transition-map.hh.
      
  | 
  inline | 
Definition at line 117 of file transition-map.hh.
      
  | 
  inline | 
Definition at line 121 of file transition-map.hh.
      
  | 
  inlineprivate | 
Build the transition map for state s, store at map.
Definition at line 176 of file transition-map.hh.
Referenced by vcsn::detail::transition_map< automaton_t, weightset_t_of< automaton_t >, true, true >::operator[]().
      
  | 
  inlineprivate | 
Insert l -> t in map.
Definition at line 157 of file transition-map.hh.
      
  | 
  inlineprivate | 
Insert l -> t in map.
Definition at line 167 of file transition-map.hh.
      
  | 
  inline | 
Outgoing transitions of state s, sorted by label.
Definition at line 128 of file transition-map.hh.
      
  | 
  private | 
The automaton whose transitions are cached.
Definition at line 191 of file transition-map.hh.
Referenced by vcsn::detail::transition_map< automaton_t, weightset_t_of< automaton_t >, true, true >::build_map_().
      
  | 
  private | 
The cache.
Definition at line 189 of file transition-map.hh.
Referenced by vcsn::detail::transition_map< automaton_t, weightset_t_of< automaton_t >, true, true >::operator[]().
      
  | 
  private | 
The result weightset.
Definition at line 193 of file transition-map.hh.
Referenced by vcsn::detail::transition_map< automaton_t, weightset_t_of< automaton_t >, true, true >::build_map_().