#pragma once

#include <istream>
#include <sstream>

namespace Base {

class Reader : public std::istream
{
public:
    Reader()
        : std::istream(nullptr)
    {}
};

class XMLReader
{
public:
    template<typename T>
    T getAttribute(const char*) const
    {
        return T {};
    }

    bool hasAttribute(const char*) const
    {
        return false;
    }

    void readElement(const char*) {}
    void readEndElement(const char*) {}
    void addFile(const char*, void*) {}

    std::istream& beginCharStream()
    {
        return stream;
    }

    int FileVersion = 1;

private:
    std::istringstream stream;
};

}  // namespace Base
