00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef VCSN_ALGEBRA_IMPLEMENTATION_SERIES_SERIES_REP_HXX
00018 # define VCSN_ALGEBRA_IMPLEMENTATION_SERIES_SERIES_REP_HXX
00019
00020 namespace vcsn {
00021
00022 namespace algebra {
00023
00024 template <typename Semiring, typename Monoid>
00025 series_rep<Semiring, Monoid>::series_rep() :
00026 open_par("("),
00027 close_par(")"),
00028 plus("+"),
00029 times("."),
00030 star("*"),
00031 zero("0"),
00032 open_weight("{"),
00033 close_weight("}")
00034 {
00035 spaces.push_back(" ");
00036 }
00037
00038 template <typename S, typename M>
00039 bool
00040 operator==(boost::shared_ptr<series_rep<S, M> > lhs,
00041 boost::shared_ptr<series_rep<S, M> > rhs)
00042 {
00043 return (lhs->open_par == rhs->open_par &&
00044 lhs->close_par == rhs->close_par &&
00045 lhs->plus == rhs->plus &&
00046 lhs->times == rhs->times &&
00047 lhs->star == rhs->star &&
00048 lhs->zero == rhs->zero &&
00049 lhs->open_weight == rhs->open_weight &&
00050 lhs->close_weight == rhs->close_weight &&
00051 lhs->spaces == rhs->spaces);
00052 }
00053
00054 }
00055
00056 }
00057
00058 #endif // !VCSN_ALGEBRA_IMPLEMENTATION_SERIES_SERIES_REP_HXX