Vcsn  2.0
Be Rational
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
vcsn::rat::copier< InRatExpSet, OutRatExpSet > Class Template Reference

#include <copy.hh>

Inheritance diagram for vcsn::rat::copier< InRatExpSet, OutRatExpSet >:
Collaboration diagram for vcsn::rat::copier< InRatExpSet, OutRatExpSet >:

Public Types

using in_ratexpset_t = InRatExpSet
 
using out_ratexpset_t = OutRatExpSet
 
using in_value_t = typename in_ratexpset_t::value_t
 
using out_value_t = typename out_ratexpset_t::value_t
 
using super_t = typename in_ratexpset_t::const_visitor
 
using node_t = typename super_t::node_t
 
using inner_t = typename super_t::inner_t
 
template<type_t Type>
using unary_t = typename super_t::template unary_t< Type >
 
template<type_t Type>
using variadic_t = typename super_t::template variadic_t< Type >
 
using leaf_t = typename super_t::leaf_t
 

Public Member Functions

 copier (const in_ratexpset_t &in_rs, const out_ratexpset_t &out_rs)
 
out_value_t operator() (const in_value_t &v)
 Entry point: print v. More...
 

Private Types

using conjunction_t = typename super_t::conjunction_t
 
using ldiv_t = typename super_t::ldiv_t
 
using prod_t = typename super_t::prod_t
 
using shuffle_t = typename super_t::shuffle_t
 
using sum_t = typename super_t::sum_t
 
using complement_t = typename super_t::complement_t
 
using star_t = typename super_t::star_t
 
using transposition_t = typename super_t::transposition_t
 
using one_t = typename super_t::one_t
 
using zero_t = typename super_t::zero_t
 
using atom_t = typename super_t::atom_t
 
using lweight_t = typename super_t::lweight_t
 
using rweight_t = typename super_t::rweight_t
 

Private Member Functions

template<exp::type_t Type>
void copy_unary (const unary_t< Type > &v)
 Factor the copy of n-ary operations. More...
 
template<exp::type_t Type>
void copy_variadic (const variadic_t< Type > &v)
 Factor the copy of n-ary operations. More...
 
out_value_t copy (const in_value_t &v)
 
virtual void visit (const conjunction_t &v)
 
virtual void visit (const ldiv_t &v)
 
virtual void visit (const prod_t &v)
 
virtual void visit (const shuffle_t &v)
 
virtual void visit (const sum_t &v)
 
virtual void visit (const complement_t &v)
 
virtual void visit (const star_t &v)
 
virtual void visit (const transposition_t &v)
 
virtual void visit (const one_t &v)
 
virtual void visit (const zero_t &v)
 
virtual void visit (const atom_t &v)
 
virtual void visit (const lweight_t &v)
 
virtual void visit (const rweight_t &v)
 

Private Attributes

const in_ratexpset_tin_rs_
 ratexpset to decode the input value. More...
 
const out_ratexpset_tout_rs_
 ratexpset to build the output value. More...
 
out_value_t res_
 Output value, under construction. More...
 

Detailed Description

template<typename InRatExpSet, typename OutRatExpSet = InRatExpSet>
class vcsn::rat::copier< InRatExpSet, OutRatExpSet >

Definition at line 15 of file copy.hh.

Member Typedef Documentation

template<typename InRatExpSet, typename OutRatExpSet = InRatExpSet>
using vcsn::rat::copier< InRatExpSet, OutRatExpSet >::atom_t = typename super_t:: atom_t
private

Definition at line 99 of file copy.hh.

template<typename InRatExpSet, typename OutRatExpSet = InRatExpSet>
using vcsn::rat::copier< InRatExpSet, OutRatExpSet >::complement_t = typename super_t:: complement_t
private

Definition at line 83 of file copy.hh.

template<typename InRatExpSet, typename OutRatExpSet = InRatExpSet>
using vcsn::rat::copier< InRatExpSet, OutRatExpSet >::conjunction_t = typename super_t:: conjunction_t
private

Definition at line 77 of file copy.hh.

template<typename InRatExpSet, typename OutRatExpSet = InRatExpSet>
using vcsn::rat::copier< InRatExpSet, OutRatExpSet >::in_ratexpset_t = InRatExpSet

Definition at line 19 of file copy.hh.

template<typename InRatExpSet, typename OutRatExpSet = InRatExpSet>
using vcsn::rat::copier< InRatExpSet, OutRatExpSet >::in_value_t = typename in_ratexpset_t::value_t

Definition at line 21 of file copy.hh.

template<typename InRatExpSet, typename OutRatExpSet = InRatExpSet>
using vcsn::rat::copier< InRatExpSet, OutRatExpSet >::inner_t = typename super_t::inner_t

Definition at line 25 of file copy.hh.

template<typename InRatExpSet, typename OutRatExpSet = InRatExpSet>
using vcsn::rat::copier< InRatExpSet, OutRatExpSet >::ldiv_t = typename super_t:: ldiv_t
private

Definition at line 78 of file copy.hh.

template<typename InRatExpSet, typename OutRatExpSet = InRatExpSet>
using vcsn::rat::copier< InRatExpSet, OutRatExpSet >::leaf_t = typename super_t::leaf_t

Definition at line 30 of file copy.hh.

template<typename InRatExpSet, typename OutRatExpSet = InRatExpSet>
using vcsn::rat::copier< InRatExpSet, OutRatExpSet >::lweight_t = typename super_t:: lweight_t
private

Definition at line 105 of file copy.hh.

template<typename InRatExpSet, typename OutRatExpSet = InRatExpSet>
using vcsn::rat::copier< InRatExpSet, OutRatExpSet >::node_t = typename super_t::node_t

Definition at line 24 of file copy.hh.

template<typename InRatExpSet, typename OutRatExpSet = InRatExpSet>
using vcsn::rat::copier< InRatExpSet, OutRatExpSet >::one_t = typename super_t:: one_t
private

Definition at line 87 of file copy.hh.

template<typename InRatExpSet, typename OutRatExpSet = InRatExpSet>
using vcsn::rat::copier< InRatExpSet, OutRatExpSet >::out_ratexpset_t = OutRatExpSet

Definition at line 20 of file copy.hh.

template<typename InRatExpSet, typename OutRatExpSet = InRatExpSet>
using vcsn::rat::copier< InRatExpSet, OutRatExpSet >::out_value_t = typename out_ratexpset_t::value_t

Definition at line 22 of file copy.hh.

template<typename InRatExpSet, typename OutRatExpSet = InRatExpSet>
using vcsn::rat::copier< InRatExpSet, OutRatExpSet >::prod_t = typename super_t:: prod_t
private

Definition at line 79 of file copy.hh.

template<typename InRatExpSet, typename OutRatExpSet = InRatExpSet>
using vcsn::rat::copier< InRatExpSet, OutRatExpSet >::rweight_t = typename super_t:: rweight_t
private

Definition at line 112 of file copy.hh.

template<typename InRatExpSet, typename OutRatExpSet = InRatExpSet>
using vcsn::rat::copier< InRatExpSet, OutRatExpSet >::shuffle_t = typename super_t:: shuffle_t
private

Definition at line 80 of file copy.hh.

template<typename InRatExpSet, typename OutRatExpSet = InRatExpSet>
using vcsn::rat::copier< InRatExpSet, OutRatExpSet >::star_t = typename super_t:: star_t
private

Definition at line 84 of file copy.hh.

template<typename InRatExpSet, typename OutRatExpSet = InRatExpSet>
using vcsn::rat::copier< InRatExpSet, OutRatExpSet >::sum_t = typename super_t:: sum_t
private

Definition at line 81 of file copy.hh.

template<typename InRatExpSet, typename OutRatExpSet = InRatExpSet>
using vcsn::rat::copier< InRatExpSet, OutRatExpSet >::super_t = typename in_ratexpset_t::const_visitor

Definition at line 23 of file copy.hh.

template<typename InRatExpSet, typename OutRatExpSet = InRatExpSet>
using vcsn::rat::copier< InRatExpSet, OutRatExpSet >::transposition_t = typename super_t:: transposition_t
private

Definition at line 85 of file copy.hh.

template<typename InRatExpSet, typename OutRatExpSet = InRatExpSet>
template<type_t Type>
using vcsn::rat::copier< InRatExpSet, OutRatExpSet >::unary_t = typename super_t::template unary_t<Type>

Definition at line 27 of file copy.hh.

template<typename InRatExpSet, typename OutRatExpSet = InRatExpSet>
template<type_t Type>
using vcsn::rat::copier< InRatExpSet, OutRatExpSet >::variadic_t = typename super_t::template variadic_t<Type>

Definition at line 29 of file copy.hh.

template<typename InRatExpSet, typename OutRatExpSet = InRatExpSet>
using vcsn::rat::copier< InRatExpSet, OutRatExpSet >::zero_t = typename super_t:: zero_t
private

Definition at line 93 of file copy.hh.

Constructor & Destructor Documentation

template<typename InRatExpSet, typename OutRatExpSet = InRatExpSet>
vcsn::rat::copier< InRatExpSet, OutRatExpSet >::copier ( const in_ratexpset_t in_rs,
const out_ratexpset_t out_rs 
)
inline

Definition at line 32 of file copy.hh.

Member Function Documentation

template<typename InRatExpSet, typename OutRatExpSet = InRatExpSet>
template<exp::type_t Type>
void vcsn::rat::copier< InRatExpSet, OutRatExpSet >::copy_unary ( const unary_t< Type > &  v)
inlineprivate

Factor the copy of n-ary operations.

Definition at line 48 of file copy.hh.

References vcsn::rat::copier< InRatExpSet, OutRatExpSet >::copy(), and vcsn::rat::copier< InRatExpSet, OutRatExpSet >::res_.

Referenced by vcsn::rat::copier< InRatExpSet, OutRatExpSet >::visit().

Here is the call graph for this function:

template<typename InRatExpSet, typename OutRatExpSet = InRatExpSet>
template<exp::type_t Type>
void vcsn::rat::copier< InRatExpSet, OutRatExpSet >::copy_variadic ( const variadic_t< Type > &  v)
inlineprivate

Factor the copy of n-ary operations.

Definition at line 57 of file copy.hh.

References vcsn::rat::copier< InRatExpSet, OutRatExpSet >::copy(), and vcsn::rat::copier< InRatExpSet, OutRatExpSet >::res_.

Referenced by vcsn::rat::copier< InRatExpSet, OutRatExpSet >::visit().

Here is the call graph for this function:

template<typename InRatExpSet, typename OutRatExpSet = InRatExpSet>
out_value_t vcsn::rat::copier< InRatExpSet, OutRatExpSet >::operator() ( const in_value_t v)
inline

Entry point: print v.

Definition at line 39 of file copy.hh.

References vcsn::rat::copier< InRatExpSet, OutRatExpSet >::copy().

Here is the call graph for this function:

template<typename InRatExpSet, typename OutRatExpSet = InRatExpSet>
virtual void vcsn::rat::copier< InRatExpSet, OutRatExpSet >::visit ( const conjunction_t v)
inlineprivatevirtual

Definition at line 77 of file copy.hh.

References vcsn::rat::copier< InRatExpSet, OutRatExpSet >::copy_variadic().

Here is the call graph for this function:

template<typename InRatExpSet, typename OutRatExpSet = InRatExpSet>
virtual void vcsn::rat::copier< InRatExpSet, OutRatExpSet >::visit ( const ldiv_t v)
inlineprivatevirtual

Definition at line 78 of file copy.hh.

References vcsn::rat::copier< InRatExpSet, OutRatExpSet >::copy_variadic().

Here is the call graph for this function:

template<typename InRatExpSet, typename OutRatExpSet = InRatExpSet>
virtual void vcsn::rat::copier< InRatExpSet, OutRatExpSet >::visit ( const prod_t v)
inlineprivatevirtual

Definition at line 79 of file copy.hh.

References vcsn::rat::copier< InRatExpSet, OutRatExpSet >::copy_variadic().

Here is the call graph for this function:

template<typename InRatExpSet, typename OutRatExpSet = InRatExpSet>
virtual void vcsn::rat::copier< InRatExpSet, OutRatExpSet >::visit ( const shuffle_t v)
inlineprivatevirtual

Definition at line 80 of file copy.hh.

References vcsn::rat::copier< InRatExpSet, OutRatExpSet >::copy_variadic().

Here is the call graph for this function:

template<typename InRatExpSet, typename OutRatExpSet = InRatExpSet>
virtual void vcsn::rat::copier< InRatExpSet, OutRatExpSet >::visit ( const sum_t v)
inlineprivatevirtual

Definition at line 81 of file copy.hh.

References vcsn::rat::copier< InRatExpSet, OutRatExpSet >::copy_variadic().

Here is the call graph for this function:

template<typename InRatExpSet, typename OutRatExpSet = InRatExpSet>
virtual void vcsn::rat::copier< InRatExpSet, OutRatExpSet >::visit ( const complement_t v)
inlineprivatevirtual

Definition at line 83 of file copy.hh.

References vcsn::rat::copier< InRatExpSet, OutRatExpSet >::copy_unary().

Here is the call graph for this function:

template<typename InRatExpSet, typename OutRatExpSet = InRatExpSet>
virtual void vcsn::rat::copier< InRatExpSet, OutRatExpSet >::visit ( const star_t v)
inlineprivatevirtual

Definition at line 84 of file copy.hh.

References vcsn::rat::copier< InRatExpSet, OutRatExpSet >::copy_unary().

Here is the call graph for this function:

template<typename InRatExpSet, typename OutRatExpSet = InRatExpSet>
virtual void vcsn::rat::copier< InRatExpSet, OutRatExpSet >::visit ( const transposition_t v)
inlineprivatevirtual

Definition at line 85 of file copy.hh.

References vcsn::rat::copier< InRatExpSet, OutRatExpSet >::copy_unary().

Here is the call graph for this function:

template<typename InRatExpSet, typename OutRatExpSet = InRatExpSet>
virtual void vcsn::rat::copier< InRatExpSet, OutRatExpSet >::visit ( const one_t v)
inlineprivatevirtual
template<typename InRatExpSet, typename OutRatExpSet = InRatExpSet>
virtual void vcsn::rat::copier< InRatExpSet, OutRatExpSet >::visit ( const zero_t v)
inlineprivatevirtual

Definition at line 93 of file copy.hh.

template<typename InRatExpSet, typename OutRatExpSet = InRatExpSet>
virtual void vcsn::rat::copier< InRatExpSet, OutRatExpSet >::visit ( const atom_t v)
inlineprivatevirtual
template<typename InRatExpSet, typename OutRatExpSet = InRatExpSet>
virtual void vcsn::rat::copier< InRatExpSet, OutRatExpSet >::visit ( const lweight_t v)
inlineprivatevirtual

Definition at line 105 of file copy.hh.

References vcsn::rat::copier< InRatExpSet, OutRatExpSet >::copy(), vcsn::rat::copier< InRatExpSet, OutRatExpSet >::in_rs_, vcsn::rat::copier< InRatExpSet, OutRatExpSet >::out_rs_, and vcsn::rat::copier< InRatExpSet, OutRatExpSet >::res_.

Here is the call graph for this function:

template<typename InRatExpSet, typename OutRatExpSet = InRatExpSet>
virtual void vcsn::rat::copier< InRatExpSet, OutRatExpSet >::visit ( const rweight_t v)
inlineprivatevirtual

Definition at line 112 of file copy.hh.

References vcsn::rat::copier< InRatExpSet, OutRatExpSet >::copy(), vcsn::rat::copier< InRatExpSet, OutRatExpSet >::in_rs_, vcsn::rat::copier< InRatExpSet, OutRatExpSet >::out_rs_, and vcsn::rat::copier< InRatExpSet, OutRatExpSet >::res_.

Here is the call graph for this function:

Member Data Documentation

template<typename InRatExpSet, typename OutRatExpSet = InRatExpSet>
const in_ratexpset_t& vcsn::rat::copier< InRatExpSet, OutRatExpSet >::in_rs_
private

ratexpset to decode the input value.

Definition at line 122 of file copy.hh.

Referenced by vcsn::rat::copier< InRatExpSet, OutRatExpSet >::visit().

template<typename InRatExpSet, typename OutRatExpSet = InRatExpSet>
const out_ratexpset_t& vcsn::rat::copier< InRatExpSet, OutRatExpSet >::out_rs_
private

ratexpset to build the output value.

Definition at line 124 of file copy.hh.

Referenced by vcsn::rat::copier< InRatExpSet, OutRatExpSet >::visit().

template<typename InRatExpSet, typename OutRatExpSet = InRatExpSet>
out_value_t vcsn::rat::copier< InRatExpSet, OutRatExpSet >::res_
private

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