Pushed to Release_3.1 and grafted the fix to default. On Fri, Aug 2, 2019 at 2:49 AM Nomis101 🐝 <[email protected]> wrote:
> This is cherry-picked from "Update json11 to v1.0.0 release" and just > fixes Issue #373. I checked that it builds on macOS Mojave with hdr10plus > enabled. > Find patch attached. > > > > > > > # HG changeset patch > # User Nomis101 <[email protected]> > # Date 1564692921 -7200 > # Do Aug 01 22:55:21 2019 +0200 > # Node ID 28e4787b2a438200da0ff38d4d171d14fb6b82fc > # Parent 459d3822c608948d9c15322b770f7f9b7e2a233e > fix Issue #373 > > diff -r 459d3822c608 -r 28e4787b2a43 source/dynamicHDR10/json11/json11.cpp > --- a/source/dynamicHDR10/json11/json11.cpp Fr Jul 26 10:53:09 2019 > +0530 > +++ b/source/dynamicHDR10/json11/json11.cpp Do Aug 01 22:55:21 2019 > +0200 > @@ -38,21 +38,30 @@ static const int max_depth = 200; > > using std::string; > using std::vector; > using std::map; > using std::make_shared; > using std::initializer_list; > using std::move; > > + /* Helper for representing null - just a do-nothing struct, plus > comparison > + * operators so the helpers in JsonValue work. We can't use nullptr_t > because > + * it may not be orderable. > + */ > + struct NullStruct { > + bool operator==(NullStruct) const { return true; } > + bool operator<(NullStruct) const { return false; } > + }; > + > /* * * * * * * * * * * * * * * * * * * * > * Serialization > */ > > -static void dump(std::nullptr_t, string &out) { > +static void dump(NullStruct, string &out) { > out += "null"; > } > > static void dump(double value, string &out) { > if (std::isfinite(value)) { > char buf[32]; > snprintf(buf, sizeof buf, "%.17g", value); > out += buf; > @@ -209,19 +218,19 @@ public: > class JsonObject final : public Value<Json::OBJECT, Json::object> { > const Json::object &object_items() const override { return m_value; } > const Json & operator[](const string &key) const override; > public: > explicit JsonObject(const Json::object &value) : Value(value) {} > explicit JsonObject(Json::object &&value) : Value(move(value)) {} > }; > > -class JsonNull final : public Value<Json::NUL, std::nullptr_t> { > +class JsonNull final : public Value<Json::NUL, NullStruct> { > public: > - JsonNull() : Value(nullptr) {} > + JsonNull() : Value({}) {} > }; > > /* * * * * * * * * * * * * * * * * * * * > * Static globals - static-init-safe > */ > struct Statics { > const std::shared_ptr<JsonValue> null = make_shared<JsonNull>(); > const std::shared_ptr<JsonValue> t = make_shared<JsonBoolean>(true); > > _______________________________________________ > x265-devel mailing list > [email protected] > https://mailman.videolan.org/listinfo/x265-devel > -- Regards, Aruna
_______________________________________________ x265-devel mailing list [email protected] https://mailman.videolan.org/listinfo/x265-devel
