Skip to content

Commit 0f7e8bd

Browse files
committed
Address pr comments
1 parent 76fd252 commit 0f7e8bd

16 files changed

+161
-172
lines changed

src/attribute_collector.hpp

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ class attribute_collector {
4040
public:
4141
explicit attribute_collector(
4242
nonnull_ptr<memory::memory_resource> alloc = memory::get_default_resource())
43-
: attributes_(owned_object::make_map(0, alloc))
43+
: attributes_(owned_object::make_map(alloc))
4444
{}
4545
attribute_collector(const attribute_collector &) = delete;
4646
attribute_collector &operator=(const attribute_collector &) = delete;
@@ -50,28 +50,28 @@ class attribute_collector {
5050

5151
bool insert(std::string_view key, bool value)
5252
{
53-
return insert(key, owned_object::make_boolean(value, attributes_.alloc()));
53+
return insert(key, owned_object::make_boolean(value));
5454
}
5555

5656
template <typename T>
5757
bool insert(std::string_view key, T value)
5858
requires std::is_integral_v<T> && std::is_signed_v<T>
5959
{
60-
return insert(key, owned_object::make_signed(value, attributes_.alloc()));
60+
return insert(key, owned_object::make_signed(value));
6161
}
6262

6363
template <typename T>
6464
bool insert(std::string_view key, T value)
6565
requires std::is_integral_v<T> && std::is_unsigned_v<T> && (!std::same_as<T, bool>)
6666
{
67-
return insert(key, owned_object::make_unsigned(value, attributes_.alloc()));
67+
return insert(key, owned_object::make_unsigned(value));
6868
}
6969

7070
template <typename T>
7171
bool insert(std::string_view key, T value)
7272
requires std::is_floating_point_v<T>
7373
{
74-
return insert(key, owned_object::make_float(value, attributes_.alloc()));
74+
return insert(key, owned_object::make_float(value));
7575
}
7676

7777
template <typename T>
@@ -99,7 +99,7 @@ class attribute_collector {
9999
{
100100
auto output_object = std::move(attributes_);
101101
// Reset attributes
102-
attributes_ = owned_object::make_map(0, output_object.alloc());
102+
attributes_ = owned_object::make_map(output_object.alloc());
103103
inserted_.clear();
104104

105105
return output_object;

src/dynamic_string.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ owned_object dynamic_string::to_object(nonnull_ptr<memory::memory_resource> allo
1919
// this means alloc (the deallocator for the owned_object)
2020
// can deallocate memory from alloc_ (the allocator for
2121
// this dynamic_string)
22-
owned_object::unsafe_make_string_nocopy(buffer_, size_, alloc);
22+
owned_object::make_string_nocopy(buffer_, size_, alloc);
2323

2424
if (should_copy) {
2525
alloc_->deallocate(buffer_, capacity_, alignof(char));

src/interface.cpp

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -153,7 +153,7 @@ borrowed_object to_borrowed(ddwaf_object *ptr, nonnull_ptr<memory::memory_resour
153153
{
154154
// safety: caller is responsible for ensuring allocator matches object's memory
155155
// NOLINTNEXTLINE(cppcoreguidelines-pro-type-reinterpret-cast)
156-
return borrowed_object::create_unchecked(reinterpret_cast<detail::object *>(ptr), alloc);
156+
return borrowed_object{reinterpret_cast<detail::object *>(ptr), alloc};
157157
}
158158

159159
memory::memory_resource *to_alloc_ptr(ddwaf_allocator alloc)
@@ -266,7 +266,7 @@ DDWAF_RET_CODE ddwaf_context_eval(ddwaf_context context, ddwaf_object *data,
266266
if (!context->insert(
267267
// safety: caller is responsible to ensure that the passed
268268
// allocator can deallocate memory allocated for `data`
269-
owned_object::create_unchecked(to_ref(data), to_alloc_ptr(alloc)))) {
269+
owned_object{to_ref(data), to_alloc_ptr(alloc)})) {
270270
return DDWAF_ERR_INVALID_OBJECT;
271271
}
272272
} else {
@@ -338,7 +338,7 @@ DDWAF_RET_CODE ddwaf_subcontext_eval(ddwaf_subcontext subcontext, ddwaf_object *
338338
if (!subcontext->insert(
339339
// safety: caller is responsible to ensure that the passed
340340
// allocator can deallocate memory allocated for `data`
341-
owned_object::create_unchecked(to_ref(data), to_alloc_ptr(alloc)))) {
341+
owned_object{to_ref(data), to_alloc_ptr(alloc)})) {
342342
return DDWAF_ERR_INVALID_OBJECT;
343343
}
344344
} else {
@@ -651,7 +651,7 @@ ddwaf_object *ddwaf_object_set_string_nocopy(
651651
// allocate from it and we forget it afterwards (we just care about the
652652
// detail::object part of the owned_object)
653653
to_ref(object) =
654-
owned_object::unsafe_make_string_nocopy(string, length, memory::get_default_null_resource())
654+
owned_object::make_string_nocopy(string, length, memory::get_default_null_resource())
655655
.move();
656656
return object;
657657
}
@@ -784,7 +784,7 @@ ddwaf_object *ddwaf_object_insert(ddwaf_object *array, ddwaf_allocator alloc)
784784
try {
785785
auto *alloc_ptr = to_alloc_ptr(alloc);
786786
borrowed_object container = to_borrowed(array, alloc_ptr);
787-
owned_object new_element = owned_object::make_uninit(alloc_ptr);
787+
owned_object new_element = owned_object{alloc_ptr};
788788
borrowed_object inserted = container.emplace_back(std::move(new_element));
789789

790790
// NOLINTNEXTLINE(cppcoreguidelines-pro-type-reinterpret-cast)
@@ -802,7 +802,7 @@ ddwaf_object *ddwaf_object_insert_key(
802802
try {
803803
auto *alloc_ptr = to_alloc_ptr(alloc);
804804
borrowed_object container = to_borrowed(map, alloc_ptr);
805-
owned_object new_value = owned_object::make_uninit(alloc_ptr);
805+
owned_object new_value = owned_object{alloc_ptr};
806806
borrowed_object inserted =
807807
container.emplace(std::string_view{key, length}, std::move(new_value));
808808

@@ -821,8 +821,8 @@ ddwaf_object *ddwaf_object_insert_key_nocopy(
821821

822822
try {
823823
auto *alloc_ptr = to_alloc_ptr(alloc);
824-
auto key_obj = owned_object::unsafe_make_string_nocopy(key, length, alloc_ptr);
825-
auto value_obj = owned_object::make_uninit(alloc_ptr);
824+
auto key_obj = owned_object::make_string_nocopy(key, length, alloc_ptr);
825+
auto value_obj = owned_object{alloc_ptr};
826826

827827
// NOLINTNEXTLINE(cppcoreguidelines-pro-type-reinterpret-cast)
828828
return reinterpret_cast<ddwaf_object *>(
@@ -844,8 +844,8 @@ ddwaf_object *ddwaf_object_insert_literal_key(
844844

845845
try {
846846
auto *alloc_ptr = to_alloc_ptr(alloc);
847-
auto key_obj = owned_object::make_string_literal(key, length, alloc_ptr);
848-
auto value_obj = owned_object::make_uninit(alloc_ptr);
847+
auto key_obj = owned_object::make_string_literal(key, length);
848+
auto value_obj = owned_object{alloc_ptr};
849849

850850
// NOLINTNEXTLINE(cppcoreguidelines-pro-type-reinterpret-cast)
851851
return reinterpret_cast<ddwaf_object *>(

src/json_utils.cpp

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -66,8 +66,7 @@ class object_reader_handler
6666
: public rapidjson::BaseReaderHandler<rapidjson::UTF8<>, object_reader_handler> {
6767
public:
6868
explicit object_reader_handler(nonnull_ptr<memory::memory_resource> alloc)
69-
: alloc_(alloc), root_(owned_object::make_uninit(alloc)),
70-
key_(owned_object::make_uninit(alloc))
69+
: alloc_(alloc), root_(alloc), key_(alloc)
7170
{
7271
stack_.reserve(max_depth + 1);
7372
}
@@ -169,7 +168,7 @@ class object_reader_handler
169168
return true;
170169
}
171170

172-
return emplace(owned_object::make_map(0, alloc_));
171+
return emplace(owned_object::make_map(alloc_));
173172
}
174173

175174
// NOLINTNEXTLINE(readability-convert-member-functions-to-static)
@@ -190,7 +189,7 @@ class object_reader_handler
190189
return true;
191190
}
192191

193-
return emplace(owned_object::make_array(0, alloc_));
192+
return emplace(owned_object::make_array(alloc_));
194193
}
195194

196195
// NOLINTNEXTLINE(readability-convert-member-functions-to-static)
@@ -261,7 +260,7 @@ owned_object json_to_object(std::string_view json, nonnull_ptr<memory::memory_re
261260
const rapidjson::ParseResult res = reader.Parse(ss, handler);
262261
if (res.IsError()) {
263262
// Not interested in partial JSON for now
264-
return owned_object::make_uninit(alloc);
263+
return owned_object{alloc};
265264
}
266265

267266
return handler.finalize();

0 commit comments

Comments
 (0)