本文整理汇总了C++中Writer::Key方法的典型用法代码示例。如果您正苦于以下问题:C++ Writer::Key方法的具体用法?C++ Writer::Key怎么用?C++ Writer::Key使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Writer
的用法示例。
在下文中一共展示了Writer::Key方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: SerializeMatch
void SerializeMatch(Writer &writer, const Match &match) {
writer.StartObject();
writer.Key("startEA");
writer.Uint(match.getStartEA().getValue());
writer.Key("endEA");
writer.Uint(match.getEndEA().getValue());
writer.Key("patternName");
writer.String(match.getPatternName());
writer.EndObject();
}
示例2: stringify
void stringify(Writer& writer, const Function<T>& f) {
writer.StartObject();
writer.Key("base");
writer.Double(f.getBase());
writer.Key("stops");
writer.StartArray();
for (const auto& stop : f.getStops()) {
writer.StartArray();
writer.Double(stop.first);
stringify(writer, stop.second);
writer.EndArray();
}
writer.EndArray();
writer.EndObject();
}
示例3: write_object
static void write_object(Writer<StringBuffer>& writer, object_t* object) {
switch (object->type) {
case type_nil: writer.Null(); break;
case type_bool: writer.Bool(object->b); break;
case type_double: writer.Double(object->d); break;
case type_int: writer.Int64(object->i); break;
case type_uint: writer.Uint64(object->u); break;
case type_str: writer.String(object->str, object->l); break;
case type_array:
writer.StartArray();
for (size_t i = 0; i < object->l; ++i)
write_object(writer, object->children + i);
writer.EndArray();
break;
case type_map:
writer.StartObject();
for (size_t i = 0; i < object->l; ++i) {
writer.Key(object->children[i * 2].str, object->children[i * 2].l);
write_object(writer, object->children + i * 2 + 1);
}
writer.EndObject();
break;
default:
assert(0);
break;
}
}
示例4: serialize
void serialize(Writer& writer) override {
writer.StartObject();
auto samples = ::StackSampler::results(sample_size_);
auto total = ::StackSampler::samples_total();
auto asleep = ::StackSampler::samples_asleep();
writer.Key("active");
double active = total / (double)(total+asleep) * 100.0;
writer.Double(active);
writer.Key("asleep");
double asleep_perc = asleep / (double)(total+asleep) * 100.0;
writer.Double(asleep_perc);
writer.Key("samples");
writer.StartArray();
for (auto& sa : samples)
{
writer.StartObject();
writer.Key("address");
writer.Uint((uintptr_t)sa.addr);
writer.Key("name");
writer.String(sa.name);
writer.Key("total");
writer.Uint(sa.samp);
// percentage of total samples
float perc = sa.samp / (float)total * 100.0f;
writer.Key("percent");
writer.Double(perc);
writer.EndObject();
}
writer.EndArray();
writer.EndObject();
}
示例5: SerializeMatchPersistence
void SerializeMatchPersistence(Writer &writer, const MatchPersistence &matchPersistence) {
writer.StartObject();
writer.Key("executableName");
writer.String(matchPersistence.getExectuableName());
writer.Key("matcherName");
writer.String(matchPersistence.getMatcherName());
writer.Key("executableArchitecture");
writer.String(matchPersistence.getExecutableArchitecture());
writer.Key("realTime");
writer.Double(matchPersistence.getRealTime());
writer.Key("cpuTime");
writer.Double(matchPersistence.getCpuTime());
writer.Key("matches");
writer.StartArray();
for (auto &match : matchPersistence.getMatches()) {
SerializeMatch(writer,*match);
}
writer.EndArray();
writer.EndObject();
}