#pragma once #include "Parsing/IParserLineStream.h" #include "SearchPath/ISearchPath.h" #include "SearchPath/SearchPathMultiInputStream.h" #include "StructuredDataDef/CommonStructuredDataDef.h" #include #include #include class StructuredDataDefReader : public SearchPathMultiInputStream { public: StructuredDataDefReader(std::istream& stream, std::string fileName, ISearchPath& searchPath); std::vector> ReadStructureDataDefs(bool& success); private: bool OpenBaseStream(std::istream& stream); void SetupStreamProxies(); std::string m_file_name; IParserLineStream* m_stream; std::vector> m_open_streams; };