17 #ifndef VCSN_ALGEBRA_IMPLEMENTATION_MONOID_MONOID_REP_HH
18 # define VCSN_ALGEBRA_IMPLEMENTATION_MONOID_MONOID_REP_HH
20 # include <boost/shared_ptr.hpp>
22 # include <vaucanson/algebra/implementation/monoid/monoid_rep_base.hh>
29 struct MonoidRep : MonoidRepBase<MonoidRep, M>
34 bool operator==(boost::shared_ptr<MonoidRep<M> >,
35 boost::shared_ptr<MonoidRep<M> >);
38 struct MonoidRepDefault
41 typedef MonoidRep<M> monoid_rep_t;
42 typedef boost::shared_ptr<monoid_rep_t> pointer_t;
45 static pointer_t get_instance()
47 static pointer_t p(
new monoid_rep_t());
56 # if !defined VCSN_USE_INTERFACE_ONLY || defined VCSN_USE_LIB
57 # include <vaucanson/algebra/implementation/monoid/monoid_rep.hxx>
58 # endif // VCSN_USE_INTERFACE_ONLY
60 #endif // ! VCSN_ALGEBRA_IMPLEMENTATION_MONOID_MONOID_REP_HH