17 #ifndef VCSN_ALGEBRA_IMPLEMENTATION_SERIES_RAT_STAR_HEIGHT_VISITOR_HH
18 # define VCSN_ALGEBRA_IMPLEMENTATION_SERIES_RAT_STAR_HEIGHT_VISITOR_HH
23 # include <vaucanson/algebra/implementation/series/rat/nodes.hh>
29 template<
typename M_,
typename W_>
30 class StarHeightVisitor :
public ConstNodeVisitor<M_, W_>
34 sum_or_product(
const Node<M_, W_>* left_,
const Node<M_, W_>* right_);
36 weight_or_star(
const Node<M_, W_>* node);
44 product(
const Node<M_, W_>* left_,
const Node<M_, W_>* right_);
47 sum(
const Node<M_, W_>* left_,
const Node<M_, W_>* right_);
50 star(
const Node<M_, W_>* node);
53 left_weight(
const W_&,
const Node<M_, W_>* node);
56 right_weight(
const W_&,
const Node<M_, W_>* node);
59 constant(
const M_& m);
82 # include <vaucanson/algebra/implementation/series/rat/star_height_visitor.hxx>
84 #endif // ! VCSN_ALGEBRA_IMPLEMENTATION_SERIES_RAT_STAR_HEIGHT_VISITOR_HH