| 290 | } |
| 291 | |
| 292 | void TJsonValue::Clear() noexcept { |
| 293 | switch (Type) { |
| 294 | case JSON_STRING: |
| 295 | Value.String.~TString(); |
| 296 | break; |
| 297 | case JSON_MAP: |
| 298 | delete Value.Map; |
| 299 | break; |
| 300 | case JSON_ARRAY: |
| 301 | delete Value.Array; |
| 302 | break; |
| 303 | case JSON_UNDEFINED: |
| 304 | case JSON_NULL: |
| 305 | case JSON_BOOLEAN: |
| 306 | case JSON_INTEGER: |
| 307 | case JSON_UINTEGER: |
| 308 | case JSON_DOUBLE: |
| 309 | break; |
| 310 | } |
| 311 | Zero(Value); |
| 312 | Type = JSON_UNDEFINED; |
| 313 | } |
| 314 | |
| 315 | TJsonValue& TJsonValue::operator[](const size_t idx) { |
| 316 | SetType(JSON_ARRAY); |