Awali
Another Weighted Automata library
Public Types | Public Member Functions | Static Public Member Functions
awali::sttc::internal::composer< Lhs, Rhs, I, J > Class Template Reference

Build the (accessible part of the) composition. More...

#include <compose.hh>

Public Types

using automaton_t = mutable_automaton< context_t >
 The type of the resulting automaton. More...
 
using clhs_t = Lhs
 
using context_t = sttc::context< labelset_t, weightset_t >
 
using crhs_t = Rhs
 
using I_labelset_t = typename l_labelset_t::template valueset_t< I >
 
using J_labelset_t = typename r_labelset_t::template valueset_t< J >
 
using l_labelset_t = labelset_t_of< Lhs >
 
using l_weightset_t = weightset_t_of< Lhs >
 
using labelset_t = typename concat_tupleset< minusI_labelset_t, minusJ_labelset_t >::type
 The type of context of the result. More...
 
using minusI_labelset_t = typename rem_in_tupleset< l_labelset_t, I >::type
 
using minusJ_labelset_t = typename rem_in_tupleset< r_labelset_t, J >::type
 
using pair_state_t = std::pair< state_t, state_t >
 Result state type. More...
 
using r_labelset_t = labelset_t_of< Rhs >
 
using r_weightset_t = weightset_t_of< Rhs >
 
using weightset_t = join_t< weightset_t_of< context_t_of< Lhs > >, weightset_t_of< context_t_of< Rhs > >>
 

Public Member Functions

 composer (const Lhs &lhs, const Rhs &rhs)
 
automaton_t compose ()
 The (accessible part of the) product of lhs_ and rhs_. More...
 
void set_history ()
 
state_t state (const pair_state_t &ps)
 

Static Public Member Functions

static context_t make_context_ (const Lhs &lhs, const Rhs &rhs)
 
static labelset_t make_labelset_ (const l_labelset_t &ll, const r_labelset_t &rl)
 

Detailed Description

template<typename Lhs, typename Rhs, size_t I, size_t J>
class awali::sttc::internal::composer< Lhs, Rhs, I, J >

Build the (accessible part of the) composition.

Member Typedef Documentation

◆ automaton_t

template<typename Lhs , typename Rhs , size_t I, size_t J>
using awali::sttc::internal::composer< Lhs, Rhs, I, J >::automaton_t = mutable_automaton<context_t>

The type of the resulting automaton.

◆ clhs_t

template<typename Lhs , typename Rhs , size_t I, size_t J>
using awali::sttc::internal::composer< Lhs, Rhs, I, J >::clhs_t = Lhs

◆ context_t

template<typename Lhs , typename Rhs , size_t I, size_t J>
using awali::sttc::internal::composer< Lhs, Rhs, I, J >::context_t = sttc::context<labelset_t, weightset_t>

◆ crhs_t

template<typename Lhs , typename Rhs , size_t I, size_t J>
using awali::sttc::internal::composer< Lhs, Rhs, I, J >::crhs_t = Rhs

◆ I_labelset_t

template<typename Lhs , typename Rhs , size_t I, size_t J>
using awali::sttc::internal::composer< Lhs, Rhs, I, J >::I_labelset_t = typename l_labelset_t::template valueset_t<I>

◆ J_labelset_t

template<typename Lhs , typename Rhs , size_t I, size_t J>
using awali::sttc::internal::composer< Lhs, Rhs, I, J >::J_labelset_t = typename r_labelset_t::template valueset_t<J>

◆ l_labelset_t

template<typename Lhs , typename Rhs , size_t I, size_t J>
using awali::sttc::internal::composer< Lhs, Rhs, I, J >::l_labelset_t = labelset_t_of<Lhs>

◆ l_weightset_t

template<typename Lhs , typename Rhs , size_t I, size_t J>
using awali::sttc::internal::composer< Lhs, Rhs, I, J >::l_weightset_t = weightset_t_of<Lhs>

◆ labelset_t

template<typename Lhs , typename Rhs , size_t I, size_t J>
using awali::sttc::internal::composer< Lhs, Rhs, I, J >::labelset_t = typename concat_tupleset<minusI_labelset_t, minusJ_labelset_t>::type

The type of context of the result.

◆ minusI_labelset_t

template<typename Lhs , typename Rhs , size_t I, size_t J>
using awali::sttc::internal::composer< Lhs, Rhs, I, J >::minusI_labelset_t = typename rem_in_tupleset<l_labelset_t,I>::type

◆ minusJ_labelset_t

template<typename Lhs , typename Rhs , size_t I, size_t J>
using awali::sttc::internal::composer< Lhs, Rhs, I, J >::minusJ_labelset_t = typename rem_in_tupleset<r_labelset_t,J>::type

◆ pair_state_t

template<typename Lhs , typename Rhs , size_t I, size_t J>
using awali::sttc::internal::composer< Lhs, Rhs, I, J >::pair_state_t = std::pair<state_t,state_t>

Result state type.

◆ r_labelset_t

template<typename Lhs , typename Rhs , size_t I, size_t J>
using awali::sttc::internal::composer< Lhs, Rhs, I, J >::r_labelset_t = labelset_t_of<Rhs>

◆ r_weightset_t

template<typename Lhs , typename Rhs , size_t I, size_t J>
using awali::sttc::internal::composer< Lhs, Rhs, I, J >::r_weightset_t = weightset_t_of<Rhs>

◆ weightset_t

template<typename Lhs , typename Rhs , size_t I, size_t J>
using awali::sttc::internal::composer< Lhs, Rhs, I, J >::weightset_t = join_t<weightset_t_of<context_t_of<Lhs> >, weightset_t_of<context_t_of<Rhs> >>

Constructor & Destructor Documentation

◆ composer()

template<typename Lhs , typename Rhs , size_t I, size_t J>
awali::sttc::internal::composer< Lhs, Rhs, I, J >::composer ( const Lhs &  lhs,
const Rhs &  rhs 
)

Member Function Documentation

◆ compose()

template<typename Lhs , typename Rhs , size_t I, size_t J>
automaton_t awali::sttc::internal::composer< Lhs, Rhs, I, J >::compose ( )

The (accessible part of the) product of lhs_ and rhs_.

◆ make_context_()

template<typename Lhs , typename Rhs , size_t I, size_t J>
static context_t awali::sttc::internal::composer< Lhs, Rhs, I, J >::make_context_ ( const Lhs &  lhs,
const Rhs &  rhs 
)
static

◆ make_labelset_()

template<typename Lhs , typename Rhs , size_t I, size_t J>
static labelset_t awali::sttc::internal::composer< Lhs, Rhs, I, J >::make_labelset_ ( const l_labelset_t ll,
const r_labelset_t rl 
)
static

◆ set_history()

template<typename Lhs , typename Rhs , size_t I, size_t J>
void awali::sttc::internal::composer< Lhs, Rhs, I, J >::set_history ( )

◆ state()

template<typename Lhs , typename Rhs , size_t I, size_t J>
state_t awali::sttc::internal::composer< Lhs, Rhs, I, J >::state ( const pair_state_t ps)

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