| 3244 | } |
| 3245 | |
| 3246 | void FastWriter::writeValue(const Value &value) { |
| 3247 | switch (value.type()) { |
| 3248 | case nullValue: |
| 3249 | if (!dropNullPlaceholders_) |
| 3250 | document_ += "null"; |
| 3251 | break; |
| 3252 | case intValue: |
| 3253 | document_ += valueToString(value.asLargestInt()); |
| 3254 | break; |
| 3255 | case uintValue: |
| 3256 | document_ += valueToString(value.asLargestUInt()); |
| 3257 | break; |
| 3258 | case realValue: |
| 3259 | document_ += valueToString(value.asDouble()); |
| 3260 | break; |
| 3261 | case stringValue: |
| 3262 | document_ += valueToQuotedString(value.asCString()); |
| 3263 | break; |
| 3264 | case booleanValue: |
| 3265 | document_ += valueToString(value.asBool()); |
| 3266 | break; |
| 3267 | case arrayValue: { |
| 3268 | document_ += "["; |
| 3269 | int size = value.size(); |
| 3270 | for (int index = 0; index < size; ++index) { |
| 3271 | if (index > 0) |
| 3272 | document_ += ","; |
| 3273 | writeValue(value[index]); |
| 3274 | } |
| 3275 | document_ += "]"; |
| 3276 | } break; |
| 3277 | case objectValue: { |
| 3278 | Value::Members members(value.getMemberNames()); |
| 3279 | document_ += "{"; |
| 3280 | for (Value::Members::iterator it = members.begin(); it != members.end(); |
| 3281 | ++it) { |
| 3282 | const std::string &name = *it; |
| 3283 | if (it != members.begin()) |
| 3284 | document_ += ","; |
| 3285 | document_ += valueToQuotedString(name.c_str()); |
| 3286 | document_ += yamlCompatiblityEnabled_ ? ": " : ":"; |
| 3287 | writeValue(value[name]); |
| 3288 | } |
| 3289 | document_ += "}"; |
| 3290 | } break; |
| 3291 | } |
| 3292 | } |
| 3293 | |
| 3294 | // Class StyledWriter |
| 3295 | // ////////////////////////////////////////////////////////////////// |
nothing calls this directly
no test coverage detected