/*++ Copyright (c) 2006 Microsoft Corporation Module Name: stream_buffer.h Abstract: Simple stream buffer interface. In the future we should be able to read different kinds of stream (e.g., compressed files used in the SAT competitions). Author: Leonardo de Moura (leonardo) 2006-10-02. Revision History: --*/ #ifndef _STREAM_BUFFER_H_ #define _STREAM_BUFFER_H_ #include class stream_buffer { std::istream & m_stream; int m_val; public: stream_buffer(std::istream & s): m_stream(s) { m_val = m_stream.get(); } int operator *() const { return m_val; } void operator ++() { m_val = m_stream.get(); } }; #endif /* _STREAM_BUFFER_H_ */