コード例 #1
0
ファイル: stringify.hpp プロジェクト: eden57/mapbox-gl-native
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
0
ファイル: stringify.hpp プロジェクト: eden57/mapbox-gl-native
void stringify(Writer& writer, const std::vector<T>& v) {
    writer.StartArray();
    for (const auto& e : v) {
        stringify(writer, e);
    }
    writer.EndArray();
}
コード例 #3
0
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
0
ファイル: stringify.hpp プロジェクト: eden57/mapbox-gl-native
void stringify(Writer& writer, const std::array<float, 4>& v) {
    writer.StartArray();
    writer.Double(v[0]);
    writer.Double(v[1]);
    writer.Double(v[2]);
    writer.Double(v[3]);
    writer.EndArray();
}
コード例 #5
0
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();

}
コード例 #6
0
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();
}
コード例 #7
0
ファイル: MockServerHandler.cpp プロジェクト: kuntenz/opflex
 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();
     }
コード例 #8
0
ファイル: serialize.cpp プロジェクト: ALfuhrmann/glTF
	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();
	}
コード例 #9
0
ファイル: stacksampler.hpp プロジェクト: AnnikaH/IncludeOS
  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();
  }
コード例 #10
0
    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();
    }
コード例 #11
0
/* 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;
}