17 #ifndef VCSN_ALGEBRA_IMPLEMENTATION_SERIES_SERIES_REP_HH
18 # define VCSN_ALGEBRA_IMPLEMENTATION_SERIES_SERIES_REP_HH
20 # include <boost/shared_ptr.hpp>
22 # include <vaucanson/algebra/implementation/series/series_rep_base.hh>
28 template <
typename S,
typename M>
29 struct SeriesRep : SeriesRepBase<SeriesRep, S, M>
33 template <
typename S,
typename M>
34 bool operator==(boost::shared_ptr<SeriesRep<S, M> >,
35 boost::shared_ptr<SeriesRep<S, M> >);
37 template <
typename S,
typename M>
38 struct SeriesRepDefault
41 typedef SeriesRep<S, M> series_rep_t;
42 typedef boost::shared_ptr<series_rep_t> pointer_t;
45 static pointer_t get_instance()
47 static pointer_t p(
new series_rep_t());
56 # if !defined VCSN_USE_INTERFACE_ONLY || defined VCSN_USE_LIB
57 # include <vaucanson/algebra/implementation/series/series_rep.hxx>
58 # endif // VCSN_USE_INTERFACE_ONLY
60 #endif // !VCSN_ALGEBRA_IMPLEMENTATION_SERIES_SERIES_REP_HH