00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 #ifndef VCSN_ALGORITHMS_COMPOSITION_COVER_HH
00018 # define VCSN_ALGORITHMS_COMPOSITION_COVER_HH
00019 
00020 # include <vaucanson/automata/concept/automata_base.hh>
00021 
00035 
00036 
00037 
00038 
00039 
00040 namespace vcsn {
00041 
00044   template <typename S, typename T>
00045   Element<S, T>
00046   composition_cover (const Element<S, T>& fmp);
00047 
00048   template <typename S, typename T>
00049   void
00050   composition_cover (const Element<S, T>& fmp,
00051                      Element<S, T>& ret);
00052 
00053 
00054   template <typename S, typename T>
00055   Element<S, T>
00056   composition_co_cover (const Element<S, T>& fmp);
00057 
00058   template <typename S, typename T>
00059   void
00060   composition_co_cover (const Element<S, T>& fmp,
00061                         Element<S, T>& ret);
00062 
00064 }
00065 
00066 # if !defined VCSN_USE_INTERFACE_ONLY && !defined VCSN_USE_LIB
00067 # include <vaucanson/algorithms/composition_cover.hxx>
00068 #endif // ! VCSN_USE_INTERFACE_ONLY
00069 
00070 #endif // ! VCSN_ALGORITHMS_COMPOSITION_COVER_HH