| 451 | push_node(true); |
| 452 | } |
| 453 | void ArrayEnd() { |
| 454 | assert(get_top().is_array == true && "cannot call ArrayEnd while inside an Object"); |
| 455 | object_stack.pop(); |
| 456 | assert(get_top().indents >= 0 && "indents cannot go below zero"); |
| 457 | switch (output_type) { |
| 458 | case (OutputType::text): |
| 459 | break; |
| 460 | case (OutputType::html): |
| 461 | out << std::string(static_cast<size_t>(get_top().indents), '\t') << "</details>\n"; |
| 462 | break; |
| 463 | case (OutputType::json): |
| 464 | case (OutputType::vkconfig_output): |
| 465 | out << "\n" << std::string(static_cast<size_t>(get_top().indents), '\t') << "]"; |
| 466 | break; |
| 467 | default: |
| 468 | break; |
| 469 | } |
| 470 | } |
| 471 | |
| 472 | // For printing key-value pairs. |
| 473 | // value_description is for reference information and is displayed inside parenthesis after the value |