17 #ifndef VCSN_ALGEBRA_IMPLEMENTATION_SERIES_RAT_LENGTH_VISITOR_HXX
18 # define VCSN_ALGEBRA_IMPLEMENTATION_SERIES_RAT_LENGTH_VISITOR_HXX
20 # include <vaucanson/algebra/implementation/series/rat/length_visitor.hh>
28 template<
typename M_,
typename W_>
30 LengthVisitor<M_,W_>::sum_or_product(
const Node<M_, W_>* left_,
31 const Node<M_, W_>* right_)
34 right_->accept(*
this);
37 template<
typename M_,
typename W_>
39 LengthVisitor<M_, W_>::weight_or_star(
const Node<M_, W_>* node)
44 template<
typename M_,
typename W_>
46 LengthVisitor<M_, W_>::product(
const Node<M_, W_>* left_,
47 const Node<M_, W_>* right_)
49 sum_or_product(left_, right_);
52 template<
typename M_,
typename W_>
54 LengthVisitor<M_, W_>::sum(
const Node<M_, W_>* left_,
55 const Node<M_, W_>* right_)
57 sum_or_product(left_, right_);
60 template<
typename M_,
typename W_>
67 template<
typename M_,
typename W_>
69 LengthVisitor<M_, W_>::left_weight(
const W_&,
const Node<M_, W_>* node)
74 template<
typename M_,
typename W_>
76 LengthVisitor<M_, W_>::right_weight(
const W_&,
const Node<M_, W_>* node)
81 template<
typename M_,
typename W_>
83 LengthVisitor<M_, W_>::constant(
const M_&)
88 template<
typename M_,
typename W_>
89 void LengthVisitor<M_, W_>::zero()
94 template<
typename M_,
typename W_>
95 void LengthVisitor<M_, W_>::one()
100 template<
typename M_,
typename W_>
112 #endif // ! VCSN_ALGEBRA_IMPLEMENTATION_SERIES_RAT_LENGTH_VISITOR_HXX