predefs.hh

00001 // predefs.hh: this file is part of the Vaucanson project.
00002 //
00003 // Vaucanson, a generic library for finite state machines.
00004 //
00005 // Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006 The Vaucanson Group.
00006 //
00007 // This program is free software; you can redistribute it and/or
00008 // modify it under the terms of the GNU General Public License
00009 // as published by the Free Software Foundation; either version 2
00010 // of the License, or (at your option) any later version.
00011 //
00012 // The complete GNU General Public Licence Notice can be found as the
00013 // `COPYING' file in the root directory.
00014 //
00015 // The Vaucanson Group consists of people listed in the `AUTHORS' file.
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     } // static_alpha_letter
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     } // char_letter
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     } // char_pair
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     } // weighted_letter
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     } // int_letter
00088 
00089   } // algebra
00090 
00091 } // vcsn
00092 
00093 #endif // ! VCSN_ALGEBRA_IMPLEMENTATION_FREE_MONOID_PREDEFS_HH

Generated on Sun Jul 29 19:35:28 2007 for Vaucanson by  doxygen 1.5.2