Home | History | Annotate | Download | only in vkjson

Lines Matching full:json_value

478 bool AsValue(cJSON* json_value, T* t);
480 inline bool AsValue(cJSON* json_value, int32_t* value) {
481 double d = json_value->valuedouble;
482 if (json_value->type != cJSON_Number || !IsIntegral(d) ||
490 inline bool AsValue(cJSON* json_value, uint64_t* value) {
491 if (json_value->type != cJSON_String)
493 int result = std::sscanf(json_value->valuestring, "0x%016" PRIx64, value);
497 inline bool AsValue(cJSON* json_value, uint32_t* value) {
498 double d = json_value->valuedouble;
499 if (json_value->type != cJSON_Number || !IsIntegral(d) ||
506 inline bool AsValue(cJSON* json_value, uint8_t* value) {
508 AsValue(json_value, &value32);
515 inline bool AsValue(cJSON* json_value, float* value) {
516 if (json_value->type != cJSON_Number)
518 *value = static_cast<float>(json_value->valuedouble);
523 inline bool AsArray(cJSON* json_value, uint32_t count, T* values) {
524 if (json_value->type != cJSON_Array ||
525 cJSON_GetArraySize(json_value) != count)
528 if (!AsValue(cJSON_GetArrayItem(json_value, i), values + i))
535 inline bool AsValue(cJSON* json_value, T (*value)[N]) {
536 return AsArray(json_value, N, *value);
540 inline bool AsValue(cJSON* json_value, char (*value)[N]) {
541 if (json_value->type != cJSON_String)
543 size_t len = strlen(json_value->valuestring);
546 memcpy(*value, json_value->valuestring, len);
552 inline bool AsValue(cJSON* json_value, T* t) {
555 if (!AsValue(json_value, &value))
564 inline bool AsValue(cJSON* json_value, std::vector<T>* value) {
565 if (json_value->type != cJSON_Array)
567 int size = cJSON_GetArraySize(json_value);
569 return AsArray(json_value, size, value->data());
573 inline bool AsValue(cJSON* json_value, std::pair<F, S>* value) {
574 if (json_value->type != cJSON_Array || cJSON_GetArraySize(json_value) != 2)
576 return AsValue(cJSON_GetArrayItem(json_value, 0), &value->first) &&
577 AsValue(cJSON_GetArrayItem(json_value, 1), &value->second);
581 inline bool AsValue(cJSON* json_value, std::map<F, S>* value) {
582 if (json_value->type != cJSON_Array)
584 int size = cJSON_GetArraySize(json_value);
587 if (!AsValue(cJSON_GetArrayItem(json_value, i), &elem))
598 cJSON* json_value = cJSON_GetObjectItem(object, key);
599 if (!json_value) {
604 if (AsValue(json_value, value))
629 cJSON* json_value = cJSON_GetObjectItem(object_, key);
630 if (!json_value) {
635 if (AsArray(json_value, count, *value))
649 bool AsValue(cJSON* json_value, T* t) {
650 if (json_value->type != cJSON_Object)
652 JsonReaderVisitor visitor(json_value, nullptr);