Vaucanson 1.4
|
00001 // iomanip.hh: this file is part of the Vaucanson project. 00002 // 00003 // Vaucanson, a generic library for finite state machines. 00004 // 00005 // Copyright (C) 2004, 2005, 2006 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_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 } // End of namespace misc. 00078 } // End of namespace vcsn. 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