> On Sept. 23, 2017, 7:14 a.m., Chun-Hung Hsiao wrote: > > 3rdparty/stout/include/stout/protobuf.hpp > > Line 607 (original), 640 (patched) > > <https://reviews.apache.org/r/59987/diff/2/?file=1768786#file1768786line640> > > > > How about a partial specialization for `google::protobuf::Map`? > > Qian Zhang wrote: > Why do we need to do that? What do we want to achieve with such a partial > specialization? > > Chun-Hung Hsiao wrote: > For providing the `parse<google::protobuf::Map<K, V>>(const JSON::Value& > value)` function. Say if we want to create a protobuf message `m` that > contains a `map<string, string> map_field`, we cannot just do > `m.mutable_map_field()->CopyFrom(parse<google::protobuf::RepeatedPtrField<...>(json))`. > Instead we probably need something like > `m.mutable_map_field()->swap(parse<google::protobuf::Map(json))`. > > Chun-Hung Hsiao wrote: > Oh we probably cannot just apply `swap` on an r-value. But you know want > I mean ;)
So you mean just like the partial specialization for `google::protobuf::RepeatedPtrField`: ``` template <typename T> struct Parse<google::protobuf::RepeatedPtrField<T>> ``` We can add a partial specialization for `google::protobuf::Map`, right? I see there are a lot of places in our code to call the partial specialization for `google::protobuf::RepeatedPtrField`, but I am not sure if we have a need to call the partial specialization for `google::protobuf::Map` in our code. - Qian ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/59987/#review186031 ----------------------------------------------------------- On July 4, 2017, 10:43 a.m., Qian Zhang wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviews.apache.org/r/59987/ > ----------------------------------------------------------- > > (Updated July 4, 2017, 10:43 a.m.) > > > Review request for mesos, Anand Mazumdar and Zhitao Li. > > > Bugs: MESOS-7656 > https://issues.apache.org/jira/browse/MESOS-7656 > > > Repository: mesos > > > Description > ------- > > Map is a feature of proto2 syntax, but it can only be compiled > with proto3 compiler, see the following discussion for details: > https://groups.google.com/forum/#!topic/protobuf/p4WxcplrlA4 > We have already upgraded the compiler from 2.6.1 to 3.3.0 in > MESOS-7228, however, to use protobuf map in Mesos code, we also > need to add the protobuf map support to the code in Mesos for > converting protobuf message to JSON object and parsing JSON > object as protobuf message, that is what I have done in this patch. > > > Diffs > ----- > > 3rdparty/stout/include/stout/protobuf.hpp > 15690b66cc4ae0c1bf2c2176d73c385ca75d3c20 > > > Diff: https://reviews.apache.org/r/59987/diff/2/ > > > Testing > ------- > > > Thanks, > > Qian Zhang > >