00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 #ifndef VCSN_ALGORITHMS_KRAT_EXP_FLATTEN_HH
00018 # define VCSN_ALGORITHMS_KRAT_EXP_FLATTEN_HH
00019 
00035 # include <vaucanson/design_pattern/design_pattern.hh>
00036 
00037 # include <list>
00038 
00039 namespace vcsn
00040 {
00057   template <class Series, class T>
00058   std::list<typename Series::monoid_t::alphabet_t::letter_t>
00059   flatten(const Element<Series, T>& exp);
00060 
00063 } 
00064 
00065 # if !defined VCSN_USE_INTERFACE_ONLY && !defined VCSN_USE_LIB
00066 #  include <vaucanson/algorithms/krat_exp_flatten.hxx>
00067 # endif
00068 
00069 #endif // ! VCSN_ALGORITHMS_KRAT_EXP_FLATTEN_HH