MCPcopy Create free account
hub / github.com/OpenFodder/openfodder / operator[]

Method operator[]

Source/Utils/json.hpp:11345–11370  ·  view source on GitHub ↗

! @brief access to successor @pre The iterator is initialized; i.e. `m_object != nullptr`. */

Source from the content-addressed store, hash-verified

11343 @pre The iterator is initialized; i.e. `m_object != nullptr`.
11344 */
11345 reference operator[](difference_type n) const
11346 {
11347 JSON_ASSERT(m_object != nullptr);
11348
11349 switch (m_object->m_type)
11350 {
11351 case value_t::object:
11352 JSON_THROW(invalid_iterator::create(208, "cannot use operator[] for object iterators"));
11353
11354 case value_t::array:
11355 return *std::next(m_it.array_iterator, n);
11356
11357 case value_t::null:
11358 JSON_THROW(invalid_iterator::create(214, "cannot get value"));
11359
11360 default:
11361 {
11362 if (JSON_HEDLEY_LIKELY(m_it.primitive_iterator.get_value() == -n))
11363 {
11364 return *m_object;
11365 }
11366
11367 JSON_THROW(invalid_iterator::create(214, "cannot get value"));
11368 }
11369 }
11370 }
11371
11372 /*!
11373 @brief return the key of an object iterator

Callers 7

keyMethod · 0.45
keyMethod · 0.45
json.hppFile · 0.45
containsFunction · 0.45
flattenFunction · 0.45
operator[]Function · 0.45
updateFunction · 0.45

Calls 2

createFunction · 0.85
get_valueMethod · 0.80

Tested by

no test coverage detected