17 #ifndef VCSN_ALGEBRA_IMPLEMENTATION_SERIES_RAT_EXP_HH
18 # define VCSN_ALGEBRA_IMPLEMENTATION_SERIES_RAT_EXP_HH
20 # include <vaucanson/algebra/implementation/series/rat/nodes.hh>
28 template<
typename LetterT,
typename WeightT>
32 typedef rat::Node<LetterT, WeightT> node_t;
33 typedef typename rat::Node<LetterT, WeightT>::type type;
34 typedef rat::Zero<LetterT, WeightT> n_zero_t;
35 typedef rat::One<LetterT, WeightT> n_one_t;
36 typedef rat::Sum<LetterT, WeightT> n_sum_t;
37 typedef rat::Product<LetterT, WeightT> n_prod_t;
38 typedef rat::Star<LetterT, WeightT> n_star_t;
39 typedef rat::Constant<LetterT, WeightT> n_const_t;
42 typedef LetterT monoid_elt_value_t;
43 typedef WeightT semiring_elt_value_t;
71 accept(ConstNodeVisitor<monoid_elt_value_t, semiring_elt_value_t>& v)
94 node_t*
const &
base()
const;
122 template<
typename M,
typename W>
126 template<
typename M,
typename W>
130 template<
typename M,
typename W>
134 template<
typename M,
typename W>
141 template<
typename M,
typename S,
typename T>
146 template<
typename M,
typename S,
typename T>
151 template<
typename M,
typename W>
159 # if !defined VCSN_USE_INTERFACE_ONLY || defined VCSN_USE_LIB
160 # include <vaucanson/algebra/implementation/series/rat/exp.hxx>
161 # endif // VCSN_USE_INTERFACE_ONLY
163 #endif // ! VCSN_ALGEBRA_IMPLEMENTATION_SERIES_RAT_EXP_HH