Skip to content

Commit cd0a103

Browse files
author
barcode
committed
Add and use basic_json::data(size_type, const basic_json&)
1 parent dcf69d1 commit cd0a103

File tree

2 files changed

+16
-6
lines changed

2 files changed

+16
-6
lines changed

include/nlohmann/json.hpp

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1016,10 +1016,9 @@ class basic_json // NOLINT(cppcoreguidelines-special-member-functions,hicpp-spec
10161016

10171017
/// @brief construct an array with count copies of given value
10181018
/// @sa https://json.nlohmann.me/api/basic_json/basic_json/
1019-
basic_json(size_type cnt, const basic_json& val)
1019+
basic_json(size_type cnt, const basic_json& val):
1020+
m_data{cnt, val}
10201021
{
1021-
m_data.m_type = value_t::array;
1022-
m_data.m_value.array = create<array_t>(cnt, val);
10231022
set_parents();
10241023
assert_invariant();
10251024
}
@@ -4207,6 +4206,12 @@ class basic_json // NOLINT(cppcoreguidelines-special-member-functions,hicpp-spec
42074206
{
42084207
}
42094208

4209+
data(size_type cnt, const basic_json& val)
4210+
: m_type(value_t::array)
4211+
{
4212+
m_value.array = create<array_t>(cnt, val);
4213+
}
4214+
42104215
data() noexcept = default;
42114216
data(data&&) noexcept = default;
42124217
data(const data&) noexcept = delete;

single_include/nlohmann/json.hpp

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20232,10 +20232,9 @@ class basic_json // NOLINT(cppcoreguidelines-special-member-functions,hicpp-spec
2023220232

2023320233
/// @brief construct an array with count copies of given value
2023420234
/// @sa https://json.nlohmann.me/api/basic_json/basic_json/
20235-
basic_json(size_type cnt, const basic_json& val)
20235+
basic_json(size_type cnt, const basic_json& val):
20236+
m_data{cnt, val}
2023620237
{
20237-
m_data.m_type = value_t::array;
20238-
m_data.m_value.array = create<array_t>(cnt, val);
2023920238
set_parents();
2024020239
assert_invariant();
2024120240
}
@@ -23423,6 +23422,12 @@ class basic_json // NOLINT(cppcoreguidelines-special-member-functions,hicpp-spec
2342323422
{
2342423423
}
2342523424

23425+
data(size_type cnt, const basic_json& val)
23426+
: m_type(value_t::array)
23427+
{
23428+
m_value.array = create<array_t>(cnt, val);
23429+
}
23430+
2342623431
data() noexcept = default;
2342723432
data(data&&) noexcept = default;
2342823433
data(const data&) noexcept = delete;

0 commit comments

Comments
 (0)