Lines Matching refs:back

233         if (JSON_HEDLEY_UNLIKELY(len != static_cast<std::size_t>(-1) && len > ref_stack.back()->max_size()))
235 JSON_THROW(out_of_range::create(408, concat("excessive object size: ", std::to_string(len)), ref_stack.back()));
244 JSON_ASSERT(ref_stack.back()->is_object());
247 object_element = &(ref_stack.back()->m_value.object->operator[](val));
254 JSON_ASSERT(ref_stack.back()->is_object());
256 ref_stack.back()->set_parents();
265 if (JSON_HEDLEY_UNLIKELY(len != static_cast<std::size_t>(-1) && len > ref_stack.back()->max_size()))
267 JSON_THROW(out_of_range::create(408, concat("excessive array size: ", std::to_string(len)), ref_stack.back()));
276 JSON_ASSERT(ref_stack.back()->is_array());
278 ref_stack.back()->set_parents();
318 JSON_ASSERT(ref_stack.back()->is_array() || ref_stack.back()->is_object());
320 if (ref_stack.back()->is_array())
322 ref_stack.back()->m_value.array->emplace_back(std::forward<Value>(v));
323 return &(ref_stack.back()->m_value.array->back());
326 JSON_ASSERT(ref_stack.back()->is_object());
423 if (ref_stack.back() && JSON_HEDLEY_UNLIKELY(len != static_cast<std::size_t>(-1) && len > ref_stack.back()->max_size()))
425 JSON_THROW(out_of_range::create(408, concat("excessive object size: ", std::to_string(len)), ref_stack.back()));
440 if (keep && ref_stack.back())
442 object_element = &(ref_stack.back()->m_value.object->operator[](val) = discarded);
450 if (ref_stack.back())
452 if (!callback(static_cast<int>(ref_stack.size()) - 1, parse_event_t::object_end, *ref_stack.back()))
455 *ref_stack.back() = discarded;
459 ref_stack.back()->set_parents();
468 if (!ref_stack.empty() && ref_stack.back() && ref_stack.back()->is_structured())
471 for (auto it = ref_stack.back()->begin(); it != ref_stack.back()->end(); ++it)
475 ref_stack.back()->erase(it);
493 if (ref_stack.back() && JSON_HEDLEY_UNLIKELY(len != static_cast<std::size_t>(-1) && len > ref_stack.back()->max_size()))
495 JSON_THROW(out_of_range::create(408, concat("excessive array size: ", std::to_string(len)), ref_stack.back()));
505 if (ref_stack.back())
507 keep = callback(static_cast<int>(ref_stack.size()) - 1, parse_event_t::array_end, *ref_stack.back());
510 ref_stack.back()->set_parents();
515 *ref_stack.back() = discarded;
525 if (!keep && !ref_stack.empty() && ref_stack.back()->is_array())
527 ref_stack.back()->m_value.array->pop_back();
574 if (!keep_stack.back())
599 if (!ref_stack.back())
605 JSON_ASSERT(ref_stack.back()->is_array() || ref_stack.back()->is_object());
608 if (ref_stack.back()->is_array())
610 ref_stack.back()->m_value.array->emplace_back(std::move(value));
611 return {true, &(ref_stack.back()->m_value.array->back())};
615 JSON_ASSERT(ref_stack.back()->is_object());
618 const bool store_element = key_keep_stack.back();