Logo Search packages:      
Sourcecode: einstein version File versions  Download package

streams.h

#ifndef __STREAMS_H__
#define __STREAMS_H__


#include <fstream>
#include <list>


/// Read utf-8 file and convert it to wide characters
00010 class UtfStreamReader
{
    private:
        /// Pointer to file stream
00014         std::ifstream *stream;

        /// Push back buffet
00017         std::list<wchar_t> backBuf;
    
    public:
        /// Create utf-8 stream reader.
        /// \param stream pointer to file stream.
        UtfStreamReader(std::ifstream *stream);
        
        /// Destructor
        ~UtfStreamReader();

    public:
        /// Read next unicode character.
        wchar_t getNextChar();

        /// Push back character.
        /// \param ch character to push back
        void ungetChar(wchar_t ch);

        /// Check if end of file reached.
        bool isEof();
};


#endif


Generated by  Doxygen 1.6.0   Back to index