MCPcopy Create free account
hub / github.com/Tiiny-AI/PowerInfer / operator->

Function operator->

examples/server/json.hpp:13110–13146  ·  view source on GitHub ↗

! @brief dereference the iterator @pre The iterator is initialized; i.e. `m_object != nullptr`. */

Source from the content-addressed store, hash-verified

13108 @pre The iterator is initialized; i.e. `m_object != nullptr`.
13109 */
13110 pointer operator->() const
13111 {
13112 JSON_ASSERT(m_object != nullptr);
13113
13114 switch (m_object->m_type)
13115 {
13116 case value_t::object:
13117 {
13118 JSON_ASSERT(m_it.object_iterator != m_object->m_value.object->end());
13119 return &(m_it.object_iterator->second);
13120 }
13121
13122 case value_t::array:
13123 {
13124 JSON_ASSERT(m_it.array_iterator != m_object->m_value.array->end());
13125 return &*m_it.array_iterator;
13126 }
13127
13128 case value_t::null:
13129 case value_t::string:
13130 case value_t::boolean:
13131 case value_t::number_integer:
13132 case value_t::number_unsigned:
13133 case value_t::number_float:
13134 case value_t::binary:
13135 case value_t::discarded:
13136 default:
13137 {
13138 if (JSON_HEDLEY_LIKELY(m_it.primitive_iterator.is_begin()))
13139 {
13140 return m_object;
13141 }
13142
13143 JSON_THROW(invalid_iterator::create(214, "cannot get value", m_object));
13144 }
13145 }
13146 }
13147
13148 /*!
13149 @brief post-increment (it++)

Callers

nothing calls this directly

Calls 3

createFunction · 0.85
is_beginMethod · 0.80
endMethod · 0.45

Tested by

no test coverage detected