MCPcopy Index your code
hub / github.com/Kitware/CMake / writeValue

Method writeValue

Utilities/cmjsoncpp/src/lib_json/json_writer.cpp:386–437  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

384}
385
386void FastWriter::writeValue(const Value& value) {
387 switch (value.type()) {
388 case nullValue:
389 if (!dropNullPlaceholders_)
390 document_ += "null";
391 break;
392 case intValue:
393 document_ += valueToString(value.asLargestInt());
394 break;
395 case uintValue:
396 document_ += valueToString(value.asLargestUInt());
397 break;
398 case realValue:
399 document_ += valueToString(value.asDouble());
400 break;
401 case stringValue: {
402 // Is NULL possible for value.string_? No.
403 char const* str;
404 char const* end;
405 bool ok = value.getString(&str, &end);
406 if (ok)
407 document_ += valueToQuotedStringN(str, static_cast<size_t>(end - str));
408 break;
409 }
410 case booleanValue:
411 document_ += valueToString(value.asBool());
412 break;
413 case arrayValue: {
414 document_ += '[';
415 ArrayIndex size = value.size();
416 for (ArrayIndex index = 0; index < size; ++index) {
417 if (index > 0)
418 document_ += ',';
419 writeValue(value[index]);
420 }
421 document_ += ']';
422 } break;
423 case objectValue: {
424 Value::Members members(value.getMemberNames());
425 document_ += '{';
426 for (auto it = members.begin(); it != members.end(); ++it) {
427 const String& name = *it;
428 if (it != members.begin())
429 document_ += ',';
430 document_ += valueToQuotedStringN(name.data(), name.length());
431 document_ += yamlCompatibilityEnabled_ ? ": " : ":";
432 writeValue(value[name]);
433 }
434 document_ += '}';
435 } break;
436 }
437}
438
439// Class StyledWriter
440// //////////////////////////////////////////////////////////////////

Callers

nothing calls this directly

Calls 15

valueToStringFunction · 0.85
valueToQuotedStringNFunction · 0.85
valueToQuotedStringFunction · 0.85
asLargestIntMethod · 0.80
asLargestUIntMethod · 0.80
asDoubleMethod · 0.80
getStringMethod · 0.80
asBoolMethod · 0.80
getMemberNamesMethod · 0.80
lengthMethod · 0.80
c_strMethod · 0.80
typeMethod · 0.45

Tested by

no test coverage detected