#pragma once #include #include class Diff { public: Diff(); Diff(const std::string& old_version, const std::string& new_version); std::string apply(const std::string& old_version) const; void create(const std::string& old_version, const std::string& new_version); boost::property_tree::ptree get_structure() const; std::string get_xml() const; private: // diff replaces space from m_pos0 (inclusive) to m_pos1 (exclusive) with m_data size_t m_pos0{}; size_t m_pos1{}; std::string m_data; };