Lines Matching refs:m_value

80 @invariant The member variables @a m_value and @a m_type have the following
82 - If `m_type == value_t::object`, then `m_value.object != nullptr`.
83 - If `m_type == value_t::array`, then `m_value.array != nullptr`.
84 - If `m_type == value_t::string`, then `m_value.string != nullptr`.
586 std::move(current_item.m_value.array->begin(), current_item.m_value.array->end(), std::back_inserter(stack));
588 current_item.m_value.array->clear();
592 for (auto&& it : *current_item.m_value.object)
597 current_item.m_value.object->clear();
661 @a m_type and @a m_value.
674 JSON_ASSERT(m_type != value_t::object || m_value.object != nullptr);
675 JSON_ASSERT(m_type != value_t::array || m_value.array != nullptr);
676 JSON_ASSERT(m_type != value_t::string || m_value.string != nullptr);
677 JSON_ASSERT(m_type != value_t::binary || m_value.binary != nullptr);
700 for (auto& element : *m_value.array)
709 for (auto& element : *m_value.object)
750 if (JSON_HEDLEY_UNLIKELY(m_value.array->capacity() != old_capacity))
806 : m_type(v), m_value(v)
924 m_value = value_t::object;
929 m_value.object->emplace(
930 std::move(*((*element.m_value.array)[0].m_value.string)),
931 std::move((*element.m_value.array)[1]));
938 m_value.array = create<array_t>(init.begin(), init.end());
952 res.m_value = init;
963 res.m_value = binary_t(init, subtype);
974 res.m_value = std::move(init);
985 res.m_value = binary_t(std::move(init), subtype);
1010 m_value.array = create<array_t>(cnt, val);
1064 m_value.number_integer = first.m_object->m_value.number_integer;
1070 m_value.number_unsigned = first.m_object->m_value.number_unsigned;
1076 m_value.number_float = first.m_object->m_value.number_float;
1082 m_value.boolean = first.m_object->m_value.boolean;
1088 m_value = *first.m_object->m_value.string;
1094 m_value.object = create<object_t>(first.m_it.object_iterator,
1101 m_value.array = create<array_t>(first.m_it.array_iterator,
1108 m_value = *first.m_object->m_value.binary;
1144 m_value = *other.m_value.object;
1150 m_value = *other.m_value.array;
1156 m_value = *other.m_value.string;
1162 m_value = other.m_value.boolean;
1168 m_value = other.m_value.number_integer;
1174 m_value = other.m_value.number_unsigned;
1180 m_value = other.m_value.number_float;
1186 m_value = *other.m_value.binary;
1204 m_value(std::move(other.m_value))
1211 other.m_value = {};
1231 swap(m_value, other.m_value);
1243 m_value.destroy(m_type);
1396 return m_value.boolean;
1405 return is_object() ? m_value.object : nullptr;
1411 return is_object() ? m_value.object : nullptr;
1417 return is_array() ? m_value.array : nullptr;
1423 return is_array() ? m_value.array : nullptr;
1429 return is_string() ? m_value.string : nullptr;
1435 return is_string() ? m_value.string : nullptr;
1441 return is_boolean() ? &m_value.boolean : nullptr;
1447 return is_boolean() ? &m_value.boolean : nullptr;
1453 return is_number_integer() ? &m_value.number_integer : nullptr;
1459 return is_number_integer() ? &m_value.number_integer : nullptr;
1465 return is_number_unsigned() ? &m_value.number_unsigned : nullptr;
1471 return is_number_unsigned() ? &m_value.number_unsigned : nullptr;
1477 return is_number_float() ? &m_value.number_float : nullptr;
1483 return is_number_float() ? &m_value.number_float : nullptr;
1489 return is_binary() ? m_value.binary : nullptr;
1495 return is_binary() ? m_value.binary : nullptr;
1933 return set_parent(m_value.array->at(idx));
1956 return m_value.array->at(idx);
1980 auto it = m_value.object->find(key);
1981 if (it == m_value.object->end())
2000 auto it = m_value.object->find(std::forward<KeyType>(key));
2001 if (it == m_value.object->end())
2018 auto it = m_value.object->find(key);
2019 if (it == m_value.object->end())
2038 auto it = m_value.object->find(std::forward<KeyType>(key));
2039 if (it == m_value.object->end())
2054 m_value.array = create<array_t>();
2062 if (idx >= m_value.array->size())
2066 const auto old_size = m_value.array->size();
2067 const auto old_capacity = m_value.array->capacity();
2069 m_value.array->resize(idx + 1);
2072 if (JSON_HEDLEY_UNLIKELY(m_value.array->capacity() != old_capacity))
2086 return m_value.array->operator[](idx);
2099 return m_value.array->operator[](idx);
2113 m_value.object = create<object_t>();
2120 auto result = m_value.object->emplace(std::move(key), nullptr);
2134 auto it = m_value.object->find(key);
2135 JSON_ASSERT(it != m_value.object->end());
2166 m_value.object = create<object_t>();
2173 auto result = m_value.object->emplace(std::forward<KeyType>(key), nullptr);
2189 auto it = m_value.object->find(std::forward<KeyType>(key));
2190 JSON_ASSERT(it != m_value.object->end());
2444 std::allocator_traits<decltype(alloc)>::destroy(alloc, m_value.string);
2445 std::allocator_traits<decltype(alloc)>::deallocate(alloc, m_value.string, 1);
2446 m_value.string = nullptr;
2451 std::allocator_traits<decltype(alloc)>::destroy(alloc, m_value.binary);
2452 std::allocator_traits<decltype(alloc)>::deallocate(alloc, m_value.binary, 1);
2453 m_value.binary = nullptr;
2463 result.m_it.object_iterator = m_value.object->erase(pos.m_it.object_iterator);
2469 result.m_it.array_iterator = m_value.array->erase(pos.m_it.array_iterator);
2515 std::allocator_traits<decltype(alloc)>::destroy(alloc, m_value.string);
2516 std::allocator_traits<decltype(alloc)>::deallocate(alloc, m_value.string, 1);
2517 m_value.string = nullptr;
2522 std::allocator_traits<decltype(alloc)>::destroy(alloc, m_value.binary);
2523 std::allocator_traits<decltype(alloc)>::deallocate(alloc, m_value.binary, 1);
2524 m_value.binary = nullptr;
2534 result.m_it.object_iterator = m_value.object->erase(first.m_it.object_iterator,
2541 result.m_it.array_iterator = m_value.array->erase(first.m_it.array_iterator,
2566 return m_value.object->erase(std::forward<KeyType>(key));
2579 const auto it = m_value.object->find(std::forward<KeyType>(key));
2580 if (it != m_value.object->end())
2582 m_value.object->erase(it);
2620 m_value.array->erase(m_value.array->begin() + static_cast<difference_type>(idx));
2646 result.m_it.object_iterator = m_value.object->find(key);
2660 result.m_it.object_iterator = m_value.object->find(key);
2676 result.m_it.object_iterator = m_value.object->find(std::forward<KeyType>(key));
2692 result.m_it.object_iterator = m_value.object->find(std::forward<KeyType>(key));
2703 return is_object() ? m_value.object->count(key) : 0;
2713 return is_object() ? m_value.object->count(std::forward<KeyType>(key)) : 0;
2720 return is_object() && m_value.object->find(key) != m_value.object->end();
2729 return is_object() && m_value.object->find(std::forward<KeyType>(key)) != m_value.object->end();
2910 return m_value.array->empty();
2916 return m_value.object->empty();
2949 return m_value.array->size();
2955 return m_value.object->size();
2982 return m_value.array->max_size();
2988 return m_value.object->max_size();
3025 m_value.number_integer = 0;
3031 m_value.number_unsigned = 0;
3037 m_value.number_float = 0.0;
3043 m_value.boolean = false;
3049 m_value.string->clear();
3055 m_value.binary->clear();
3061 m_value.array->clear();
3067 m_value.object->clear();
3092 m_value = value_t::array;
3097 const auto old_capacity = m_value.array->capacity();
3098 m_value.array->push_back(std::move(val));
3099 set_parent(m_value.array->back(), old_capacity);
3125 m_value = value_t::array;
3130 const auto old_capacity = m_value.array->capacity();
3131 m_value.array->push_back(val);
3132 set_parent(m_value.array->back(), old_capacity);
3157 m_value = value_t::object;
3162 auto res = m_value.object->insert(val);
3213 m_value = value_t::array;
3218 const auto old_capacity = m_value.array->capacity();
3219 m_value.array->emplace_back(std::forward<Args>(args)...);
3220 return set_parent(m_value.array->back(), old_capacity);
3238 m_value = value_t::object;
3243 auto res = m_value.object->emplace(std::forward<Args>(args)...);
3261 JSON_ASSERT(m_value.array != nullptr);
3263 auto insert_pos = std::distance(m_value.array->begin(), pos.m_it.array_iterator);
3264 m_value.array->insert(pos.m_it.array_iterator, std::forward<Args>(args)...);
3265 result.m_it.array_iterator = m_value.array->begin() + insert_pos;
3268 // result.m_it.array_iterator = m_value.array->insert(pos.m_it.array_iterator, cnt, val);
3395 m_value.object->insert(first.m_it.object_iterator, last.m_it.object_iterator);
3413 m_value.object = create<object_t>();
3438 auto it2 = m_value.object->find(it.key());
3439 if (it2 != m_value.object->end())
3445 m_value.object->operator[](it.key()) = it.value();
3447 m_value.object->operator[](it.key()).m_parent = this;
3462 std::swap(m_value, other.m_value);
3489 swap(*(m_value.array), other);
3505 swap(*(m_value.object), other);
3521 swap(*(m_value.string), other);
3537 swap(*(m_value.binary), other);
3553 swap(*(m_value.binary), other);
3581 return (*lhs.m_value.array) op (*rhs.m_value.array); \
3584 return (*lhs.m_value.object) op (*rhs.m_value.object); \
3590 return (*lhs.m_value.string) op (*rhs.m_value.string); \
3593 return (lhs.m_value.boolean) op (rhs.m_value.boolean); \
3596 return (lhs.m_value.number_integer) op (rhs.m_value.number_integer); \
3599 return (lhs.m_value.number_unsigned) op (rhs.m_value.number_unsigned); \
3602 return (lhs.m_value.number_float) op (rhs.m_value.number_float); \
3605 return (*lhs.m_value.binary) op (*rhs.m_value.binary); \
3614 return static_cast<number_float_t>(lhs.m_value.number_integer) op rhs.m_value.number_float; \
3618 return lhs.m_value.number_float op static_cast<number_float_t>(rhs.m_value.number_integer); \
3622 return static_cast<number_float_t>(lhs.m_value.number_unsigned) op rhs.m_value.number_float; \
3626 return lhs.m_value.number_float op static_cast<number_float_t>(rhs.m_value.number_unsigned); \
3630 return static_cast<number_integer_t>(lhs.m_value.number_unsigned) op rhs.m_value.number_integer; \
3634 return lhs.m_value.number_integer op static_cast<number_integer_t>(rhs.m_value.number_unsigned); \
3651 if ((lhs.is_number_float() && std::isnan(lhs.m_value.number_float) && rhs.is_number())
3652 || (rhs.is_number_float() && std::isnan(rhs.m_value.number_float) && lhs.is_number()))
4187 json_value m_value = {};
4816 auto it = val.m_value.object->find(member);
4822 if (JSON_HEDLEY_UNLIKELY(it == val.m_value.object->end()))