13class CerealDocumentUpgrader {
16 enum class ParseAndUpgradeResult :
int {
18 SuccessWithChanges = 1,
19 SuccessWithoutChanges = 2,
31 CerealDocumentUpgrader& operator=(CerealDocumentUpgrader
const&);
32 CerealDocumentUpgrader(CerealDocumentUpgrader
const&);
33 CerealDocumentUpgrader();
43 ::std::string
const& json,
45 ::rapidjson::GenericDocument<
46 ::rapidjson::UTF8<char>,
47 ::rapidjson::MemoryPoolAllocator<::rapidjson::CrtAllocator>,
48 ::rapidjson::CrtAllocator>& document,
50 bool allowMissingVersionAsZero,
51 ::std::optional<::SemVersion>
const& minVersion,
52 ::std::function<
bool(
::SemVersion const&)>
const& shouldUpgrade
60 ::rapidjson::GenericDocument<
61 ::rapidjson::UTF8<char>,
62 ::rapidjson::MemoryPoolAllocator<::rapidjson::CrtAllocator>,
63 ::rapidjson::CrtAllocator>& document,
65 ::std::optional<::SemVersion>
const& minVersion,
66 ::std::function<
bool(
::SemVersion const&)>
const& shouldUpgrade
76 ::rapidjson::GenericDocument<
77 ::rapidjson::UTF8<char>,
78 ::rapidjson::MemoryPoolAllocator<::rapidjson::CrtAllocator>,
79 ::rapidjson::CrtAllocator>
const& document
MCAPI::CerealDocumentUpgrader::ParseAndUpgradeResult parseJsonAndUpgrade(::std::string const &json, ::SemVersion &outDocumentVersion, ::rapidjson::GenericDocument< ::rapidjson::UTF8< char >, ::rapidjson::MemoryPoolAllocator<::rapidjson::CrtAllocator >, ::rapidjson::CrtAllocator > &document, ::Core::Path const &resourceName, bool allowMissingVersionAsZero, ::std::optional<::SemVersion > const &minVersion, ::std::function< bool(::SemVersion const &)> const &shouldUpgrade) const
MCAPI bool upgradeJson(::std::string &json, ::SemVersion &outDocumentVersion, ::rapidjson::GenericDocument< ::rapidjson::UTF8< char >, ::rapidjson::MemoryPoolAllocator<::rapidjson::CrtAllocator >, ::rapidjson::CrtAllocator > &document, ::Core::Path const &resourceName, ::std::optional<::SemVersion > const &minVersion, ::std::function< bool(::SemVersion const &)> const &shouldUpgrade) const