Vcsn  2.0
Be Rational
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
vcsn::detail::insplitter< Aut > Class Template Reference

#include <insplit.hh>

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

Public Member Functions

 insplitter (const Aut &aut)
 
automaton_t operator() (const Aut &aut)
 

Private Types

using automaton_t = Aut
 
using state_t = state_t_of< automaton_t >
 
using label_t = label_t_of< automaton_t >
 
using transition_t = transition_t_of< automaton_t >
 
using pair_t = typename std::pair< state_t, bool >
 

Private Member Functions

bool exists (state_t st, bool epsilon)
 
template<typename A >
std::enable_if< labelset_t_of
< A >::has_one(), bool >::type 
is_one (const A &aut, transition_t tr)
 
template<typename A >
std::enable_if<!labelset_t_of
< A >::has_one(), bool >::type 
is_one (const A &, transition_t)
 

Private Attributes

std::unordered_map< pair_t,
state_t
states_assoc
 
automaton_t res_
 

Detailed Description

template<typename Aut>
class vcsn::detail::insplitter< Aut >

Definition at line 17 of file insplit.hh.

Member Typedef Documentation

template<typename Aut >
using vcsn::detail::insplitter< Aut >::automaton_t = Aut
private

Definition at line 19 of file insplit.hh.

template<typename Aut >
using vcsn::detail::insplitter< Aut >::label_t = label_t_of<automaton_t>
private

Definition at line 21 of file insplit.hh.

template<typename Aut >
using vcsn::detail::insplitter< Aut >::pair_t = typename std::pair<state_t, bool>
private

Definition at line 24 of file insplit.hh.

template<typename Aut >
using vcsn::detail::insplitter< Aut >::state_t = state_t_of<automaton_t>
private

Definition at line 20 of file insplit.hh.

template<typename Aut >
using vcsn::detail::insplitter< Aut >::transition_t = transition_t_of<automaton_t>
private

Definition at line 22 of file insplit.hh.

Constructor & Destructor Documentation

template<typename Aut >
vcsn::detail::insplitter< Aut >::insplitter ( const Aut &  aut)
inline

Definition at line 32 of file insplit.hh.

Member Function Documentation

template<typename Aut >
bool vcsn::detail::insplitter< Aut >::exists ( state_t  st,
bool  epsilon 
)
inlineprivate
template<typename Aut >
template<typename A >
std::enable_if<labelset_t_of<A>::has_one(), bool>::type vcsn::detail::insplitter< Aut >::is_one ( const A &  aut,
transition_t  tr 
)
inlineprivate

Definition at line 85 of file insplit.hh.

Referenced by vcsn::detail::insplitter< Aut >::operator()().

template<typename Aut >
template<typename A >
std::enable_if<!labelset_t_of<A>::has_one(), bool>::type vcsn::detail::insplitter< Aut >::is_one ( const A &  ,
transition_t   
)
inlineprivate

Definition at line 93 of file insplit.hh.

template<typename Aut >
automaton_t vcsn::detail::insplitter< Aut >::operator() ( const Aut &  aut)
inline

Definition at line 36 of file insplit.hh.

References vcsn::detail::insplitter< Aut >::exists(), vcsn::detail::insplitter< Aut >::is_one(), vcsn::detail::insplitter< Aut >::res_, and vcsn::detail::insplitter< Aut >::states_assoc.

Here is the call graph for this function:

Member Data Documentation

template<typename Aut >
automaton_t vcsn::detail::insplitter< Aut >::res_
private

Definition at line 98 of file insplit.hh.

Referenced by vcsn::detail::insplitter< Aut >::operator()().

template<typename Aut >
std::unordered_map<pair_t, state_t> vcsn::detail::insplitter< Aut >::states_assoc
private

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