! @brief returns the maximum possible number of elements Returns the maximum number of elements a JSON value is able to hold due to system or library implementation limitations, i.e. `std::distance(begin(), end())` for the JSON value. @return The return value depends on the different types and is defined as follows: Value type | return value
| 4758 | @since version 1.0.0 |
| 4759 | */ |
| 4760 | size_type max_size() const noexcept |
| 4761 | { |
| 4762 | switch (m_type) |
| 4763 | { |
| 4764 | case value_t::array: |
| 4765 | { |
| 4766 | // delegate call to array_t::max_size() |
| 4767 | return m_value.array->max_size(); |
| 4768 | } |
| 4769 | |
| 4770 | case value_t::object: |
| 4771 | { |
| 4772 | // delegate call to object_t::max_size() |
| 4773 | return m_value.object->max_size(); |
| 4774 | } |
| 4775 | |
| 4776 | default: |
| 4777 | { |
| 4778 | // all other types have max_size() == size() |
| 4779 | return size(); |
| 4780 | } |
| 4781 | } |
| 4782 | } |
| 4783 | |
| 4784 | /// @} |
| 4785 |