17 #ifndef VCSN_ALGEBRA_IMPLEMENTATION_MONOID_MONOID_REP_BASE_HH
18 # define VCSN_ALGEBRA_IMPLEMENTATION_MONOID_MONOID_REP_BASE_HH
23 # include <boost/shared_ptr.hpp>
25 # include <vaucanson/algebra/concept/letter.hh>
26 # include <vaucanson/misc/usual_macros.hh>
32 template <
template <
typename>
class S,
typename T>
39 typedef S<monoid_t> self_t;
42 typedef boost::shared_ptr<self_t> pointer_t;
47 std::vector<std::string> maybe_epsilon;
53 void disambiguate(
const monoid_t&, pointer_t&);
56 template <
template <
typename>
class S,
typename T>
57 bool operator==(boost::shared_ptr<MonoidRepBase<S, T> >,
58 boost::shared_ptr<MonoidRepBase<S, T> >);
64 # if !defined VCSN_USE_INTERFACE_ONLY || defined VCSN_USE_LIB
65 # include <vaucanson/algebra/implementation/monoid/monoid_rep_base.hxx>
66 # endif // VCSN_USE_INTERFACE_ONLY
68 #endif // ! VCSN_ALGEBRA_IMPLEMENTATION_MONOID_MONOID_REP_BASE_HH