17 #ifndef VCSN_ALGEBRA_IMPLEMENTATION_SERIES_RAT_REVERSE_VISITOR_HXX
18 # define VCSN_ALGEBRA_IMPLEMENTATION_SERIES_RAT_REVERSE_VISITOR_HXX
20 # include <vaucanson/algebra/implementation/series/rat/reverse_visitor.hh>
28 template <
class Semiring,
class Word,
class Weight>
29 ReverseVisitor<Semiring, Word, Weight>::
30 ReverseVisitor(
const algebra::SemiringBase<Semiring>& s) : s_ (s)
33 template <
class Semiring,
class Word,
class Weight>
35 ReverseVisitor<Semiring, Word, Weight>::
36 product(rat::Node<Word, Weight>* lhs, rat::Node<Word, Weight>* rhs)
43 template <
class Semiring,
class Word,
class Weight>
45 ReverseVisitor<Semiring, Word, Weight>::left_weight(Weight& w)
50 template <
class Semiring,
class Word,
class Weight>
52 ReverseVisitor<Semiring, Word, Weight>::right_weight(Weight& w)
57 template <
class Semiring,
class Word,
class Weight>
59 ReverseVisitor<Semiring, Word, Weight>::constant(Word& w)
64 template <
class Semiring,
class Word,
class Weight>
68 transpose(
const algebra::SeriesBase<S>& s,
const Weight& w)
70 Element<S, Weight> e (s, w);
75 template <
class Semiring,
class Word,
class Weight>
79 transpose(
const algebra::SemiringBase<S>&,
const Weight& w)
89 template <
typename S,
typename Word,
typename Weight>
90 rat::exp<Word, Weight>&
91 DefaultTransposeFun< S, rat::exp<Word, Weight> >::
92 operator () (
const S& s,
const rat::exp<Word, Weight>& exp)
94 rat::exp<Word, Weight>* rexp =
new rat::exp<Word, Weight> (exp);
95 rat::ReverseVisitor<typename S::semiring_t, Word, Weight>
106 #endif // ! VCSN_ALGEBRA_IMPLEMENTATION_SERIES_RAT_REVERSE_VISITOR_HXX