00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 #ifndef VCSN_MISC_IOMANIP_HH
00018 # define VCSN_MISC_IOMANIP_HH
00019 
00028 # include <ostream>
00029 # include <functional>
00030 
00031 namespace vcsn
00032 {
00033   namespace misc
00034   {
00035 
00042     template <class Self>
00043     struct iomanip : public std::unary_function<std::ostream, std::ostream>
00044     {
00045         const Self& self () const;
00046     };
00047 
00048     template <class IOM>
00049     std::ostream&
00050     operator<< (std::ostream& ostr, const iomanip<IOM>& m);
00051 
00073     template <class T>
00074     void
00075     pword_delete (std::ios_base::event ev, std::ios_base &io, int idx);
00076 
00077   } 
00078 } 
00079 
00080 
00081 # if !defined VCSN_USE_INTERFACE_ONLY || defined VCSN_USE_LIB
00082 #  include <vaucanson/misc/iomanip.hxx>
00083 # endif // VCSN_USE_INTERFACE_ONLY
00084 
00085 #endif // ! VCSN_MISC_IOMANIP_HH