char_letter.hh

00001 // char_letter.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 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_LETTER_CHAR_LETTER_HH
00018 # define VCSN_ALGEBRA_IMPLEMENTATION_LETTER_CHAR_LETTER_HH
00019 
00020 # include <vaucanson/algebra/concept/letter.hh>
00021 
00022 namespace vcsn {
00023 
00024   namespace algebra {
00025 
00026     template <>
00027     struct letter_traits<char>
00028     {
00029       enum
00030         {
00031           // Here we use 255  and not 256 since random::generate<char>
00032           // does not generates 0 to avoid conflicts with 0 terminated
00033           // C strings. Therefore char  alphabets will never hold more
00034           // than 255 different letters.
00035           cardinal = 255
00036         };
00037 
00038       static const char default_joker() { return '?'; }
00039       static const char default_other() { return '#'; }
00040     };
00041 
00042   } // algebra
00043 
00044 } // vcsn
00045 
00046 #endif // ! VCSN_ALGEBRA_IMPLEMENTATION_LETTER_CHAR_LETTER_HH

Generated on Fri Jul 28 12:18:30 2006 for Vaucanson by  doxygen 1.4.6