Awali
Another Weighted Automata library
Public Types | Public Member Functions | Static Public Member Functions | Data Fields
awali::sttc::internal::ratexp_automaton_impl< Aut > Class Template Reference

An incremental automaton whose states are ratexps. More...

#include <ratexp_automaton.hh>

Inheritance diagram for awali::sttc::internal::ratexp_automaton_impl< Aut >:
awali::sttc::internal::automaton_decorator< Aut, Context >

Public Types

using automaton_t = Aut
 
using context_t = context_t_of< Aut >
 
using label_t = label_t_of< super_t >
 
using origins_t = std::map< state_t, ratexp_t >
 Ordered map: state -> its derived term. More...
 
using ratexp_t = typename ratexpset_t::value_t
 
using ratexpset_t = ratexpset< context_t >
 
using smap = std::unordered_map< ratexp_t, state_t, internal::hash< ratexpset_t >, utils::equal_to< ratexpset_t > >
 Symbolic states to state handlers. More...
 
using super_t = automaton_decorator< mutable_automaton< context_t > >
 
using weight_t = weight_t_of< super_t >
 
- Public Types inherited from awali::sttc::internal::automaton_decorator< Aut, Context >
using automaton_nocv_t = typename automaton_t::element_type::automaton_nocv_t
 The (shared pointer) type to use it we have to create an automaton of the same (underlying) type. More...
 
using automaton_t = Aut
 The type of automaton to wrap. More...
 
using context_t = Context
 
using kind_t = typename context_t::kind_t
 
using label_t = typename labelset_t::value_t
 
using labelset_ptr = typename context_t::labelset_ptr
 
using labelset_t = typename context_t::labelset_t
 
using weight_t = typename weightset_t::value_t
 
using weightset_ptr = typename context_t::weightset_ptr
 
using weightset_t = typename context_t::weightset_t
 

Public Member Functions

 ratexp_automaton_impl (const context_t &ctx)
 
template<typename... Args>
auto add_transition (Args &&... args) -> decltype(aut_-> add_transition(std::forward< Args >(args)...))
 
void add_transition (const ratexp_t &src, const ratexp_t &dst, const label_t &l, const weight_t &w)
 
void add_transition (state_t src, const ratexp_t &dst, const label_t &l, const weight_t &w)
 
const origins_torigins () const
 
std::ostream & print_state_name (state_t s, std::ostream &o, const std::string &fmt) const
 
template<typename... Args>
auto set_initial (Args &&... args) -> decltype(aut_-> set_initial(std::forward< Args >(args)...))
 
void set_initial (const ratexp_t &s, const weight_t &w)
 
state_t state (const ratexp_t &r)
 The state for ratexp r. More...
 
std::string vname (bool full=true) const
 
- Public Member Functions inherited from awali::sttc::internal::automaton_decorator< Aut, Context >
 automaton_decorator (automaton_decorator &&aut)
 
 automaton_decorator (automaton_t aut)
 
 automaton_decorator (const automaton_decorator &aut)
 
 automaton_decorator (const context_t &ctx)
 
template<typename... Args>
auto add_final (Args &&... args) -> decltype(aut_-> add_ final(std
 
template<typename... Args>
auto add_initial (Args &&... args) -> decltype(aut_-> add_initial(std::forward< Args >(args)...))
 
template<typename... Args>
auto add_state (Args &&... args) -> decltype(aut_-> add_state(std::forward< Args >(args)...))
 
template<typename... Args>
auto add_transition (Args &&... args) -> decltype(aut_-> add_transition(std::forward< Args >(args)...))
 
template<typename... Args>
auto add_transition_copy (Args &&... args) -> decltype(aut_-> add_transition_copy(std::forward< Args >(args)...))
 
template<typename... Args>
auto add_weight (Args &&... args) -> decltype(aut_-> add_weight(std::forward< Args >(args)...))
 
template<typename... Args>
auto all_in (Args &&... args) const -> decltype(aut_-> all_in(std::forward< Args >(args)...))
 
template<typename... Args>
auto all_out (Args &&... args) const -> decltype(aut_-> all_out(std::forward< Args >(args)...))
 
template<typename... Args>
auto all_states (Args &&... args) const -> decltype(aut_-> all_states(std::forward< Args >(args)...))
 
template<typename... Args>
auto all_transitions (Args &&... args) const -> decltype(aut_-> all_transitions(std::forward< Args >(args)...))
 
template<typename... Args>
auto context (Args &&... args) const -> decltype(aut_-> context(std::forward< Args >(args)...))
 
template<typename... Args>
auto del_state (Args &&... args) -> decltype(aut_-> del_state(std::forward< Args >(args)...))
 
template<typename... Args>
auto del_transition (Args &&... args) -> decltype(aut_-> del_transition(std::forward< Args >(args)...))
 
template<typename... Args>
auto dst_of (Args &&... args) const -> decltype(aut_-> dst_of(std::forward< Args >(args)...))
 
template<typename... Args>
auto final_transitions (Args &&... args) const -> decltype(aut_-> final _transitions(std
 
template<typename... Args>
auto get_final_weight (Args &&... args) const -> decltype(aut_-> get_ final _weight(std
 
template<typename... Args>
auto get_initial_weight (Args &&... args) const -> decltype(aut_-> get_initial_weight(std::forward< Args >(args)...))
 
template<typename... Args>
auto get_transition (Args &&... args) const -> decltype(aut_-> get_transition(std::forward< Args >(args)...))
 
template<typename... Args>
auto has_state (Args &&... args) const -> decltype(aut_-> has_state(std::forward< Args >(args)...))
 
template<typename... Args>
auto has_transition (Args &&... args) const -> decltype(aut_-> has_transition(std::forward< Args >(args)...))
 
template<typename... Args>
auto in (Args &&... args) const -> decltype(aut_-> in(std::forward< Args >(args)...))
 
template<typename... Args>
auto initial_transitions (Args &&... args) const -> decltype(aut_-> initial_transitions(std::forward< Args >(args)...))
 
template<typename... Args>
auto is_final (Args &&... args) const -> decltype(aut_-> is_ final(std
 
template<typename... Args>
auto is_initial (Args &&... args) const -> decltype(aut_-> is_initial(std::forward< Args >(args)...))
 
template<typename... Args>
auto label_of (Args &&... args) const -> decltype(aut_-> label_of(std::forward< Args >(args)...))
 
template<typename... Args>
auto labelset (Args &&... args) const -> decltype(aut_-> labelset(std::forward< Args >(args)...))
 
template<typename... Args>
auto lmul_weight (Args &&... args) -> decltype(aut_-> lmul_weight(std::forward< Args >(args)...))
 
template<typename... Args>
auto new_transition (Args &&... args) -> decltype(aut_-> new_transition(std::forward< Args >(args)...))
 
template<typename... Args>
auto new_transition_copy (Args &&... args) -> decltype(aut_-> new_transition_copy(std::forward< Args >(args)...))
 
template<typename... Args>
auto num_all_states (Args &&... args) const -> decltype(aut_-> num_all_states(std::forward< Args >(args)...))
 
template<typename... Args>
auto num_finals (Args &&... args) const -> decltype(aut_-> num_ final s(std
 
template<typename... Args>
auto num_initials (Args &&... args) const -> decltype(aut_-> num_initials(std::forward< Args >(args)...))
 
template<typename... Args>
auto num_states (Args &&... args) const -> decltype(aut_-> num_states(std::forward< Args >(args)...))
 
template<typename... Args>
auto num_transitions (Args &&... args) const -> decltype(aut_-> num_transitions(std::forward< Args >(args)...))
 
automaton_decoratoroperator= (automaton_decorator &&that)
 
template<typename... Args>
auto out (Args &&... args) const -> decltype(aut_-> out(std::forward< Args >(args)...))
 
template<typename... Args>
auto outin (Args &&... args) const -> decltype(aut_-> outin(std::forward< Args >(args)...))
 
template<typename... Args>
auto print_state (Args &&... args) const -> decltype(aut_-> print_state(std::forward< Args >(args)...))
 
template<typename... Args>
auto print_state_name (Args &&... args) const -> decltype(aut_-> print_state_name(std::forward< Args >(args)...))
 
template<typename... Args>
auto rmul_weight (Args &&... args) -> decltype(aut_-> rmul_weight(std::forward< Args >(args)...))
 
template<typename... Args>
auto set_final (Args &&... args) -> decltype(aut_-> set_ final(std
 
template<typename... Args>
auto set_initial (Args &&... args) -> decltype(aut_-> set_initial(std::forward< Args >(args)...))
 
template<typename... Args>
auto set_transition (Args &&... args) -> decltype(aut_-> set_transition(std::forward< Args >(args)...))
 
template<typename... Args>
auto set_weight (Args &&... args) -> decltype(aut_-> set_weight(std::forward< Args >(args)...))
 
template<typename... Args>
auto src_of (Args &&... args) const -> decltype(aut_-> src_of(std::forward< Args >(args)...))
 
template<typename... Args>
auto states (Args &&... args) const -> decltype(aut_-> states(std::forward< Args >(args)...))
 
automaton_t strip_history ()
 
template<typename... Args>
auto transitions (Args &&... args) const -> decltype(aut_-> transitions(std::forward< Args >(args)...))
 
template<typename... Args>
auto unset_final (Args &&... args) -> decltype(aut_-> unset_ final(std
 
template<typename... Args>
auto unset_initial (Args &&... args) -> decltype(aut_-> unset_initial(std::forward< Args >(args)...))
 
template<typename... Args>
auto vname (Args &&... args) const -> decltype(aut_-> vname(std::forward< Args >(args)...))
 
template<typename... Args>
auto weight_of (Args &&... args) const -> decltype(aut_-> weight_of(std::forward< Args >(args)...))
 
template<typename... Args>
auto weightset (Args &&... args) const -> decltype(aut_-> weightset(std::forward< Args >(args)...))
 

Static Public Member Functions

static std::string sname ()
 
- Static Public Member Functions inherited from awali::sttc::internal::automaton_decorator< Aut, Context >
template<typename... Args>
static constexpr auto null_state (Args &&... args) -> decltype(automaton_t::element_type::null_state(std::forward< Args >(args)...))
 
template<typename... Args>
static constexpr auto null_transition (Args &&... args) -> decltype(automaton_t::element_type::null_transition(std::forward< Args >(args)...))
 
template<typename... Args>
static constexpr auto post (Args &&... args) -> decltype(automaton_t::element_type::post(std::forward< Args >(args)...))
 
template<typename... Args>
static constexpr auto pre (Args &&... args) -> decltype(automaton_t::element_type::pre(std::forward< Args >(args)...))
 
template<typename... Args>
static constexpr auto sname (Args &&... args) -> decltype(automaton_t::element_type::sname(std::forward< Args >(args)...))
 

Data Fields

smap map_
 ratexp -> state. More...
 
origins_t origins_
 
ratexpset_t rs_
 The ratexp's set. More...
 
std::stack< ratexp_ttodo_
 States to visit. More...
 

Additional Inherited Members

- Protected Attributes inherited from awali::sttc::internal::automaton_decorator< Aut, Context >
automaton_t aut_
 The wrapped automaton, possibly const. More...
 

Detailed Description

template<typename Aut>
class awali::sttc::internal::ratexp_automaton_impl< Aut >

An incremental automaton whose states are ratexps.

Member Typedef Documentation

◆ automaton_t

template<typename Aut >
using awali::sttc::internal::ratexp_automaton_impl< Aut >::automaton_t = Aut

◆ context_t

template<typename Aut >
using awali::sttc::internal::ratexp_automaton_impl< Aut >::context_t = context_t_of<Aut>

◆ label_t

template<typename Aut >
using awali::sttc::internal::ratexp_automaton_impl< Aut >::label_t = label_t_of<super_t>

◆ origins_t

template<typename Aut >
using awali::sttc::internal::ratexp_automaton_impl< Aut >::origins_t = std::map<state_t, ratexp_t>

Ordered map: state -> its derived term.

◆ ratexp_t

template<typename Aut >
using awali::sttc::internal::ratexp_automaton_impl< Aut >::ratexp_t = typename ratexpset_t::value_t

◆ ratexpset_t

◆ smap

template<typename Aut >
using awali::sttc::internal::ratexp_automaton_impl< Aut >::smap = std::unordered_map<ratexp_t, state_t, internal::hash<ratexpset_t>, utils::equal_to<ratexpset_t> >

Symbolic states to state handlers.

◆ super_t

◆ weight_t

Constructor & Destructor Documentation

◆ ratexp_automaton_impl()

template<typename Aut >
awali::sttc::internal::ratexp_automaton_impl< Aut >::ratexp_automaton_impl ( const context_t ctx)

Member Function Documentation

◆ add_transition() [1/3]

template<typename Aut >
template<typename... Args>
auto awali::sttc::internal::automaton_decorator< Aut, Context >::add_transition ( typename...  Args)

◆ add_transition() [2/3]

template<typename Aut >
void awali::sttc::internal::ratexp_automaton_impl< Aut >::add_transition ( const ratexp_t src,
const ratexp_t dst,
const label_t l,
const weight_t w 
)

◆ add_transition() [3/3]

template<typename Aut >
void awali::sttc::internal::ratexp_automaton_impl< Aut >::add_transition ( state_t  src,
const ratexp_t dst,
const label_t l,
const weight_t w 
)

◆ origins()

template<typename Aut >
const origins_t& awali::sttc::internal::ratexp_automaton_impl< Aut >::origins ( ) const

◆ print_state_name()

template<typename Aut >
std::ostream& awali::sttc::internal::ratexp_automaton_impl< Aut >::print_state_name ( state_t  s,
std::ostream &  o,
const std::string &  fmt 
) const

◆ set_initial() [1/2]

template<typename Aut >
template<typename... Args>
auto awali::sttc::internal::automaton_decorator< Aut, Context >::set_initial ( typename...  Args)

◆ set_initial() [2/2]

template<typename Aut >
void awali::sttc::internal::ratexp_automaton_impl< Aut >::set_initial ( const ratexp_t s,
const weight_t w 
)

◆ sname()

template<typename Aut >
static std::string awali::sttc::internal::ratexp_automaton_impl< Aut >::sname ( )
static

◆ state()

template<typename Aut >
state_t awali::sttc::internal::ratexp_automaton_impl< Aut >::state ( const ratexp_t r)

The state for ratexp r.

If this is a new state, schedule it for visit.

◆ vname()

template<typename Aut >
std::string awali::sttc::internal::ratexp_automaton_impl< Aut >::vname ( bool  full = true) const

Field Documentation

◆ map_

template<typename Aut >
smap awali::sttc::internal::ratexp_automaton_impl< Aut >::map_

ratexp -> state.

◆ origins_

template<typename Aut >
origins_t awali::sttc::internal::ratexp_automaton_impl< Aut >::origins_
mutable

◆ rs_

template<typename Aut >
ratexpset_t awali::sttc::internal::ratexp_automaton_impl< Aut >::rs_

The ratexp's set.

◆ todo_

template<typename Aut >
std::stack<ratexp_t> awali::sttc::internal::ratexp_automaton_impl< Aut >::todo_

States to visit.


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