! @brief returns the number of elements Returns the number of elements in a JSON value. @return The return value depends on the different types and is defined as follows: Value type | return value ----------- | ------------- null | `0` boolean | `1` string | `1
| 21491 | @since version 1.0.0 |
| 21492 | */ |
| 21493 | size_type size() const noexcept |
| 21494 | { |
| 21495 | switch (m_type) |
| 21496 | { |
| 21497 | case value_t::null: |
| 21498 | { |
| 21499 | // null values are empty |
| 21500 | return 0; |
| 21501 | } |
| 21502 | |
| 21503 | case value_t::array: |
| 21504 | { |
| 21505 | // delegate call to array_t::size() |
| 21506 | return m_value.array->size(); |
| 21507 | } |
| 21508 | |
| 21509 | case value_t::object: |
| 21510 | { |
| 21511 | // delegate call to object_t::size() |
| 21512 | return m_value.object->size(); |
| 21513 | } |
| 21514 | |
| 21515 | default: |
| 21516 | { |
| 21517 | // all other types have size 1 |
| 21518 | return 1; |
| 21519 | } |
| 21520 | } |
| 21521 | } |
| 21522 | |
| 21523 | /*! |
| 21524 | @brief returns the maximum possible number of elements |