00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef VCSN_ALGEBRA_IMPLEMENTATION_FREE_MONOID_WORDS_HXX
00018 # define VCSN_ALGEBRA_IMPLEMENTATION_FREE_MONOID_WORDS_HXX
00019
00020 # include <vaucanson/algebra/implementation/free_monoid/words.hh>
00021
00022 namespace vcsn {
00023
00024 namespace algebra {
00025
00026
00027
00028
00029
00030 template <class A>
00031 FreeMonoid<A>::FreeMonoid(const A& a) : alph_(a)
00032 {}
00033
00034 template <class A>
00035 FreeMonoid<A>::FreeMonoid(const FreeMonoid& w) :
00036 FreeMonoidBase<FreeMonoid<A> >(w),
00037 alph_(w.alph_)
00038 {}
00039
00040 template <class A>
00041 A& FreeMonoid<A>::alphabet()
00042 {
00043 return alph_;
00044 }
00045
00046 template <class A>
00047 const A& FreeMonoid<A>::alphabet() const
00048 {
00049 return alph_;
00050 }
00051
00052 template<typename A>
00053 bool operator==(const FreeMonoid<A>& a,
00054 const FreeMonoid<A>& b)
00055 {
00056 return a.alphabet() == b.alphabet();
00057 }
00058
00059 }
00060
00061 }
00062
00063
00064 #endif // ! VCSN_ALGEBRA_IMPLEMENTATION_FREE_MONOID_WORDS_HXX