Add and use basic_json::data(size_type, const basic_json&)

This commit is contained in:
barcode 2023-01-03 23:18:16 +01:00
parent 4ef2292055
commit 1210c3e11b
2 changed files with 16 additions and 6 deletions

View File

@ -1016,10 +1016,9 @@ class basic_json // NOLINT(cppcoreguidelines-special-member-functions,hicpp-spec
/// @brief construct an array with count copies of given value /// @brief construct an array with count copies of given value
/// @sa https://json.nlohmann.me/api/basic_json/basic_json/ /// @sa https://json.nlohmann.me/api/basic_json/basic_json/
basic_json(size_type cnt, const basic_json& val) basic_json(size_type cnt, const basic_json& val):
m_data{cnt, val}
{ {
m_data.m_type = value_t::array;
m_data.m_value.array = create<array_t>(cnt, val);
set_parents(); set_parents();
assert_invariant(); assert_invariant();
} }
@ -4207,6 +4206,12 @@ class basic_json // NOLINT(cppcoreguidelines-special-member-functions,hicpp-spec
{ {
} }
data(size_type cnt, const basic_json& val)
: m_type(value_t::array)
{
m_value.array = create<array_t>(cnt, val);
}
data() noexcept = default; data() noexcept = default;
data(data&&) noexcept = default; data(data&&) noexcept = default;
data(const data&) noexcept = delete; data(const data&) noexcept = delete;

View File

@ -20232,10 +20232,9 @@ class basic_json // NOLINT(cppcoreguidelines-special-member-functions,hicpp-spec
/// @brief construct an array with count copies of given value /// @brief construct an array with count copies of given value
/// @sa https://json.nlohmann.me/api/basic_json/basic_json/ /// @sa https://json.nlohmann.me/api/basic_json/basic_json/
basic_json(size_type cnt, const basic_json& val) basic_json(size_type cnt, const basic_json& val):
m_data{cnt, val}
{ {
m_data.m_type = value_t::array;
m_data.m_value.array = create<array_t>(cnt, val);
set_parents(); set_parents();
assert_invariant(); assert_invariant();
} }
@ -23423,6 +23422,12 @@ class basic_json // NOLINT(cppcoreguidelines-special-member-functions,hicpp-spec
{ {
} }
data(size_type cnt, const basic_json& val)
: m_type(value_t::array)
{
m_value.array = create<array_t>(cnt, val);
}
data() noexcept = default; data() noexcept = default;
data(data&&) noexcept = default; data(data&&) noexcept = default;
data(const data&) noexcept = delete; data(const data&) noexcept = delete;