//////////////////////////////////////////////////////////////////////// // Copyright (c) Nehmulos 2011-2014 // This file is part of N0 Strain Serialization Library. // // N0Strain-Serialization-Library is free software: you can redistribute it and/or modify // it under the terms of the GNU Lesser General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // N0Strain-Serialization-Library is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU Lesser General Public License for more details. // // You should have received a copy of the GNU Lesser General Public License // along with N0Strain-Serialization-Library. If not, see https://gnu.org/licenses/lgpl-3.0 //////////////////////////////////////////////////////////////////////// #ifndef XMLWRITER_H_ #define XMLWRITER_H_ #include "MarkupWriter.h" #include namespace nw { class XmlWriter : public MarkupWriter { public: XmlWriter(std::ostream& output); XmlWriter(const String filepath); virtual ~XmlWriter(); /// Adds a New Tag with the ArrayName and prepares enterNextElement with elementsName and size void describeArray(const String arrayName, const String elementsName, unsigned int size); /// Creates a new Tag with elementsName on each call, returns true if it was often called than size bool enterNextElement(unsigned int iterator); protected: void writeToOutput(); }; } // namespace nw #endif /* XMLWRITER_H_ */