00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 #ifndef VCSN_ALGORITHMS_INVERT_HH
00019 # define VCSN_ALGORITHMS_INVERT_HH
00020 
00036 # include <vaucanson/design_pattern/design_pattern.hh>
00037 
00038 namespace vcsn {
00039 
00047   template<typename A, typename T>
00048   void
00049   invert(const Element<A, T>& t,
00050          Element<A, T>& res);
00051 
00059   template<typename A, typename T>
00060   Element<A, T>&
00061   invert(const Element<A, T>& t);
00062 
00063 } 
00064 
00065 # if !defined VCSN_USE_INTERFACE_ONLY && !defined VCSN_USE_LIB
00066 #  include <vaucanson/algorithms/invert.hxx>
00067 # endif // VCSN_USE_INTERFACE_ONLY
00068 
00069 #endif // !VCSN_ALGORITHMS_INVERT_HH