本文整理汇总了C++中Writer::EndArray方法的典型用法代码示例。如果您正苦于以下问题:C++ Writer::EndArray方法的具体用法?C++ Writer::EndArray怎么用?C++ Writer::EndArray使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Writer
的用法示例。
在下文中一共展示了Writer::EndArray方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: 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();
}
示例2: 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;
}
}
示例3: Serialize
void DrawersBotString::Serialize(Writer &writer) const {
writer.StartObject();
writer.String("botStringElements");
writer.StartArray();
for (std::list<BotStringElement>::const_iterator dependentItr = botStringElements.begin();
dependentItr != botStringElements.end(); ++dependentItr)
dependentItr->Serialize(writer);
writer.EndArray();
writer.EndObject();
}
示例4: serialize
void HostList::serialize(Writer& w) {
w.StartObject();
w.String("HOSTS");
w.StartArray();
pthread_mutex_lock(&mutexHosts);
for (HostVector::iterator it = hosts.begin(); it != hosts.end(); it++) {
w.String(it->c_str());
}
pthread_mutex_unlock(&mutexHosts);
w.EndArray();
w.EndObject();
}
示例5: operator
bool operator()(Writer<T> & writer) {
writer.StartObject();
writer.String("name");
writer.String(name.c_str());
writer.String("domain");
writer.String(domain.c_str());
if (your_location) {
writer.String("your_location");
writer.String(your_location.get().c_str());
}
writer.String("my_role");
writer.StartArray();
if (roles & OFConstants::POLICY_ELEMENT)
writer.String("policy_element");
if (roles & OFConstants::POLICY_REPOSITORY)
writer.String("policy_repository");
if (roles & OFConstants::ENDPOINT_REGISTRY)
writer.String("endpoint_registry");
if (roles & OFConstants::OBSERVER)
writer.String("observer");
writer.EndArray();
writer.String("peers");
writer.StartArray();
BOOST_FOREACH(const MockOpflexServer::peer_t& peer, peers) {
writer.StartObject();
writer.String("role");
writer.StartArray();
if (peer.first & OFConstants::POLICY_ELEMENT)
writer.String("policy_element");
if (peer.first & OFConstants::POLICY_REPOSITORY)
writer.String("policy_repository");
if (peer.first & OFConstants::ENDPOINT_REGISTRY)
writer.String("endpoint_registry");
if (peer.first & OFConstants::OBSERVER)
writer.String("observer");
writer.EndArray();
writer.String("connectivity_info");
writer.String(peer.second.c_str());
writer.EndObject();
}
示例6: Serialize
void Serialize(Writer& writer) const {
writer.StartObject();
Person::Serialize(writer);
writer.String("married");
writer.Bool(married_);
writer.String(("dependents"));
writer.StartArray();
for (std::vector<Dependent>::const_iterator dependentItr = dependents_.begin(); dependentItr != dependents_.end(); ++dependentItr)
dependentItr->Serialize(writer);
writer.EndArray();
writer.EndObject();
}
示例7: 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();
}
示例8: 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();
}
示例9:
/* Writes out an array end using rapidJSON functions */
extern "C" int tm_json_write_array_end (tm_json_w_handler_t wh) {
Writer<StringBuffer>* w = static_cast<Writer<StringBuffer>*>(wh.writer);
w->EndArray();
return 0;
}