| 205 | |
| 206 | |
| 207 | void |
| 208 | FastWriter::writeValue( const Value &value ) |
| 209 | { |
| 210 | switch ( value.type() ) |
| 211 | { |
| 212 | case nullValue: |
| 213 | document_ += "null"; |
| 214 | break; |
| 215 | case intValue: |
| 216 | document_ += valueToString( value.asInt() ); |
| 217 | break; |
| 218 | case uintValue: |
| 219 | document_ += valueToString( value.asUInt() ); |
| 220 | break; |
| 221 | case realValue: |
| 222 | document_ += valueToString( value.asDouble() ); |
| 223 | break; |
| 224 | case stringValue: |
| 225 | document_ += valueToQuotedString( value.asCString() ); |
| 226 | break; |
| 227 | case booleanValue: |
| 228 | document_ += valueToString( value.asBool() ); |
| 229 | break; |
| 230 | case arrayValue: |
| 231 | { |
| 232 | document_ += "["; |
| 233 | int size = value.size(); |
| 234 | for ( int index =0; index < size; ++index ) |
| 235 | { |
| 236 | if ( index > 0 ) |
| 237 | document_ += ","; |
| 238 | writeValue( value[index] ); |
| 239 | } |
| 240 | document_ += "]"; |
| 241 | } |
| 242 | break; |
| 243 | case objectValue: |
| 244 | { |
| 245 | Value::Members members( value.getMemberNames() ); |
| 246 | document_ += "{"; |
| 247 | for ( Value::Members::iterator it = members.begin(); |
| 248 | it != members.end(); |
| 249 | ++it ) |
| 250 | { |
| 251 | const std::string &name = *it; |
| 252 | if ( it != members.begin() ) |
| 253 | document_ += ","; |
| 254 | document_ += valueToQuotedString( name.c_str() ); |
| 255 | document_ += yamlCompatiblityEnabled_ ? ": " |
| 256 | : ":"; |
| 257 | writeValue( value[name] ); |
| 258 | } |
| 259 | document_ += "}"; |
| 260 | } |
| 261 | break; |
| 262 | } |
| 263 | } |
| 264 |
nothing calls this directly
no test coverage detected