00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef VCSN_ALGEBRA_IMPLEMENTATION_MONOID_MONOID_REP_HXX
00019 # define VCSN_ALGEBRA_IMPLEMENTATION_MONOID_MONOID_REP_HXX
00020
00021 # include <vaucanson/algebra/implementation/monoid/monoid_rep.hh>
00022
00023 namespace vcsn
00024 {
00025 namespace algebra
00026 {
00027 template <typename M>
00028 bool
00029 operator==(boost::shared_ptr<MonoidRep<M> > lhs,
00030 boost::shared_ptr<MonoidRep<M> > rhs)
00031 {
00032
00033 typedef MonoidRepBase<MonoidRep, M> monoid_rep_base_t;
00034 typedef boost::shared_ptr<monoid_rep_base_t> p_t;
00035
00036 return (static_cast<p_t>(lhs) == static_cast<p_t>(rhs));
00037 }
00038
00039 }
00040
00041 }
00042
00043 #endif // !VCSN_ALGEBRA_IMPLEMENTATION_MONOID_MONOID_REP_HXX