MCPcopy Create free account
hub / github.com/CalcProgrammer1/OpenRGB / push_back

Function push_back

dependencies/json/json.hpp:21796–21815  ·  view source on GitHub ↗

! @brief add an object to an array Appends the given element @a val to the end of the JSON value. If the function is called on a JSON null value, an empty array is created before appending @a val. @param[in] val the value to add to the JSON array @throw type_error.308 when called on a type other than JSON array or null; example: `"cannot use push_back() with number"`

Source from the content-addressed store, hash-verified

21794 @since version 1.0.0
21795 */
21796 void push_back(basic_json&& val)
21797 {
21798 // push_back only works for null objects or arrays
21799 if (JSON_HEDLEY_UNLIKELY(!(is_null() || is_array())))
21800 {
21801 JSON_THROW(type_error::create(308, "cannot use push_back() with " + std::string(type_name())));
21802 }
21803
21804 // transform null object into an array
21805 if (is_null())
21806 {
21807 m_type = value_t::array;
21808 m_value = value_t::array;
21809 assert_invariant();
21810 }
21811
21812 // add element to array (move semantics)
21813 m_value.array->push_back(std::move(val));
21814 // if val is moved from, basic_json move constructor marks it null so we do not call the destructor
21815 }
21816
21817 /*!
21818 @brief add an object to an array

Callers 3

json_pointerClass · 0.70
insertMethod · 0.70
operator+=Function · 0.70

Calls 11

is_nullFunction · 0.70
is_arrayFunction · 0.70
createFunction · 0.70
type_nameFunction · 0.70
is_objectFunction · 0.70
basic_jsonFunction · 0.70
push_backMethod · 0.45
insertMethod · 0.45
sizeMethod · 0.45
beginMethod · 0.45
moved_or_copiedMethod · 0.45

Tested by

no test coverage detected