00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef VCSN_ALGEBRA_IMPLEMENTATION_FREE_MONOID_PREDEFS_HH
00018 # define VCSN_ALGEBRA_IMPLEMENTATION_FREE_MONOID_PREDEFS_HH
00019
00020 # include <vaucanson/algebra/implementation/alphabets/predefs.hh>
00021 # include <vaucanson/algebra/implementation/free_monoid/str_words.hh>
00022 # include <vaucanson/misc/char_traits.hh>
00023
00024 namespace vcsn {
00025
00026 namespace algebra {
00027
00028 namespace small_alpha_letter {
00029
00030 typedef
00031 FreeMonoid<Alphabet> Words;
00032
00033 typedef std::basic_string<Letter,
00034 misc::char_traits<Letter> > WordValue;
00035
00036 typedef
00037 Element<Words, WordValue> Word;
00038
00039 }
00040
00041 namespace char_letter {
00042
00043 typedef
00044 FreeMonoid<Alphabet> Words;
00045
00046 typedef std::basic_string<Letter> WordValue;
00047
00048 typedef
00049 Element<Words, WordValue> Word;
00050
00051 }
00052
00053 namespace char_pair {
00054
00055 typedef
00056 FreeMonoid<Alphabet> Words;
00057
00058 typedef std::basic_string<Letter> WordValue;
00059
00060 typedef
00061 Element<Words, WordValue> Word;
00062
00063 }
00064
00065 namespace weighted_letter {
00066
00067 typedef
00068 FreeMonoid<Alphabet> Words;
00069
00070 typedef std::basic_string<Letter> WordValue;
00071
00072 typedef
00073 Element<Words, WordValue> Word;
00074
00075 }
00076
00077 namespace int_letter {
00078
00079 typedef
00080 FreeMonoid<Alphabet> Words;
00081
00082 typedef std::list<Letter> WordValue;
00083
00084 typedef
00085 Element<Words, WordValue> Word;
00086
00087 }
00088
00089 }
00090
00091 }
00092
00093 #endif // ! VCSN_ALGEBRA_IMPLEMENTATION_FREE_MONOID_PREDEFS_HH