Vcsn  2.0
Be Rational
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
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_state_t = state_t_of< AutIn >
 
using out_state_t = state_t_of< AutOut >
 
using origins_t = std::map< out_state_t, in_state_t >
 A map from result state to original state. More...
 

Public Member Functions

 copier (const AutIn &in, AutOut &out)
 
template<typename Pred >
void operator() (Pred keep_state)
 
origins_t origins () const
 

Static Public Member Functions

static std::ostream & print (const origins_t &orig, std::ostream &o)
 Print the origins. More...
 

Public Attributes

const AutIn & in_
 Input automaton. More...
 
AutOut & out_
 Output automaton. More...
 
std::unordered_map< in_state_t,
out_state_t
out_state
 input state -> output state. More...
 

Detailed Description

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

Copy an automaton.

Precondition
AutIn <: AutOut.

Definition at line 30 of file copy.hh.

Member Typedef Documentation

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

Definition at line 32 of file copy.hh.

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

A map from result state to original state.

Definition at line 62 of file copy.hh.

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

Definition at line 33 of file copy.hh.

Constructor & Destructor Documentation

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

Definition at line 35 of file copy.hh.

Member Function Documentation

template<typename AutIn, typename AutOut>
template<typename Pred >
void vcsn::detail::copier< AutIn, AutOut >::operator() ( Pred  keep_state)
inline
template<typename AutIn, typename AutOut>
origins_t vcsn::detail::copier< AutIn, AutOut >::origins ( ) const
inline

Definition at line 64 of file copy.hh.

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

template<typename AutIn, typename AutOut>
static std::ostream& vcsn::detail::copier< AutIn, AutOut >::print ( const origins_t orig,
std::ostream &  o 
)
inlinestatic

Print the origins.

Definition at line 75 of file copy.hh.

Member Data Documentation

template<typename AutIn, typename AutOut>
const AutIn& vcsn::detail::copier< AutIn, AutOut >::in_

Input automaton.

Definition at line 88 of file copy.hh.

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

template<typename AutIn, typename AutOut>
AutOut& vcsn::detail::copier< AutIn, AutOut >::out_

Output automaton.

Definition at line 90 of file copy.hh.

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

template<typename AutIn, typename AutOut>
std::unordered_map<in_state_t, out_state_t> vcsn::detail::copier< AutIn, AutOut >::out_state

input state -> output state.

Definition at line 92 of file copy.hh.

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


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