#pragma once

#include "Common.h"
#include "System/IO/TextReader.h"

namespace DotNetDupe {
    namespace System {
        namespace IO {
            class StringReader : public TextReader {
            public:
                DOTNETDUPE_API StringReader(const String& sSource);
                DOTNETDUPE_API virtual ~StringReader() = default;

                DOTNETDUPE_API void Close() override;
                DOTNETDUPE_API void Dispose() override;
                DOTNETDUPE_API int Peek() override;
                DOTNETDUPE_API int Read() override;
                DOTNETDUPE_API int Read(char* pBuffer, int iIndex, int nCount) override;
                DOTNETDUPE_API String ReadLine() override;
                DOTNETDUPE_API String ReadToEnd() override;

            private:
                String m_sSource;
                int m_iPos;
                int m_nLength;
            };
        }
    }
}

Generated by OpenCppCoverage (Version: 0.9.9.0)