| /** |
| * @file stream_util.h |
| * C++ stream utility |
| * |
| * @remark Copyright 2003 OProfile authors |
| * @remark Read the file COPYING |
| * |
| * @author Philippe Elie |
| * @author John Levon |
| */ |
| |
| #ifndef STREAM_UTIL_H |
| #define STREAM_UTIL_H |
| |
| #include <iostream> |
| |
| /// class which save a stream state and restore it at dtor time |
| class io_state { |
| public: |
| /** |
| * save the stream flags, precision and fill char. |
| * |
| * width is restored at end of expression, there is no need to save it. |
| * tie and locale are not saved currently |
| * |
| * error state shouldn't be saved. |
| */ |
| io_state(std::ios & stream); |
| /// restore the stream state |
| ~io_state(); |
| private: |
| std::ios & stream; |
| |
| std::ios::fmtflags format; |
| std::streamsize precision; |
| char fill; |
| }; |
| |
| #endif /* !STREAM_UTIL_H */ |