Vcsn  2.1
Be Rational
vcsn::detail::copier< AutIn, AutOut > Struct Template Reference

Copy an automaton. More...

#include <copy.hh>

Collaboration diagram for vcsn::detail::copier< AutIn, AutOut >:

Public Types

using in_automaton_t = AutIn
 
using out_automaton_t = AutOut
 
using in_state_t = state_t_of< in_automaton_t >
 
using out_state_t = state_t_of< out_automaton_t >
 
using state_map_t = std::unordered_map< in_state_t, out_state_t >
 input state -> output state. More...
 

Public Member Functions

 copier (const in_automaton_t &in, out_automaton_t &out)
 
KeepTrans void operator() (KeepState keep_state, KeepTrans keep_trans, bool safe=true)
 
void operator() (bool safe=true)
 Copy all the states, and all the transitions. More...
 
const state_map_tstate_map () const
 A map from original state to result state. More...
 
state_map_tstate_map ()
 A map from original state to result state. More...
 

Private Attributes

in_automaton_t in_
 Input automaton. More...
 
out_automaton_t out_
 Output automaton. More...
 
state_map_t out_state_
 input state -> output state. More...
 

Detailed Description

template<typename AutIn, typename AutOut = AutIn>
struct vcsn::detail::copier< AutIn, AutOut >

Copy an automaton.

Template Parameters
AutInThe type of the automaton to copy.
AutOutThe type of the resulting automaton.
Precondition
AutIn <: AutOut.

Definition at line 34 of file copy.hh.

Member Typedef Documentation

template<typename AutIn , typename AutOut = AutIn>
using vcsn::detail::copier< AutIn, AutOut >::in_automaton_t = AutIn

Definition at line 36 of file copy.hh.

template<typename AutIn , typename AutOut = AutIn>
using vcsn::detail::copier< AutIn, AutOut >::in_state_t = state_t_of<in_automaton_t>

Definition at line 39 of file copy.hh.

template<typename AutIn , typename AutOut = AutIn>
using vcsn::detail::copier< AutIn, AutOut >::out_automaton_t = AutOut

Definition at line 37 of file copy.hh.

template<typename AutIn , typename AutOut = AutIn>
using vcsn::detail::copier< AutIn, AutOut >::out_state_t = state_t_of<out_automaton_t>

Definition at line 40 of file copy.hh.

template<typename AutIn , typename AutOut = AutIn>
using vcsn::detail::copier< AutIn, AutOut >::state_map_t = std::unordered_map<in_state_t, out_state_t>

input state -> output state.

Definition at line 42 of file copy.hh.

Constructor & Destructor Documentation

template<typename AutIn , typename AutOut = AutIn>
vcsn::detail::copier< AutIn, AutOut >::copier ( const in_automaton_t in,
out_automaton_t out 
)
inline

Member Function Documentation

template<typename AutIn , typename AutOut = AutIn>
KeepTrans void vcsn::detail::copier< AutIn, AutOut >::operator() ( KeepState  keep_state,
KeepTrans  keep_trans,
bool  safe = true 
)
inline
template<typename AutIn , typename AutOut = AutIn>
void vcsn::detail::copier< AutIn, AutOut >::operator() ( bool  safe = true)
inline

Copy all the states, and all the transitions.

Definition at line 84 of file copy.hh.

References vcsn::detail::copier< AutIn, AutOut >::operator()().

Here is the call graph for this function:

template<typename AutIn , typename AutOut = AutIn>
const state_map_t& vcsn::detail::copier< AutIn, AutOut >::state_map ( ) const
inline

A map from original state to result state.

Definition at line 92 of file copy.hh.

References vcsn::detail::copier< AutIn, AutOut >::out_state_.

template<typename AutIn , typename AutOut = AutIn>
state_map_t& vcsn::detail::copier< AutIn, AutOut >::state_map ( )
inline

A map from original state to result state.

Definition at line 98 of file copy.hh.

References vcsn::detail::copier< AutIn, AutOut >::out_state_.

Member Data Documentation

template<typename AutIn , typename AutOut = AutIn>
in_automaton_t vcsn::detail::copier< AutIn, AutOut >::in_
private
template<typename AutIn , typename AutOut = AutIn>
out_automaton_t vcsn::detail::copier< AutIn, AutOut >::out_
private
template<typename AutIn , typename AutOut = AutIn>
state_map_t vcsn::detail::copier< AutIn, AutOut >::out_state_
private

input state -> output state.

Definition at line 109 of file copy.hh.

Referenced by vcsn::detail::copier< AutIn, AutOut >::operator()(), and vcsn::detail::copier< AutIn, AutOut >::state_map().


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