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 Monoid>
00028 monoid_rep<Monoid>::monoid_rep()
00029 {
00030 maybe_epsilon.clear();
00031
00032
00033 maybe_epsilon.push_back("1");
00034 maybe_epsilon.push_back("e");
00035
00036
00037 maybe_epsilon.push_back("_e");
00038 maybe_epsilon.push_back("eps");
00039
00040 empty = *(maybe_epsilon.begin());
00041 concat = "";
00042 }
00043
00044 template <typename M>
00045 bool
00046 operator==(boost::shared_ptr<monoid_rep<M> > lhs,
00047 boost::shared_ptr<monoid_rep<M> > rhs )
00048 {
00049 return (lhs->empty == rhs->empty &&
00050 lhs->concat == rhs->concat);
00051 }
00052
00053 }
00054
00055 }
00056
00057 #endif // !VCSN_ALGEBRA_IMPLEMENTATION_MONOID_MONOID_REP_HXX